Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

JedNZ

macrumors 6502a
Original poster
Dec 6, 2015
651
249
Deep South
My cMP is running RefindPlus > OpenCore and I have Legacy Windows 11 installed on a separate SSD in one of the SATA II bays. I successfully upgraded from Windows 10 to Windows 11, and it boots beautifully from the RefindPlus boot screen.

I have Parallels 17.1.1 installed and was able to run Windows 10 from the SSD perfectly before I upgraded to Windows 11. However I'm having major issues and it simply will not run my Windows 11 system. I keep getting a UEFI Interactive Shell message and can't move forward from there as I'm not sure what I need to enter, if anything. I have played around with the settings and have restored my W10 .pvm file from a TM backup, but nothing seems to work.

Screen Shot 2022-02-22 at 21.26.48.jpg

I also get this when I tinker around

Screen Shot 2022-02-22 at 21.35.14.jpg

I've opened a ticket with Parallels, so I'll post any updates and solutions when they reply, however I'm keen to know if anyone else has got a cMP running Parallels 17.x and running Windows 11 without issues, and to check their settings so I can try and troubleshoot the problem.

One thing I can't find any information on is via the Configuration menu > Hardware setting. I'm having a hard time trying to attach/select my W11 SSD, and knowing what option to select from the Advanced > Location dropdown which lists IDE, SATA, SCSI and NVMe options.
Screen Shot 2022-02-22 at 22.35.43.jpg

If anyone knows how I would identify the right option to select for my W11 SSD, please share (e.g. SATA 0:1, SATA 0:2 etc - what do they refer to?). BTW my SSD is in SATA Bay 1. See my sig for my other system hardware.
 
My cMP is running RefindPlus > OpenCore and I have Legacy Windows 11 installed on a separate SSD in one of the SATA II bays. I successfully upgraded from Windows 10 to Windows 11, and it boots beautifully from the RefindPlus boot screen.

I have Parallels 17.1.1 installed and was able to run Windows 10 from the SSD perfectly before I upgraded to Windows 11. However I'm having major issues and it simply will not run my Windows 11 system. I keep getting a UEFI Interactive Shell message and can't move forward from there as I'm not sure what I need to enter, if anything. I have played around with the settings and have restored my W10 .pvm file from a TM backup, but nothing seems to work.

I also get this when I tinker around
If your Windows 11 is running using Legacy, why is your VM trying to use UEFI?

I guess you should start by examining the virtual hard disk to see what parts of the real hard disk it's using (inside the .pvm is a .hdd and inside that is a DiskDescriptor.xml). Do any of those parts have a Windows 11 UEFI boot loader? Does the virtual hard disk contain partitions that are not part of a real hard disk, such as an EFI partition?

Sometimes the Boot Order dialog has an option to change the BIOS type. This is usually not the case with Windows VMs?

I've opened a ticket with Parallels, so I'll post any updates and solutions when they reply, however I'm keen to know if anyone else has got a cMP running Parallels 17.x and running Windows 11 without issues, and to check their settings so I can try and troubleshoot the problem.

One thing I can't find any information on is via the Configuration menu > Hardware setting. I'm having a hard time trying to attach/select my W11 SSD, and knowing what option to select from the Advanced > Location dropdown which lists IDE, SATA, SCSI and NVMe options.

If anyone knows how I would identify the right option to select for my W11 SSD, please share (e.g. SATA 0:1, SATA 0:2 etc - what do they refer to?). BTW my SSD is in SATA Bay 1. See my sig for my other system hardware.
The location dropdown is for selecting the virtual hard disk controller that will be controlling the virtual hard disk. It is un-related to the real hard disk. Any option should work as long as the VM's OS has a driver for it. You should start with selecting the same type of hard disk controller that your Boot Camp Windows 11 uses when it's booted without VM (either IDE or SATA). That may improve the chance that Windows has a working driver (but I don't know if that's necessary - new Windows versions probably include most drivers already installed?).
 
  • Like
Reactions: JedNZ
If your Windows 11 is running using Legacy, why is your VM trying to use UEFI?
No idea - don't know if it's right, wrong, whether I've done something wrong etc.

Can't see anything about UEFI in the DiskDescriptor.xml file (see attached).

Sometimes the Boot Order dialog has an option to change the BIOS type. This is usually not the case with Windows VMs?

Boot order is set to Hard disk only.

You should start with selecting the same type of hard disk controller that your Boot Camp Windows 11 uses when it's booted without VM (either IDE or SATA).
Set to SATA 0:1

I've tried to set up a new vm from scratch (just in case the original file/settings are corrupt/the problem), and can't get anything to work.

Edited: DiskDescriptor.xml deleted.
 
Last edited:
Okay, finally sorted it.

What I didn't realise was that, because I had my old W10 configuration still loaded in the Control Centre, when I tried to create a new BootCamp installation it would not show the option to install using the BootCamp drive. But by deleting the W10 configuration (I had a copy in TimeMachine anyway) it did display the BootCamp configuration option when I tried to create a new configuration.

So I got that sorted, but when I started the configuration up I got an error message telling me "The Boot Camp partition "/dev/disk1s2" used by Hard Disk 1 is not supported." In Terminal, I issued the diskutil list command and I could see that there was an additional partition type called 0x27. A Google on this came up with an issue other users also had with that partition, and by deleting the partition they had success. So in Paragon's Hard Disk Manager utility I deleted the 0x27 partition, and started the W11 configuration up but this time I go a similar message to what I had previously got around not being able to run from that disk - sorry, didn't take a screenshot. But I went into the Configuration > Hardware and noticed that I had set the BootCamp partition with the Location as IDE 0:1, so changed that to SATA 0:1, and when I started W11 up again it worked beautifully.

Still waiting to hear back from Parallels, but I'll share the fix I found with them.
 
compare the contents of DiskDescriptor.xml with diskutil list and sudo gpt -r show -l /dev/disk1
The gpt command should say that there's a Suspicious MBR at sector 0 if it's a hybrid MBR/GPT disk (for legacy Boot Camp)

the virtual disk described by the DiskDescriptor.xml has:
- An MBR at block 0
- GPT table from block 0 to block 33
- EFI partition from block 40 to 409639
- A copy of the GPT at the end of the disk from block 3907029135 to block 3907029167

The information should match what is shown in the gpt output.
However, I don't see where the Windows partition is described. I haven't dealt with DiskDecriptor.xml files in awhile so I may be a little rusty. It might be useful to get a list of all the files of the vm with their sizes:
Code:
cd *.pvm
find . -type f -exec stat -f "%13z %N" {} \;

I think maybe this virtual disk points to the entire real disk instead of a select few partitions (you can select a subset of partitions to be used for the VM). Then the parts in the virtual disk may point to separate files that override those parts of the real disk. In that case it may be possible that Parallels has put some Windows EFI boot loader in the virtual EFI partition (not your real partition - though you can check this by mounting the real EFI in macOS and the virtual EFI in Windows and comparing the list of files).

Oh, I see you got it working. Does the new DiskDescriptor.xml match the one you sent me?

If you type "vers" in the Windows menu, and run that, it will tell you if it's using UEFI or legacy. See if the info from running the VM matches the info from booting into Boot Camp.

The BIOS setting in Boot Order I was talking about is in the Advanced... dialog where you can change the Boot Flags. Usually the BIOS setting is hidden. You can see it if you change the VM type in General settings to "Other".
 
Sorry for the delay in getting back. I've finally sent info back to Parallels to let them know how I fixed this mess, and with the hope they'll create a KB that helps other step through the problems.

Quite a few differences between the DiskDescriptor.xml files (compared in FileMerge - the not working on the left, and the working one on the right). Too complex for me to understand what's going on sorry.

But thanks for your help to sort this out. Really appreciated.

Screen Shot 2022-02-27 at 20.24.18.jpg

vers does show as Legacy, so that's all good.
Screen Shot 2022-02-27 at 20.27.58.jpg
 
Sorry for the delay in getting back. I've finally sent info back to Parallels to let them know how I fixed this mess, and with the hope they'll create a KB that helps other step through the problems.

Quite a few differences between the DiskDescriptor.xml files (compared in FileMerge - the not working on the left, and the working one on the right). Too complex for me to understand what's going on sorry.

But thanks for your help to sort this out. Really appreciated.

View attachment 1965631

vers does show as Legacy, so that's all good.
View attachment 1965632
The new DiskDescriptor.xml is simpler now because it's for a legacy boot instead of UEFI boot. The GPT tables from the start and end of the disk are removed and so is the EFI partition because none of that is needed for legacy boot.

I'm not sure why the disk sized changed from 3,907,029,168 blocks (2 TB) blocks to 976,773,168 blocks (500 GB). Is it possible the first one was pointing at the wrong disk? Do you have a 2TB disk? Maybe Parallels has flaky Boot Camp disk tracking code. It's kind of not smart for the DiskDescriptor.xml to have a disk number (disk1) since that is not guaranteed to be the same across multiple boots. Instead, it should be using partition or volume UUIDs. Well, the disk number might just be used for the file name and maybe not part of how to find the real partition for the virtual disk.

Do the id's in either DiskDescriptor.xml file match any of the UUIDs in the result of the following command?
diskutil info -all | egrep -i "name|uuid|ident|\*\*"
 
I do have a 2TB spinner, however it's in a FusionDrive with a 1TB Samsung 970 M.2 SSD. This drive contains all my User Account data (I only have admin accounts on my actual Samsung 500GB M.2 boot drive).

And yes, in the original DiskDescriptor.xml file, the UUID entry starting "070D3E72…" matches my Windows SSD. Interestingly that UUID isn't showing in the second DiskDescriptor.xml file that is now working.

1646004744470.jpeg

I'm not sure what to make of any of this (a bit over my head).
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.