In my previous post, I talked about using a MacMini as an ESXi host. This has been pretty common place for a while and there are lots of great blogs already out there about it.
New in VMWare Fusion 7 is the ability to use Fusion to connect to your ESXi host. This is awesome, and of course Rich Trouton has a fantastic write up about it here
I was able to simple copy a bunch of linux VM’s from my desktop machine running Fusion 7 to my new ESXi host in a few minutes, they all copied across and came up without issue.
However when I tried to do the same with an OS X VM, I got as far as bringing up the VM’s on the ESXi host, but they would fail to completely boot leaving me at this screen
A bit of extra digging with verbose mode gave me some irrelevant information to follow which lead me down a bunch of rabbit holes that had nothing to do with the problem.
Then I came across this thread which was the winner. It turns out that there is currently an issue with Fusion uploading OS X VM’s to ESXi. It doesn’t add a needed key to the vmx file of the VM. This is the smc.present = “TRUE” key. Without this key, the VM’s fail to boot as they think they are running on non-apple hardware.
Ok so now how do we edit the vmx file for the OS X VM on the ESXi host?
What I found to be the easiest method was to SSH into the ESXi host and directly modify the .vmx file with vi
If you have the vSphere Client tools running on Windows its pretty easy to do, simply click on the ESXi host and then click on the Configuration tab then click on Properties under the Security Profile heading
We want to enable SSH so find the SSH option and start the service.
Now we can simply SSH into our ESXi host.
Once we are in the host, we want to go into /vmfs/volumes/<Name_of_your_datastore>/<name_of_your_os_x_vm>/
Inside here you will find a the .vmx file for your VM.
Unfortunately, there isn’t a nice friendly text editor like pico or nano, so time to bust out the vi cheat sheet.
Open the file with vi and add the line
smc.present = “TRUE”
Exit and quit ( :wq )
Now try firing up your OS X VM and you should be away!