Jump to content

Snow Leopard on VMware and Disabled CPU Error


58 posts in this topic

Recommended Posts

There are issues with running Snow Leopard on VMware products with more modern CPUS such as Core i7. In an attempt to gather information and perhaps come up with a solution I want to start a new topic only for those that see the following message when starting Snow Leopard:


"The CPU has been disabled by the guest operating system. You will need to power off or reset the virtual machine at this point. "


Mac Son of Knife has already started some work on this but buried deep in other threads so this one is dedicated to this topic. If you do not see this message please post in either of these topics depending on the way you are running VMware.





The issue is when you have a 10.6.3 version of Mac OS X, where there are specific issues with new CPUs. In fact Apple re-issued 10.6.3 when the Macbook Pro and iMacs were shipped with 10.6.3. Unfortunately some of the retails DVDs are shipped as 10.6.3 which makes installing on one of these systems a PITA. IF you have a version before or after 10.6.3 then you should not have any problems. Just make sure if going from 10.6.0-10.6.2 you go directly to 10.6.4.


Now if you have a problem with this message please follow these instructions exactly so can analyse and potentially come up with a solution. Note please do not copy text into the message from some of these files, use the attachments feature when posting to upload the files.


  • Attach the VMX file from the guest
  • Attach the vmware.log file from the guest



There should be enough information about the CPUID flags to help narrow in on the problem. What would also be good is for a sample of dumps from those who have run 10.6.3 and have no problems.

  • Like 2
Link to comment
Share on other sites

Donk and I have been working on a solution to the dreaded "The CPU has been disabled by the guest operating system. You will need to power off or reset the virtual machine at this point." when using 10.6.3 with Core i7 and Xeon 5600 series processors, this probably extends to the Core i3 and i5's but have no confirmation.


As indicated we have created a CPUID Mask which in effect hides some of the physical processors features from the guest OS, normally this is used in vMotion and High Availability environments to allow guest OS's to be moved between dissimilar hardware using vCentre Server and the vSphere Enterprise products.


By comparing closely related processor families we were able to construct a CPUID Mask which retains most if not all of the host's processor functionality but circumvents Apple's tighter processor checks in 10.6.3. If you have an earlier DVD i.e. 10.6.0 or 10.6.2 then all should be fine and you can update to 10.6.4 which is also fine for Core i7 and Xeon 5600 processors.


So hopefully the solution is a straight forward addition to your vmx file either before you upgrade to 10.6.3, but unless you have an issue go straight to 10.6.4 and avoid all the pain OR once you have created your guest done the first boot but before you mount your retail OS X 10.6.3 DVD or ISO.


Add the following line to your vmx file:


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


This CPUID mask is based on the Xeon E5520 Quad Core processor, which has always worked with 10.6.3, and is closely related to the Xeon 5600 series and Core i7 series of processors. We have tested other masks that work from Core 2 Duo and Core 2 Quad processors, but settled on the Xeon E5520 due to it's close match to the problem processors.


I am sure you will let us know how you get on, thanks to Donk for his major role in producing what we hope is a fix for the 10.6.3 problem.


(Please send txt copies of your vmx and vmware log files as attachments NOT in the main body of a reply)




  • Like 2
Link to comment
Share on other sites



YOU GUYS ARE FXXXXXING AMAZING. the cpu mask worked on my workstation and I am now going to test it on ESXi. I was able to get the prompt for install. Also once I do the upgrade do i Remove the Cpu Mask or just leave it, shouldnt have much of a performance issue correct?



once again thank you guys

Link to comment
Share on other sites



Glad the CPUID Mask solved your Workstation problem, hopefully it will work in ESXi as well. Once you update to 10.6.4 remove the CPUID entry in your vmx, it may not be an issue, but why add a layer of complexity that is not required, or simply put a # in front of the entry to exclude it, that way if you have any issues it is easy to re-instate.

Link to comment
Share on other sites

Add the following line to your vmx file:


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



I just like to confirm that this works on i3. My setup is as follows:


  • VMWare Workstation 7.1.1
  • Host OS: Windows 7 x64
  • Host CPU: Intel i3-350M
  • Mac OS X Installer: Snow Leopard 10.6.3 (retail DVD)


You guys are great! Thanks for this excellent solution!


(although I'm still trying to figure out how to install VMWare Tools --- I get an error, sort of it cannot find something from the update server... gotta do more digging into the forums, i guess.. :( )

Link to comment
Share on other sites

Thanks for the update, we were fairly sure the mask would work for i3 and i5 CPU's just did not have the kit to test.


In terms of the VMware tools, the latest Fusion 3.1.1 darwin iso is available here:




If you mount this darwin iso from within VM Workstation in to your guest OS X. In OS X it should allow you to install the tools the tell tale sign is you get a VMware Shared Folders icon in the top right hand corner of the OS X desktop. But you need to enable it within the VM Workstation Virtual Machine Settings, Options, Shared Folders and add a host based path.


For further clarification read the remainder of the post, link below:



Link to comment
Share on other sites

I am having a related issue:


I'm running a Core i5-450M with VMWare Workstation 7.1.1. Whenever I close my laptop's lid and the system goes to sleep, the VM issues a "CPU has been disabled" message.


I am on 10.6.4 without the CPUID patch to the VMX file.


Have you guys any insights?

Link to comment
Share on other sites

OK, firstly the CPUID Mask is only related to 10.6.3 and the Core i Processor series you are running, once at 10.6.4 all should be fine and the mask is NOT required.


The problem you have is not really a VMware issue, it is sleep or hibernation in the Host OS (laptop) issue. I never repeat never hibernate or put my laptop to sleep especially if I have any VM's running never mind a VMware "unsupported" environment like OS X. You need to treat your VM's with extra care if your host is a laptop, suspend or shut them down before you go in to sleep or hibernation mode, then all will be well.


I set my laptop to do nothing if I shut the lid, and this is the first power setting I change when I re-build my laptop, and trust me I re-build on a very regular basis, I also disable hibernation as both these "features" mess with VM's. Sorry if this sounds a bit like preaching, but trust me these simple steps make the whole VM and laptop experience more enjoyable and less problematic, MSoK!

Link to comment
Share on other sites

Donk, MSoK,


Well, I tried the fix to get 10.6.3 Setup running, on the newly released VMware Workstation 7.1.2 build-301548.


The patch does not work. I eventually get a circle with a bar through it. Setup never runs. I am attaching the VMX file and the LOG file from the vm.


This is on a ThinkPad T510 Core i7 M620.







Link to comment
Share on other sites


I have not had a chance to check out 7.1.2 yet, but if you are using Albert's "Unlocker" there is no uninstall options, so you need to install 7.1.2 or 7.1.1 from scratch and run the windows.bat or better still use Donk's windows.cmd update.

Also I am not sure your image cdr will mount, some changes were made in 7.1.1 which stopped dmg and other images from being mounted, so you need to use the original DVD or ISO image created from it, ImgBurn will do a good job of this. I have had a look at your vmware log file and the CPUID mask is working fine, so the problem is elsewhere.

I would be tempted to stick with 7.1.1 as it works fine, until we have had a chance to check 7.1.2 out, you are adding another variable in to the equation, I will download and check out 7.1.2 ASAP and report back, MSoK.

Link to comment
Share on other sites



First, just to let you know, I already have 10.6.4 working fine. I am doing this to help debug issues for people who are receiving the 10.6.3 DVD from Apple.


A few things:


1) I used the Unlocker with the updated Windows.cmd file. I had forgotten to re-run after installing and when I tried to start my 10.6.4 system, I got a msg saying that this wasn't a OS X Server image... :-)


2) I am confident that the .CDR image works. I created the non-compressed image from the master 10.6.3 DVD using Disk Utility in 10.6.4. But, I will re-check the image again.





Link to comment
Share on other sites

  • 2 weeks later...

I have this exact setup with the cpuid mask set in the vmx file and I still see the cpu disabled error.


- Does it matter how many processors you configure? (I'm only using one).

- What are people using for the 'Guest Operating System' setting? (I've tried both Other and Other 64 bit).

- The one big question I have is what Virtualization Engine people should be using.


Thanks for any pointers!


Link to comment
Share on other sites



You need to set the guestOS = "darwin10-64" or guestOS = "darwin10" in your VMX file, otherwise you will always get the cpu disabled error, or cannot find OS error. Also you need VT-x enabled in BIOS and have installed either Donk's 310 darwin iso or used Albert's "Unlocker" (our preferred method for Workstation), and finally a retail DVD of OS X purchased from Apple.


Not quite sure what you mean by what "Virtualisation Engine" people are running can you clarify?


If you continue to have issues then attach text copies of your VMX and vmaware.log file and hopefully we will be able to get you up and running, MSoK.

Link to comment
Share on other sites

  • 4 weeks later...

Hi Guys, i seem to be getting the same "The CPU has been disabled by the guest operating system..." error when i try to install Mac OS X onto my VMWare Workstation but i have an Intel Q6600 processor rather than the i series ones you all have. I believe i am trying to install Mac OS X 10.6.4 although i will try that CPUID mask when i get home from work. Thanks.

Link to comment
Share on other sites

If you do have 10.6.4 the CPUID mask should not be required, although as far as I am aware the latest retail version available is 10.6.3 which has the problem with Core i and Xeon 5600 series processors. Your Q6600 should be fine, but by all means try the CPUID mask, and check your media is retail.

Link to comment
Share on other sites

Hi All,


Ive followed the instructions and am still getting Invalid Front-Side bus frequency 66000000 Hz disabling the CPU error.


Current setup is:


*VMware Workstation 7.1.2 build-301548

*Processor Intel® Core i5 CPU M 540 @ 2.53GHz, 2534 Mhz, 2 Core(s), 4 Logical Processor(s)

*trying to install OS 10.6.3 retail


I've applied the unlocker and also added cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101" to the .vmx file.


My VMX file is -

.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "7"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
memsize = "1024"
ide0:0.present = "TRUE"
ide0:0.fileName = "Macattack.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "E:"
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"
sound.present = "TRUE"
sound.fileName = "-1"
sound.autodetect = "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"
vmci0.present = "TRUE"
roamingVM.exitBehavior = "go"
displayName = "Macattack"
guestOS = "ubuntu"
nvram = "Macattack.nvram"
virtualHW.productCompatibility = "hosted"
extendedConfigFile = "Macattack.vmxf"
ethernet0.generatedAddress = "00:0c:29:00:84:83"
uuid.location = "56 4d f6 3c 45 7a fb d7-79 91 13 46 c6 00 84 83"
uuid.bios = "56 4d f6 3c 45 7a fb d7-79 91 13 46 c6 00 84 83"
cleanShutdown = "FALSE"
replay.supported = "FALSE"
replay.filename = ""
ide0: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"
vmci0.pciSlotNumber = "36"
vmotion.checkpointFBSize = "16777216"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "-973044605"
ide1:0.startConnected = "TRUE"
tools.syncTime = "FALSE"
tools.remindInstall = "TRUE"
numvcpus = "4"
cpuid.coresPerSocket = "2"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"


and log file

Nov 06 16:40:55.078: vcpu-0| Vix: [3892 vmxCommands.c:9705]: VMAutomation_HandleCLIHLTEvent. Do nothing.
Nov 06 16:40:55.078: vcpu-0| MsgHint: msg.monitorevent.halt
Nov 06 16:40:55.078: vcpu-0| The CPU has been disabled by the guest operating system. You will need to power off or reset the virtual machine at this point.



Not sure where to go from here.

Link to comment
Share on other sites


Not quite sure how you managed to have guestOS = "ubuntu" if you have installed Albert's Unlocker as you can select Apple Mac OS X from the New Virtual Machine Wizard, I would start again using the wizard, as you also have other required entries missing, that would be present if the VMX had been created by the wizard. Finally I would restrict your guestOS to one processor and one core per processor, at least initially. Once you are up and runnig you can add more, to see if you gain any performance advantage.


Please find below some of the key entries that are required in your VMX file:


guestOS = "darwin10-64"

smc.present = "TRUE"

ich7m.present = "TRUE"

firmware = "efi"

usb.present = "TRUE"


Also I would have the following at least initially:


numvcpus = "1"

cpuid.coresPerSocket = "1"


And the following line will be required as you have a Core i processor and a retail DVD of OS X 10.6.3 this also applies to Xeon 5600 series processors:


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

Link to comment
Share on other sites

Thanks MSOK, have recreated the vmk and amended the lines you specified. Now I can get to the shell prompt but cant change the removable device to the OSX retail cd in vmware. The option is greyed out. Also, I have set the removable CD/DVD to be SCSI and not IDE after receiving an EFI error. How do I enable the CD given its greyed out?

Link to comment
Share on other sites

Thanks MSOK, have recreated the vmk and amended the lines you specified. Now I can get to the shell prompt but cant change the removable device to the OSX retail cd in vmware. The option is greyed out. Also, I have set the removable CD/DVD to be SCSI and not IDE after receiving an EFI error. How do I enable the CD given its greyed out?

Did you use the New Virtual Machine Wizard to create your OS X guestOS, if you used the wizard the only thing you should need to add is the CPUID mask, everything else should be correct. Can I ssuggest you uninstall VMware Workstation and delete the VMware Workstation directory if is still present after you have uninstalled and re-booted. Then re-install Workstation apply Albert's Unlocker, and create a new Apple Mac OS X Guest Operating System using the Wizard. If you are not making progress I will run through the install as I have a Core i7 and retail copy of OS X 10.6.3, and do a quick guide.




Link to comment
Share on other sites

Good news, had to be something odd either with your Workstation install or the Unlocker did not install completely. One gottcha I found is you must exit Workstation before running the Unlocker otherwise it cannot update the DLL's. I will post the guide probably in a new topic when I get chance hopefully later this week.




Link to comment
Share on other sites

I have been attempting to run "Any" OSX in a vm on my windows7 laptop. I have a T6400 processor and i know that it does not have VT-x support. I continually get the Disable CPU error, and i cannot use the Macosx patch that you supplied. It continues to say that i am not allowed to run it on this machine. I just return to Windows NT setup and go from there.


Is there any specific way to get past this CPU fault even though I do not have a VT-x capable processor? I have been looking around but see nothing specific.

EDIT: by the way i have no CPUID options after applying the patch nor after importing the guest VMX.


I have looked at the tutorial to follow but it stops me at the "if you do not have vt-x" it wont work. I know there has to be a way

Link to comment
Share on other sites

Without VT-x then Albert's "Unlocker" or Donk's "darwin iso" will work, and the CPUID mask is irrelevant for your processor. Have a look at the following topic, which uses a non Vanilla kernel to remove the need for a VT-x enabled processor, but bare in mind performance is going to be a potential issue.



Link to comment
Share on other sites


  • Create New...