I have a Mac (probably more than one), and I have a PC, but I don’t want to lug both of them all day just because I need to test my work on both of them. Since Mac does not have an official convertible Tablet version (rumor) that is powerful and useful enough, I will have to travel with my beloved Lenovo X61 Tablet.
So the question comes to “how can I run Mac OS X in my X61?”
Well, it turns out there are many solutions out in the wild via different hacks and approaches to make OS X run on a non-Apple machine:
- Multiboot – basically this is very similar to Apple’s Boot Camp. Upon booting the machine, user gets to choose what OS they want to run. It taps the raw power of the computer, offers the best performance option. Yet, there are many drawbacks:
- user can only run one OS at a time
- in most cases user also needs to download a hacked version of OS X that would bypass hardware check
- and in most cases those hacked version cannot stand an Apple Update which would unhack the OS
- the hack just would not allow me to use my tablet funciton
- the installation is tricky and lengthy, yet the solution is fragile
- Virtualize using Hacked OS. The good folks at VMWare have produced VMWare Workstation that provides the possibility of running OS within OS. There are trade off’s such as performance and choice of hardware. This means that most peripherals may have a hardtime working with the guest OS. Yet to get OS X to run in VMWare is not straight out of the box. One approach would be hacking OS X to bypass such check along with providing EFI interface to VM’s BIOS. There are many versions out there such as iDeneb, Kalway, etc. They exist somewhere in the bit-torrent world. Yet I see drawbacks with such approach:
- It is a hack on the OS, so there are missing functionalities. Some hacks make network not usable, most hacks, like the multiboot option, don’t stand well with Apple Update
- These hacks require download of a hacked OS via BT, well, right there are there legality concerns. To overcome my moral obligation, I get my own license of Mac OS X, but still, I don’t know what I am getting of Bit torrent
- Lastly, the best solution — Virtualize using a retail OS. Some dude at insanelymac.com has put up with a genius solution. Since VMWare would emulate hardware with a boot iso image at load time, modifying the boot image would open the possibility of making the environment like a genuine Apple machine, so the retail Mac OS X would work without a hitch. It turns out this works flawlessly. I tried it, and it works. There are still kinks, but I live with it:
- There is no sound support, though there are solutions out there. Some report that the sound is choppy. If really need audio function, I just use my own Mac at home, but chances of such need for me are rare.
- Screen resolution is fixed and cannot be adjusted throught System Preference setting
- Virtual machine is tied to the hardware apparently. I tried to copy my VM to another machine which uses the latest Intel Quad Core, and the VM runs miserably slow till I have decided to reinstall the whole thing. Yet, this is not much of an issue since the installation can be done within an hour (unlike XP or Vista)
The steps to create this VM aren’t all that complicated. These are what you need:
- VMWare Workstation 6.5 (you can give the free version VMWare Player a try, I don’t know if it works for building the image)
- A retail version of Mac OS X. I have tested it with the latest Leopard 10.5
- A modified boot image for VMWare.
- Extract the zip file from the link above, it should extract a few directories: booter, Darwin-32, Darwin-64
- If you are running 32-bit version of Vista/XP, you can skip this step. 64bit version would need to alter the booter\signiso.cmd file, and replace the VMWare path correctly. In most cases, you should just replace “Program Files” with “Program Files (x86)”
- Open command prompt (and run as Administrator)
- Navigate to booter directory
- Run command signiso workstation backup, if you are running VMWare Player, use signiso player backup instead
- Copy the Darwin-32 directory to where you want the VM should reside (you can try the 64-bit version, I am a little out of luck with this one)
- Open darwin-32.vmx
- Point the DVD-ROM drive to either the DVD drive or the ISO image
- Alter settings such as number of processors to suit your needs (I also use Bridged network instead of NAT because NAT is painfully slow)
- Start the VM
- Ignore the error message, when you see the first prompt, hit ESC
- Go to VM -> Cancel installation of VMWare Tools
- In the next screen, key in the value 9F and hit ENTER
- A few error messages may follow, but if all go fine, you will see a grey Apple bootup screen along with installation steps.
A few tweaks:
By default, the VM would run at 1024×768, should you wish to use a different resolution, do the following:
- Go to Application -> Utilities -> Terminal
- In the terminal prompt, type in sudo su
- Type in the password of the administrator in Mac OS X (usually the one you set the OS X up with)
- If login is successful, the prompt would end with # instead of $.
- Type in command nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
- It is a straight forward XML file. Add the following lines right after the last </string> tag:
- The sample above would set it as 1280 by 1024 32bit. There could be other values.
- Hit CTRL-X, then answer Y, hit ENTER a few times till you get back to the command prompt
- type in exit twice
- Reboot Mac OS X (it should work unless the value you modify is unsupported)
By default, hitting an ENTER key is required to boot Mac OS X. This can be bypassed with the following steps:
- Follow step 1 through 5 above
- Add the following tag to the XML file:
- Follow step 8 through 10 above. This would set an eight-second delay before OS X is automatically booted.
That’s it, my laptop now is happily running OS X and my pen is busy scribbling! Till Apple finally comes up with an elegant convertible Tablet on their own, I will have to stick with this hack. Yes yes, I know it violates Mac OS X license.
p.s. The installation steps provided above were an excerpt from the this post.