Fixing “The CPU has been disabled by the guest operating system” when running OS X Lion on VMWare

5.00 avg. rating (95% score) - 2 votes

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:

sudo nvram boot-args=”-v”

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:

- edit the VM settings with the VM powered off
- 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.

5.00 avg. rating (95% score) - 2 votes
ToughDev

ToughDev

A tough developer who likes to work on just about anything, from software development to electronics, and share his knowledge with the rest of the world.

92 thoughts on “Fixing “The CPU has been disabled by the guest operating system” when running OS X Lion on VMWare

  • September 6, 2012 at 2:43 am
    Permalink

    Thank you so much. I was struggling with this exact issue (the CPU one) and this solution worked perfect. Thanks!

  • September 7, 2012 at 4:12 am
    Permalink

    Thank you very much :D Finally I found how to solve :)

  • September 19, 2012 at 9:43 pm
    Permalink

    I have the same problem.. but I´m not able to solve it yed.. even doing this :s

  • October 11, 2012 at 9:48 pm
    Permalink

    Hi,
    I followed your instructions, but i didn't know what you meant by:
    - click on the CPUID Mask menu item
    I couldn't find that item.

  • October 11, 2012 at 9:50 pm
    Permalink

    Hi Lucas,

    The instructions you tried are meant for VMware ESXi only. They have options to change the CPU masks from the virtual machine settings. If you using other versions of VMWare such as VM Workstation, you will need to manually modify the VMX file as per the instructions in the article.

    Let me know if this helps.

  • October 11, 2012 at 10:30 pm
    Permalink

    Now I see, I hadn't read good enough.
    I've added the line " cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101" "
    but I still get: The CPU has been disabled by the guest operating system

    more info: I have an AMD processor, maybe that's the cause of the problem.

  • October 16, 2012 at 2:10 am
    Permalink

    I write this to all the people who have VMWare workstation. If when you start mac os x on VMware you get this error : "the cpu has been disabled by the guest operating system. Reset or power off the virtual machine", I have the solution to your problem =D ! It can come from two things
    - 1: Your BIOS is not configured for virtualization, go to this link : http://download.microsoft.com/download/1/9/F/19FD407F-A7E9-4393-A845-D0B1F539678E/havdetectiontool.exe
    Save the software on your pc, launch it. If it say : "This computer does not have hardware-assisted virtualization" or "Hardware-assisted virtualization is not enabled on this computer"
    go to this link and follow instructions :
    http://www.sysprobs.com/disable-enable-virtualization-technology-bios
    If it say : "This computer is configured with hardware-assisted virtualization" go second possibility below =)
    - 2: You have an intel core i5 or i7 processor, in this case, for install mac os x on VMware follow this tutorial wich work for me :
    http://www.cachem.fr/vmware-os-x-10-8-mountain-lion-windows-7/
    I'm French xD I hope to have helped you =D
    Alexxx

  • October 16, 2012 at 9:31 am
    Permalink

    Alex, thanks for sharing your knowledge with me. I am sure the detailed steps to install Mountain Lion on VMWare on your website will help many others. :)

  • October 21, 2012 at 3:14 am
    Permalink

    Thanks a lot

  • October 26, 2012 at 9:46 am
    Permalink

    can you make a video on youtube on how to fix it?

  • October 31, 2012 at 12:56 pm
    Permalink

    You have to open the file using readme and paste that line at the end

    cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"

  • November 3, 2012 at 4:09 am
    Permalink

    really thax I'm seeking for the solution from last 3 month and you gave me the right solution

  • November 12, 2012 at 11:57 am
    Permalink

    Thanks! Upgraded to ivy and couldn't figure out what went wrong.

  • November 13, 2012 at 12:36 am
    Permalink

    i came across this article when trying to connect a scanner (scansnap 1500) to a vm in vmware workstation. vmwre said "the device is currently in use".

    your statement that vmware workstation does not support usb 3.0 inspired me to try another port on my workstation (usb 2.0) and the scanner came up right away.

    so i am saying THANKS and also posting keywords here to make it easier for the next person to find a solution for this issue, which i think applies USB devices in general.

    again thanks for sharing.

  • November 14, 2012 at 1:29 am
    Permalink

    Thanks for sharing with me :)

  • November 14, 2012 at 2:44 am
    Permalink

    sorry guys i'm really newbie about vmware and i have the same error:
    -The CPU has been disabled by the guest operating system" when running OS X Lion on VMWare

    the really problem is that i can't find the file that i need to modify with add this: cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"

    were is that file???? i'm crazying…really… :-((

  • November 14, 2012 at 4:23 am
    Permalink

    i'm find it and modified too, but i have the same error yet…..
    thanks…

  • November 14, 2012 at 5:45 pm
    Permalink

    i can't solve this error message.
    -i have AMD Athlon II 640 on 880GA-UD3H
    -virtualization enabled on bios
    -using VMware workstation 8.0.1
    -i wanna try to emulated mac os 10.8 lion
    -i try to insert the line suggested on vmx configuration file
    but don't work….
    anyone can help me? thank a lot
    Luca

  • November 16, 2012 at 10:06 am
    Permalink

    You need to enable verbose boot on your VM Mac to see what is really the problem. Boot up from a Mac OS Installation DVD, mount the Mac hard disk partition and edit boot.plist. After that, see what information you have and Google or post it here :)

  • November 17, 2012 at 7:20 am
    Permalink

    I'm finding this problem all over the place regarding the "The CPU has been disabled by the guest operating system. Power off or reset the virtual machine." error with AMD processors. This problem has obviously been solved by the solution above with the Ivy Bridge processors, but the AMD such as the FX line which I have, has not been solved yet. I think this is the big difference between those you have fixed the problem and those of us who are still struggling?

    I don't have the expertise to figure this out, but if someone with this AMD processor issue does have the expertise, we would all GREATLY appreciate your work around.

    Thanks!

  • November 17, 2012 at 11:46 am
    Permalink

    For those who still have the above problem after making the VMX fix, check if you are on an AMD CPU. If so, you will need a patch kernel for OS X Lion/Mountain lion to boot properly. You can either download the patched kernel and apply it yourself or download a different image with the kernel already patched to support AMD.

    To add on, changing the CPU mask as suggested in the article will only change the model that the CPU will report to the OS, and not its behavior. So OS X thinks that it is on an Intel CPU and send instructions which may not be compatible with the AMD CPU, causing the problem.

  • November 18, 2012 at 5:16 am
    Permalink

    Hi MD sorry but i can't resolve my problem i dont understand how i do to "You need to enable verbose boot on your VM Mac to see what is really the problem. Boot up from a Mac OS Installation DVD, mount the Mac hard disk partition and edit boot.plist." sorry but im really newbie and my english is very poor…
    can u help me?
    -i have AMD Athlon II 640 on 880GA-UD3H
    -virtualization enabled on bios
    -using VMware workstation 8.0.1
    -i wanna try to emulated mac os 10.8 lion on win7
    thanks again, bye!

  • November 18, 2012 at 5:36 am
    Permalink

    Friends with Ivy Bridge Processors need to copy the line
    cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"
    at the end of their existing vmx file(by opening the file in Notepad) in VMWare Workstation.

    Thanks a lot 'MD', without your research I would have not been able to proceed.

  • November 25, 2012 at 12:39 am
    Permalink

    I have the same problem. I am on an AMD CPU.
    I'm looking for a new patch kernel for OS x Lion to test it.

  • November 28, 2012 at 6:30 am
    Permalink

    I can say that I have an ivy bridge CPU (I7 3770K) , and I did NOT have to add the line below to the vmx file, and the Virtual Machine with Mac OS X 10.8 booted up just fine:

    cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"

    My struggle is still with an AMD CPU giving the error "The CPU has been disabled by the guest operating system. Power off or reset the virtual machine." If someone knows where the patch is found, please post it. If I find an answer, I'll post it.

  • December 2, 2012 at 3:34 am
    Permalink

    Thank you so much. This solution worked perfect. Thanks! Thanks! Thanks! Thanks! Thanks! Thanks! Thanks!

  • December 7, 2012 at 12:55 am
    Permalink

    Guys, where is that file you need to add the line?
    And for the AMD, what exactly need to be done?

  • December 12, 2012 at 8:33 pm
    Permalink

    I have the same "cpu halt" error. Tried with Lion/Mountain lion, and the same. I've added the cpuid line and that doesnt resolve my issue.

    Any other suggestions?
    Thanks in advance.

  • December 18, 2012 at 3:13 am
    Permalink

    there is no VMX file in my files so where are they l am using VMware Workstation 9 so if you know please message me
    thanks

  • December 27, 2012 at 11:42 am
    Permalink

    This comment has been removed by the author.

  • January 8, 2013 at 3:47 am
    Permalink

    Unfortunately AMD users won't be able to make this work at all on Mountain Lion.

    Too bad, really!

  • January 8, 2013 at 10:41 am
    Permalink

    plz help add me on skype if u have it wayne.raab
    i can not get anything

  • February 15, 2013 at 9:12 pm
    Permalink

    Hello MD, i followed your instructions on going to this link

    http://download.microsoft.com/download/1/9/F/19FD407F-A7E9-4393-A845-D0B1F539678E/havdetectiontool.exe

    if u had that 1st problem when i went to download it it said it only works for windows 7 and windows xp i have windows 8 and it didnt work for me can you help me? its still saying the same thing http://download.microsoft.com/download/1/9/F/19FD407F-A7E9-4393-A845-D0B1F539678E/havdetectiontool.exe

  • March 15, 2013 at 11:35 am
    Permalink

    hello MD,

    i have a same problem with CPUID, i have put a string in VMX file already, but it still not work. I use a intel CPU core i7. Please have some advise for me.

    Thank

  • May 10, 2013 at 11:16 pm
    Permalink

    Hi Friends,
    I found only VMX86.sys file, but it is encoded in character even when you insert the code number on the last line does not change anything.
    Is this the correct file?

  • May 11, 2013 at 2:50 pm
    Permalink

    That is the wrong file. The vmx file contains purely text and can be edited with any common text editor such as Notepad or Notepad++

  • May 22, 2013 at 7:33 pm
    Permalink

    "What a hassle created by Apple"

    I would say it was your decision to use an Ivy Bridge computer that cause the issue in the first place, not Apple. When Lion was released there was no Ivy Bridge and so Lion would possibly have problems with it (if you use OSX you should be aware of this). The latest version of Lion, 10.7.5, was released after the debut of Ivy Bridge processors and the first Ivy Bridge Macs and so it has support for Ivy Bridge. If you so insist on using Lion with your PC then go find a VMware 10.7.5 image.

    Personally I am using a Z77 motherboard but I still use a Sandy Bridge Core i7 2600K in order to avoid VMware problems with Ivy Bridge processors. I won't use Ivy Bridge since their performance improvements compared to comparable Sandy Bridge processors is minimal anyway and there are potential problems with VMware, not just with using OSX guests.

    But I believe you have already migrated to using either Lion 10.7.5 or Mountain Lion 10.8.x images already?

  • June 10, 2013 at 6:22 pm
    Permalink

    Its work for me, excellent. Thank you.

  • June 29, 2013 at 11:41 pm
    Permalink

    Thank you, it works!

  • July 19, 2013 at 1:45 am
    Permalink

    Hi folks,
    I am facing the same error message "The CPU has been disabled by the guest operating system. You will need to power off or reset the virtual machine at this point."
    I am getting this msg while setting up a fresh vm guest os BackTrack 5RC3 32bit(linux)
    I also tried with editing vmx file adding the entry cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101" at the last but faced the same error msg.
    My host system is Win7 64bit.
    Processor: i7 3770K
    RAM: 8GB

  • July 19, 2013 at 9:42 pm
    Permalink

    Hello Guys,

    I'm working on a Intel PC Processor and I am still having the same problem mention in this blog.

    I've tried all the given advices but I continue seeing the same error.

    I need a real solution please!

    Thank you.

  • July 26, 2013 at 1:35 am
    Permalink

    Thank you From México!!!

    Working OK.

    Without your help, do not know how long it would have taken to resolve

  • July 31, 2013 at 4:55 pm
    Permalink

    Thanks a lot it works fine 100% but we should mention that the line of code which we're adding should be on the file Mac OS X Lion.vmx itself after editing it.
    I am using Corei5 Win.8
    Once more thanks my friend for the help

  • July 31, 2013 at 7:14 pm
    Permalink

    the line of code which we're adding should be on the file Mac OS X Lion.vmx itself after editing it.

  • August 8, 2013 at 4:52 pm
    Permalink

    Windowds 8, AMD 8350, 16GB ram, VMware8 (and 9), giving CPU has been disabled by the guest…
    I tried all the images, and iso available…

    iq0099@yahoo.com

    Regards

  • August 24, 2013 at 1:57 pm
    Permalink

    Any help!?

  • September 4, 2013 at 9:28 pm
    Permalink

    This worked perfectly to solve my same error on my Mountain Lion VM and I am running a I7-4700HQ Processor. Thankyou so much

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>