Is your Parrot OS installation in a Virtual Box VM? If so, you may be trying to upgrade to an entirely new OS (6.0) (which I suspect relies somewhat on different coding language). Doing so on read-only media may be where the conflicts lie; which, consequently, thwart proper installation.
Solution? You may have to wait for a new .iso with which to reflash your read-only media (download.parrot.sh/parrot/iso/) (taking care to have cloned your custom packages and settings partition, the original of which will, no doubt, be overwritten during the .iso flashing process).
Secondly, custom modifications to the working linux kernel, e.g., setting up WireGuard (https://www.wireguard.com/), should be removed prior to upgrading. Also consider that prior to upgrading, you may have to restore the original “virgin” kernel (even forcibly, if necessary), i.e., if indelible changes were made to it during custom modifications.
Once the new .iso has been flashed, then use a free Windows-based cloner like AOMEI to clone back the partition with all of your custom packages and settings.
Trying to upgrade my “Live” “Encrypted Persistence” USB installation ruined most of the Parrot OS’s operational capacity. I had to start up an older clone, update it from the damaged system’s settings by copying newly added files, emails, etc., and then reclone the updated version back to the working USB. Also, be prepared to reinstall certain proprietary drivers that are not available through standard Debian repositories (using dpkg, or whatever is appropriate for the particular installation).
Parrot OS is both an elegant and an efficient product, but its lack of testing and documentation in these circumstances – before releasing such transformative upgrades - leaves much to be desired. They won’t be getting another donation out of me until this upgrade issue on “Live,” “Encrypted Persistence” USB-based read-only media is resolved.