Fixing “The CPU has been disabled by the guest operating system” when running OS X Lion on VMWare
My OS X Lion VMware image, which has always been working fine on my computer, a 2.53GHz Intel Core i5 HP notebook, stopped working when I migrated to a Dell Core i7 notebook. The machine would immediately stop at boot-up with the following VMware error message:
“The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.”
Troubleshooting the issue
My first thought was that the VMware patcher to enable OS X guest on Windows was somehow not executed successfully. I tried to reinstall VMware, rerun the patcher, and install different versions of VMware many times but to no avail. I finally tried to enable verbose boot using:
and the screen showed a little bit of more information, although not much useful:
There is no problem indicated by the above messages – it is simply part of the OS X boot process. The CPU was apparently halted as soon as the boot device was detected (indicated by the info ‘root device uuid is…’) without even attempting to boot further. Following a strange idea, I reverted the virtual machine to one of the previous snapshot, saved when OS X Lion was already running, and received the following warning about processor features difference:
The features supported by the processor(s) in this machine are different from the features supported by the processor(s) in the machine on which the snapshot was saved.
I chose to proceed, and guess what, my OS X booted up and functioned properly without further problems. For more than 2 weeks, due to time constraints, I simply worked with the virtual machine in that saved state, suspended it when done and reverting back to the snapshot (after saving all data) when I needed to reboot!
Solution: CPU ID masking
Recently I had some free time and determined to solve the problem completely. Following a Google search of the root device uuid message, I found this blog which describes a similar problem and the solution for VMware ESXi by editing the CPU ID:
- click on the Options tab
- click on the CPUID Mask menu item
- click Advanced
- scroll to the bottom of the window on the Virtual Machine Default tab
- under “Level 1″ set “eax” to 0000:0000:0000:0001:0000:0110:1010:0101.
I am using VMware workstation, which does not have such an option to mask the CPU ID. However, using instructions from this forum, I was able to change the CPU ID by modifying the VMX file and add the following line:
cpuid.1.eax = “0000:0000:0000:0001:0000:0110:1010:0101″
With this change, my OS X Lion booted up properly and there is no need to work with it in a saved state anymore.
But what makes OS X Lion dislike my new laptop’s processor and refuse to boot up? The fact that the unmodified virtual machine can still work on the new processor with the previously saved state implies that the processor difference is probably not critical – it was most likely a check that disables the processor if an unwelcome processor is found! With further research I realized that my new laptop processor architecture is Ivy Bridge, as compared with Sandy Bridge in my old laptop. Max OS X Lion doesn’t like Ivy Bridge architecture, and thus refuses to boot up unless the CPU ID is masked to make OS X think it’s running on a Sandy Bridge processor. What a hassle created by Apple, the virtual machine would have booted up properly and saved me precious time troubleshooting without this check.
Luckily, according to my research, this is probably not needed with Mountain Lion, since it supports Ivy bridge natively. I have not had the time to verify this, however.
USB 3.0 on VMware
On a side note, when trying to connect your USB device to the Mac virtual machine via VMware menu, you may receive the following error message:
“The connection for the USB device was unsuccessful. The device is currently in use”
When this happens, first check if the error message is telling you the truth. Stop all Windows applications that are currently using the device, reboot your laptop and the virtual machine and try again. If that doesn’t help and you’re using a new laptop with USB 3.0 ports, most likely you’ve hit a known problem – VMware does not support most USB 3.0 chips on Windows host. The Linux version does, however. This means, on Windows, you must revert back to a USB 2.0 or USB 1.1 port to avoid this error. So much for backwards compatibility!
In my case, I was lucky. My laptop has 4 USB ports, 3xUSB 3.0 ports and 1xUSB 2.0 port. I plugged the device to the USB 2.0 port and VMware was able to connect the device successfully.
Thank you so much. I was stuck for like hours. I tried to understand what you did here, but was a little confused, but with much trial and error, finally got it to work! THANKS!!!
worked! thx!
Did not work for my using AMD quad core and no hardware virtuzation in the bios. I want to code IOS apps
Hi, you would first need to patch the kernel to make it work with AMD processor. The image is meant for Intel processor only. Try to google for the AMD kernel, you'll find it.
Furthermore, if your processor does not support hardware virtualization, you will need a hardware virtualization unlocker for VMWare to make it try to run the OS X virtual machine without virtualization. I would however say that the speed of the virtual Mac without hardware virtualization will be too slow for simple tasks such as chatting or browsing, let alone to develop iOS app using xCode.
As an alternative, try to consider Hackintosh OS x86 and install Mac OS on your computer directly, if your hardware is compatible. If it works it will be stable and much more productive
It is, there is a space between the 10- and the 8. The real url should be:
http://www.cachem.fr/vmware-os-x-10-8-mountain-lion-windows-7/
Thanks a lot that helped me solve the problem..
Thank you so much, worked for me ! FUck yeah internet !
Wow – this worked instantly – Thank you so much !!!!
You need a decryption key for that
.encoding = "windows-1252"
paevm = "TRUE"
config.version = "8"
virtualHW.version = "7"
numvcpus = "4"
cpuid.coresPerSocket = "2"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
memsize = "2048"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "Mac OS X Lion.vmdk"
ide1:0.present = "TRUE"
ide1:0.autodetect = "TRUE"
ide1:0.deviceType = "cdrom-raw"
floppy0.startConnected = "FALSE"
floppy0.fileName = ""
floppy0.autodetect = "TRUE"
ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.virtualDev = "e1000"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
ich7m.present = "TRUE"
firmware = "efi"
roamingVM.exitBehavior = "go"
displayName = "Mac OS X Lion"
guestOS = "windows7"
keyboard.vusb.enable = "TRUE"
mouse.vusb.enable = "TRUE"
monitor.virtual_exec = "hardware"
monitor.virtual_mmu = "software"
nvram = "Mac OS X Lion.nvram"
virtualHW.productCompatibility = "hosted"
extendedConfigFile = "Mac OS X Lion.vmxf"
ide1:0.startConnected = "FALSE"
sound.present = "TRUE"
sound.fileName = "-1"
sound.autodetect = "TRUE"
isolation.tools.hgfs.disable = "TRUE"
sharedFolder0.present = "TRUE"
sharedFolder0.enabled = "TRUE"
sharedFolder0.readAccess = "TRUE"
sharedFolder0.writeAccess = "TRUE"
sharedFolder0.hostPath = "D:\"
sharedFolder0.guestName = "D"
sharedFolder0.expiration = "never"
sharedFolder.maxNum = "1"
ethernet0.generatedAddress = "00:0c:29:a3:d9:43"
tools.syncTime = "FALSE"
uuid.location = "56 4d 9d d2 90 27 25 ca-8b 4b 36 7c f1 a3 d9 43"
uuid.bios = "56 4d 9d d2 90 27 25 ca-8b 4b 36 7c f1 a3 d9 43"
cleanShutdown = "FALSE"
replay.supported = "FALSE"
replay.filename = ""
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "33"
sound.pciSlotNumber = "34"
ehci.pciSlotNumber = "35"
vmotion.checkpointFBSize = "134217728"
usb:1.present = "TRUE"
ethernet0.generatedAddressOffset = "0"
usb:1.deviceType = "hub"
mks.enable3d = "TRUE"
mks.keyboardFilter = "allow"
policy.vm.managedVMTemplate = "FALSE"
policy.vm.managedVM = "FALSE"
applianceView.enabled = "FALSE"
applianceView.showAtPowerOn = "FALSE"
applianceView.coverPage.name = ""
tools.remindInstall = "FALSE"
checkpoint.vmState = ""
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"
usb:1.speed = "2"
softPowerOff = "FALSE"
RemoteDisplay.vnc.enabled = "FALSE"
vmci0.present = "FALSE"
smc.present = "FALSE"
scsi0:1.present = "FALSE"
usb:0.present = "TRUE"
usb:0.deviceType = "mouse"
usb:0.port = "0"
usb:0.parent = "-1"
can anyone please help me, ive tried everything and nothing seems to work, and i keep getting the same message "The CPU has been disabled by the guest operating system. Power off or reset the virtual machine" , please help, im running on a hp evny windows 7, quad core i7, 64bit, my system is compatible, but nothing works
Are you using an AMD core? If this is the case, the patch in the article will not work. Try with an Intel core.
my processor is : Intel(R) Core(TM) i7 CPU Q720 @ 1.60GHz
i get a kernel panic as well
I replaced the nvram proper for ADM "OS X Mountain Lion.nvram"
This file I found it include in OS X Mountain Lion 10.8.3 VMware Image/OS X Mountain Lion/amd/OS X Mountain Lion.nvram
The folder amd is a hiding file.
I got the same message error: "The CPU has been disabled by the guest operating system"
It sucks . I got an AMD -FX ™ – 8350 Eight – Core- Processor – 4GHz.
I have already tried every suggest you posted . But nothing does not work.
Does anyone fixed this issue please ?
Hi, it is be rather difficult to find the AMD kernel for the vmware image of OS X. Most images on the net support only Intel processors. Keep trying and you'll find it. I did come across some AMD kernel links a few months ago but did not have the time to test it.
Thanks man it help me i have i3 ivy bridge and the same "The CPU has been disabled by the guest operating system" problem, and adding in the .vmx file the line with cpu masking solve my problem
THANK YOU AGAIN
This comment has been removed by the author.
Hi, let me know your machine configuration. Will try to do some research on this.
thanks it is working
Can you send me the code please
eng_kaddoura@yahoo.com
hmmm
seriously my message wasn't accept. im not typing it again damn it. just go to setting, options, first option, change from mac os server 64bit to mac os server…. grrr
Hi,
There is a known problem with Blogger which may sometimes discard your comment if you have to log in to your Google account first before posting. It may also happen if the account has been logged on for a while without any activity. Blogger would just then reload the page with an empty comment box after you submit the comment and whatever you have typed is lost. This is irritating for me too but so far the only workaround I know of is to type in Notepad first, then copy/paste it over
For the OS change in the VM settings, thanks for sharing your findings with me. I am sure it will help others who may still encounter the problem after editing the VMX file to enable the cpu masks following the article.
Thank you, it works really great!
Ty so much
Thank you so much!! very appreciated!!!
My PC IS Made for Hardware virtualization, But it doesn't have an Intel core i5 or i7 processor.
I remember doing this on the same PC, and I fucked around not knowing what I was doing till I fixed it, But I can't seem to remember what I did, I have tried everything and can't fix it, Tell me if you find a few new ways to fix this problem.
for AMD users
after applying the AMD kernel
enable “Boot with EFI instead of BIOS”
in Virtual Machine Settings under Options
It worked for me
Thank you soo very much! it really works awsum thanks alot… God Bless You
Hi,
I have been trying to install mac os 10.8.2 using souldev teams tutorial, in vmware.
I have used hardware bypass software in download (vmware patch) and still it shows the same error.
I also tried to add the “cpuid” code line in .vmx file and no result.
cpu- amd athlon
asus motherboard
4gb ram
windows 7 ultimate 64 bit
tried with several versions of vmware (8,9 series) and same error every where
I have been searching for the solutions since weeks and no result.
PLEASE some body help me out guys.
Thanks advance.
Very informative post thanks for such help.
Yeah! great bro. You have done great job in this post. Thanks
when installing mac os x lion 10.7 error message coming
the cpu has been disabled by the gust operating system why how to fix this i have intel core i3 4 gb ram plsss help
Hi guys, pls can someone help me out. I have been try to fix this error your CPU has been disable by the guest. Am use macOS 10.12 Sierra VMware with VMware workstation, I followed up the tutorial but I keep receiving this massage. Pls I need help
Hey
“after applying the AMD kernel”
How do I apply a kernel?
“enable “Boot with EFI instead of BIOS”
in Virtual Machine Settings under Options”
Couldnt find that either, Im assuming this appears after applying AMD kernel.
Thank you for helping a noob out
how do i apply amd kernel???
For AMD processors :
copy these lines in the virtual machine .vmx file
under that line cpuid.coresPerSocket = “2”
cpuid.0.eax=”0000:0000:0000:0000:0000:0000:0000:1011″
cpuid.0.ebx=”0111:0101:0110:1110:0110:0101:0100:0111″
cpuid.0.ecx=”0110:1100:0110:0101:0111:0100:0110:1110″
cpuid.0.edx=”0100:1001:0110:0101:0110:1110:0110:1001″
cpuid.1.eax=”0000:0000:0000:0001:0000:0110:0111:0001″
cpuid.1.ebx=”0000:0010:0000:0001:0000:1000:0000:0000″
cpuid.1.ecx=”1000:0010:1001:1000:0010:0010:0000:0011″
cpuid.1.edx=”0000:1111:1010:1011:1111:1011:1111:1111″
and that line at the end of the file
featureCompat.enable = “FALSE”
if you have any problems check this:
https://www.insanelymac.com/forum/topic/302641-guide-installing-os-x-108-1012-under-vmware-workstation-8-9-10-player-6-with-amd-host-cpu/
I got error that, your cpu has been disabled by guest operating system,while installing linux in vmware,so what i have to do plz help..
Hi there !
I want to thanks Abdallah for the good answer (AMD cpu).
I love you !
[
June 28, 2018 at 10:16 am
For AMD processors :
copy these lines in the virtual machine .vmx file
under that line cpuid.coresPerSocket = “2”
cpuid.0.eax=”0000:0000:0000:0000:0000:0000:0000:1011″
cpuid.0.ebx=”0111:0101:0110:1110:0110:0101:0100:0111″
cpuid.0.ecx=”0110:1100:0110:0101:0111:0100:0110:1110″
cpuid.0.edx=”0100:1001:0110:0101:0110:1110:0110:1001″
cpuid.1.eax=”0000:0000:0000:0001:0000:0110:0111:0001″
cpuid.1.ebx=”0000:0010:0000:0001:0000:1000:0000:0000″
cpuid.1.ecx=”1000:0010:1001:1000:0010:0010:0000:0011″
cpuid.1.edx=”0000:1111:1010:1011:1111:1011:1111:1111″
and that line at the end of the file
featureCompat.enable = “FALSE”
if you have any problems check this:
https://www.insanelymac.com/forum/topic/302641-guide-installing-os-x-108-1012-under-vmware-workstation-8-9-10-player-6-with-amd-host-cpu/
]