Pass real Mac details to VM Part 1

This is a copy of my post at InsanelyMac which I will keep updated with new discoveries.

Here are some new VMX settings that will help you make OS X running in VMware look more like a real Apple Mac. I have only tested on Workstation 10 running on Windows 7, so I cannot guarantee that this will work with other VMware versions and OS. These settings may help overcome some issues such as running the Messages application. If you check the system details before making these changes this is what you can expect to see.

and from ioreg utility:

Let’s swap these out for some genuine looking Apple settings.

Firstly, you need to have a running OS X guest and a copy of Chameleon Wizard to generate the relevant IDs. I also suggest you take a snapshot first just in case you make a mistake.

Step 1 – Create unique identifiers

This step is only needed if you do NOT want to pass the real hardware definitions to the guest OS.

Fire up your OS X guest and run the downloaded copy of Chameleon Wizard in the guest. We are not going to be using the Chameleon boot loader just using the wizard’s capability to generate various identifiers such as serial number and board-id.

Click on the SMBIOS button:


Select Edit:


Select a model and other parameters to generate a spoof ID:


In this example I have created a MacBook Pro 6.1 with a re-manufactured serial number. Please do not re-use these but generate your own to make sure everything you do is unique. The 3 pieces of information you need to copy to the host are:

  • Product Name
  • Board Product
  • Serial

Now close down the guest ready for the next step.

Step 2 – Edit the VMX file

Open the VMX file for your guest in a text editor but make sure the guest is powered off.

If you want to pass all the properties of the real Apple hardware to the OS X guest then add these lines to the VMX file:

If you want to spoof a different machine add the following lines using the example output from above:

Make sure you do not have any duplicate lines or VMware will not load the guest and give you a dictionary error message. The “board-id.reflectHost¬†” is normally added from the new VM wizard and set to true so make sure you set it to false if passing fake details.

Save the VMX file start the guest.

Step 3 – Check the system

You should now be able to use the “System Information” application to see that the guest is using the product and serial number you specified.

Here is a small script file which can be run from Terminal to get all 3 parameters. To use copy to the guest and make executable with chmod.

Here is the output from the script showing the specified IDs.

Hope this helps.