Installing Parrot OS Security Edition Guest on Apple Silicon

Discussion in 'Linux Virtual Machine' started by NSAbject, Oct 20, 2023.

  1. NSAbject

    NSAbject Junior Member

    Messages:
    11
    I recently figured out how to install Parrot OS Security Edition in a Parallels VM on Apple Silicon. It's something I've been tinkering with for a while, and I thought I'd share how I did it since I've seen some posts by people looking for help with it.

    The process below may look like a lot of steps, but if you are comfortable using the command line it only takes a few minutes. It will probably save you time compared to installing the Architect Edition and then trying to configure it like the Security Edition.

    1. Install Homebrew if you don't already have it. https://brew.sh/
    2. Use Homebrew to install qemu by entering the following command in your Terminal: brew install qemu
    3. Download the utm file of the Parrot OS Security Edition from https://www.parrotsec.org/download/
    4. Unzip the downloaded file. This will produce a directory named for the downloaded Parrot OS version followed by ".utm". For example: Parrot-security-5.3_arm64.utm
    5. There will be a folder called Data inside the folder you just unzipped. It contains a .qcow2 file. Move it to your Parallels directory, /Users/YourName/Parallels, so you're not working in deeply nested folders.
    6. Use qemu to convert the qcow2 file to a VirtualBox virtual hdd. Open your terminal and enter cd ~/Parallels to go to your Parallels folder, where you just moved the qcow2 file. Run the following command: qemu-img convert -f qcow2 -O vdi LONGSERIESOFCHARACTERS.qcow2 ParrotOS.vdi. ParrotOS.vdi will be created in your Parallels folder. (Replace LONGSERIESOFCHARACTERS in the command with the actual name of the qcow2 file.)
    7. Open Parallels and make a new VM. Select "install from an image file", then select "Continue without a source", and click Continue.
    8. Choose either Debian GNU Linux or Other Linux as the Operating System. I chose Debian since Parrot is derived from Debian, but I suspect Other Linux will work just fine.
    9. Name it ParrotOS and select "Customize before installation". Click Continue. You should see ParrotOS.pvm appear in your Parallels folder.
    10. Back to the Terminal. Run the following command to convert the VirtualBox hdd to a Parallels HDD: prl_convert /Users/YourName/Parallels/ParrotOS.vdi --dst=/Users/YourName/Parallels/ParrotOS.pvm/ParrotOS.hdd --allow-no-os --stand-alone-disk. This will produce a file called ParrotOS.hdd in the VM you just created.
    11. Back to the VM configuration window. Go to Hardware > Hard Disk, and select the .hdd file you just created.
    12. Close the configuration window and click Continue. You will see a warning that says there is no OS on the virtual HDD. This is a lie. Click OK.
    13. On the BIOS screen in the VM, go to Boot Maintenance Manager > Boot Options > Add Boot Option > Long Volume UUID Name (The only option for me) > EFI > parrot > grubaa64.efi. Select it.
    14. Enter the description. I called it GRUB Bootloader. Select Commit Changes and Exit
    15. Go to Change Boot Order and move GRUB Bootloader to the top. Commit Changes and Exit.
    16. Go back to the main BIOS screen. Select Continue.
    Parrot OS Security edition will now boot up, and you can start using it immediately.

    Credit goes to user Doug_Joseph, who's shared that a UTM vm can be converted to a Parallels VM in this thread: https://forum.parallels.com/threads/possible-to-convert-utm-vm-to-parallels-vm.360367/#post-921353

    Credit also goes to this poster who shared the correct method to convert a vdi to a Parallels hdd when there is no OS detected: https://forum.parallels.com/threads/prl_convert-allow-no-os.359613/#post-912853. This was tricky as the command was failing for me without the --stand-alone-disk option, but unfortunately, that option isn't documented.

    Enjoy.
     
  2. denjipo

    denjipo Bit poster

    Messages:
    1
    Fist of all u rock dude!! This is the only source ive found talking about running parrot os on apple silicon !!..I followed every step and they all worked no problem but i ran into an issue while trying to add a boot option..In your explanation u say 'Add Boot Option > Long Volume UUID Name (The only option for me) >' but nothing shows up for me after i 'click add boot option'..Ill attach a screenshot to show what it shows but id really appreciate if anyone could help id really appreciate it
     

    Attached Files:

  3. NSAbject

    NSAbject Junior Member

    Messages:
    11
    I suspect that something went wrong during the process of converting and saving the .vdi file as an .hdd file in the VM. The prl_convert tool seems a bit fragile. I had to use absolute paths to get the file to end up in the right place. It's also possible that when you selected the .hdd, you accidentally selected the original one. When the VM is created, it will have an hdd called ParrotOS-0.hdd, but the one we're creating is simply called ParrotOS.hdd. In either case, I suspect that the correct HDD is actually not mounted.

    I made a video of the process, which might fill in any gaps in my written instructions. And I don't know if this makes a difference, but I'm using Parallels Pro Edition. I can't think of why that would matter though.

    I hope the video helps.
     

Share This Page