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

5.00 avg. rating (94% 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 (94% 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.

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

  • September 20, 2013 at 12:33 pm
    Permalink

    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!!!

    Reply
  • October 8, 2013 at 5:28 pm
    Permalink

    Did not work for my using AMD quad core and no hardware virtuzation in the bios. I want to code IOS apps :(

    Reply
  • October 8, 2013 at 5:33 pm
    Permalink

    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 :)

    Reply
  • December 7, 2013 at 5:29 pm
    Permalink

    Thanks a lot that helped me solve the problem..

    Reply
  • December 17, 2013 at 2:21 am
    Permalink

    Thank you so much, worked for me ! FUck yeah internet !

    Reply
  • December 23, 2013 at 5:26 pm
    Permalink

    Wow – this worked instantly – Thank you so much !!!!

    Reply
  • January 6, 2014 at 10:07 pm
    Permalink

    You need a decryption key for that

    Reply
  • January 13, 2014 at 1:37 pm
    Permalink

    .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"

    Reply
  • January 13, 2014 at 1:38 pm
    Permalink

    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"

    Reply
  • January 13, 2014 at 1:44 pm
    Permalink

    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

    Reply
  • January 13, 2014 at 1:46 pm
    Permalink

    Are you using an AMD core? If this is the case, the patch in the article will not work. Try with an Intel core.

    Reply
  • January 13, 2014 at 2:00 pm
    Permalink

    my processor is : Intel(R) Core(TM) i7 CPU Q720 @ 1.60GHz

    Reply
  • January 13, 2014 at 2:29 pm
    Permalink

    i get a kernel panic as well

    Reply
  • March 14, 2014 at 8:09 am
    Permalink

    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.

    Reply
  • April 16, 2014 at 8:49 pm
    Permalink

    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 ?

    Reply
  • April 17, 2014 at 12:21 am
    Permalink

    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.

    Reply
  • June 23, 2014 at 11:50 pm
    Permalink

    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

    Reply
  • June 26, 2014 at 9:29 pm
    Permalink

    This comment has been removed by the author.

    Reply
  • June 26, 2014 at 9:32 pm
    Permalink

    Hi, let me know your machine configuration. Will try to do some research on this.

    Reply
  • November 22, 2014 at 3:07 pm
    Permalink

    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

    Reply
  • November 22, 2014 at 11:59 pm
    Permalink

    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.

    Reply
  • January 9, 2015 at 5:18 pm
    Permalink

    Thank you, it works really great!

    Reply
  • February 13, 2015 at 11:03 pm
    Permalink

    Thank you so much!! very appreciated!!!

    Reply
  • February 17, 2015 at 4:47 am
    Permalink

    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.

    Reply
  • May 22, 2015 at 11:21 am
    Permalink

    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

    Reply
    • February 26, 2017 at 2:48 pm
      Permalink

      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 :)

      Reply
  • July 8, 2015 at 3:25 pm
    Permalink

    Thank you soo very much! it really works awsum :) thanks alot… God Bless You :)

    Reply
  • July 9, 2015 at 5:13 pm
    Permalink

    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.

    Reply
  • January 4, 2016 at 4:17 am
    Permalink

    Very informative post thanks for such help.

    Reply
  • January 4, 2016 at 4:20 am
    Permalink

    Yeah! great bro. You have done great job in this post. Thanks

    Reply
  • February 19, 2016 at 4:54 pm
    Permalink

    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

    Reply
  • December 25, 2016 at 6:01 am
    Permalink

    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

    Reply

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>