Jump to content
Donk

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.

 

http://www.insanelymac.com/forum/index.php?showtopic=172474

http://www.insanelymac.com/forum/index.php?showtopic=220750

 

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.

Share this post


Link to post
Share on other sites
Advertisement

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)

 

Cheers,

MSoK.

Share this post


Link to post
Share on other sites

MSOK and DONK,

 

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

Share this post


Link to post
Share on other sites

Surtur,

 

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.

Share this post


Link to post
Share on other sites
Add the following line to your vmx file:

 

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

MSoK.

 

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

Share this post


Link to post
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:

 

http://rapidshare.com/files/419946403/darwin311.iso.html

 

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:

 

http://www.insanelymac.com/forum/index.php...t&p=1550928

Share this post


Link to post
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?

Share this post


Link to post
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!

Share this post


Link to post
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.

 

Pierre

 

post-661579-1285464344.jpg

Snow_Leopard_10.6.3.vmx.txt

vmware.log.txt

Share this post


Link to post
Share on other sites

Pierre,

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.

Share this post


Link to post
Share on other sites

MSoK,

 

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.

 

Thanks,

 

Pierre

Share this post


Link to post
Share on other sites

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!

Ron

Share this post


Link to post
Share on other sites

Ron,

 

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

freckleface,

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"

Share this post


Link to post
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?

Share this post


Link to post
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.

 

Cheers,

MSoK!

Share this post


Link to post
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.

 

Cheers,

MSoK.

Share this post


Link to post
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

Share this post


Link to post
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.

 

http://www.insanelymac.com/forum/index.php...t&p=1288448

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×