Early technology preview of x86_64 emulation

Discussion in 'Parallels Desktop on a Mac with Apple silicon' started by Mikhail Ushakov, Nov 26, 2024.

  1. feinberj

    feinberj Bit poster

    Messages:
    6
    I'm very excited to see beta support for intel VMs on Apple silicon. After quite a bit of wrangling, I managed to get one of my old Windows 10 VMs running on my M1 Air. However, it's got a lot of software on it (Oracle personal edition plus a server-based development environment), and the 8Gb memory plus 1CPU limitation prevents it from being usable. The CPU stays 100% at idle, and it crashes after an hour or two. The UI is almost completely unresponsive, and it's extremely difficult to even get Task Manager open.

    But this is just a starting point. I imagine that you will be able to raise the memory and CPU limit over time, and when you do I will try again! I am still using a 2019 Mac Pro because I need to run Intel VMs, and maybe one day you will have Intel emulation at the point where I can finally switch over to Apple Silicon.


    ---------

    Below I include some detailed notes on what I needed to do in order to get my older Windows 10 Intel VMs ready to run on my M1 Air.

    I tried launching one of my older Windows 10 VMs on my M1 Air - at first I didn't even have the option to boot the VM. I then right-clicked on the VM, chose Show Package Contents, and edited the config.pvs file inside. I set EfiEnabled to 1, so that the VM booted as EFI rather than BIOS. Once I did that, I did get the option to boot the VM. But I got a cryptic error saying that unsupported hardware was present. So, this began a rather epic journey which can be summarized in three steps:
    1) Convert boot disk from MBR to GPT (really, really hard because I had deleted the recovery partition from this VM)
    2) Convert boot mode from BIOS to EFI
    3) Convert boot disk from SCSI to NVMe

    This was quite a lot of work to figure out, but now that I know how to do it the steps are not so bad. I get the added bonus that my old VMs really are noticeably faster than before.

    I enclose below a more detailed set of notes describing what I did to accomplish the above three steps.


    1) Convert your boot partition from MBR to GPT

    https://www.windowscentral.com/how-convert-mbr-disk-gpt-move-bios-uefi-windows-10
    https://forum.parallels.com/threads/convert-bios-to-uefi-vm.354640/

    Windows -> start:
    Disk Management
    Right-click on boot drive, choose properties, then click Volumes tab.
    Does it say partition style: MBR? No good!

    Offline conversion MBR to GPT
    Settings->Update and Security->Recovery->Advanced Startup->Restart Now
    ============== YOU MAY BE MISSING YOUR WINDOWS RECOVERY PARTITION!!! ===========
    ============== If you are, use this PPT: recovery volume - how to build a new one.pptx ==========
    ============== and ====


    after rebooting
    Troubleshoot->Advanced Options->Command Prompt
    takes about a half-minute to boot to the command prompt (you will be prompted to logon as an admin)

    Once you're in the Windows Recovery DOS Prompt

    type
    mbr2gpt /validate

    then type:
    mbr2gpt /convert

    output should all be good. You will likely see "failed to update ReAgent.xml" at the bottom.

    VM WILL NO LONGER BOOT!!!!
    shut down for now. (exit from DOS, then Turn Off Your PC button)

    last step:
    right-click on the VM package in Finder, choose Show Package Contents
    edit config.pvs in bbedit

    search for EFI
    Set EFI Enabled to 1 (it will be set to 0)

    Now the VM should boot.
    After it boots up, go into Disk Management, right-click on drive, properties, Volumes.
    Partition style should now be GPT!

    Run:
    MSINFO32

    Look for BIOS Mode -> should now be UEFI

    Finally, assuming you saw "failed to update ReAgent.xml" earlier, type the following two commands:
    reagentc /disable
    reagentc /enable

    this is very quick.

    ------------
    convert boot volume to NVMe
    https://forum.parallels.com/threads/nvme-storage-controller-support-in-pd15-is-it-automatic.347744/
    with VM shut down, add a small NVMe hard disk as NVMe 1
    boot up the VM. Go into Disk Management, format the HD and assign a drive letter.
    Shut down. Set the new NVMe to NVMe2, and set the boot volume to NVMe1.
    Boot back up. Does it boot?
     
  2. AlejandroR7

    AlejandroR7 Bit poster

    Messages:
    2
    Dear Support Team,

    I have a VM with Windows 11 and the Start with Emulator option does not appear.

    Please, your help.
    Kind Regards.
     
  3. feinberj

    feinberj Bit poster

    Messages:
    6
    I had a similar problem (previous post). My VM was booting using BIOS, and the boot disk had an MBR partition and SCSI hardware. I changed my VM from BIOS to EFI, I changed the boot disk partition from MBR to GPT, and I changed the boot disk hardware from SCSI to NVMe. Then I got the Start with Emulator option. Also be sure you have the latest version of Parallels. They have added this feature to v20 only very recently.
     
    AlejandroR7 and Mikhail Ushakov like this.
  4. AlejandroR7

    AlejandroR7 Bit poster

    Messages:
    2
    Thanks for your reply. I saw your previous post and it's very interesting, I just need time to try to follow your steps.
    I managed to install a new VM with Windows 10 x86 (I had to do it from the command line):
    prlctl create vW10-x86 -d win-10 --cpu-type x86
    prlctl set W10--x86 --device-set cdrom0 --image /Users/rafa/Downloads/WIN10X64PRO.ISO --connect
    prlctl start W10--x86

    I tried some things that don't work with Windows 11 ARM and I loved being able to do it from an x86 VM on a Mac with an M processor (mine in particular is a MacBook Pro 16 M4 MAX with 64Gb of RAM and 2Tb SSD and it's my first MBP). Because it's a first released version with the limitation of just 1 CPU, everything is veryyyy slow. Hopefully the Parallels development team will continue to make progress and be able to remove that limitation of just 1 CPU.
    Returning to the problem itself, I'm going to try to install a new VM with Win 11 x86 and see if the emulator option appears as it did in the Win 10 x86 VM. I don't think the emulator option appears in the VMs I have because they are ARM versions.

    Thanks.
     

Share This Page