August 30, 2011
Update: The below was tested on Parallels Desktop 6. Commenters have reported that it doesn’t work on Parallels Desktop 7. I’ll be taking a closer look at some point.
One bit of under-the-radar good news in Lion is that Apple has changed the licensing terms of their End User License Agreement: they now permit you to run Mac OS X, either the regular or Server version, on up to two virtual machines, as long as they are running on Mac hardware. In Snow Leopard, only the Server version was permitted to be virtualized.
However, there’s now a very good reason to want to run Snow Leopard in a VM: Lion doesn’t support PowerPC applications. So having Snow Leopard around would allow you to continue to use these older applications. Parallels only lets you install the Server version of Snow Leopard.
But a while ago someone figured out that if you can get a Snow Leopard installation into a virtual HD, and create an empty file called /System/Library/CoreServices/ServerVersion.plist, it would boot. So the trick is to figure out how to get Snow Leopard into a Parallels virtual HD (.hdd file). Another person figured out that if you installed Snow Leopard Server first, and from there installed standard Snow Leopard, that would work; but what I wanted was not have to install Snow Leopard Server first, or in fact need it at all.
So I figured out a couple of methods. They have been tested with Parallels Desktop 6 but ought to work equally well in VMWare Fusion or Oracle VirtualBox. One method is faster, but requires a Snow Leopard Server install disc, though not a license key for it. (This might apply if your license key expires after a certain date, or is already in use on another machine; you won’t actually be installing Snow Leopard Server.) The other way requires only a regular Snow Leopard DVD, but also needs an 8 GB flash drive and it takes longer. I’ll explain the first way here, and the second way tomorrow.
(Keep in mind that it’s only me, Ivan Drucker, and not IvanExpert the company, explaining how to do this, and I’m not recommending it. Since the release of Lion, it’s now a murky area as to whether doing this is kosher per Apple’s EULA. I am not a lawyer, I am not responsible for anything that happens, etc, etc.)
If you have a Snow Leopard Server DVD:
- Use Disk Utility to make disk image files from both the Server DVD and the standard Mac OS X DVD.
- Create a new VM. Choose “Continue Without Disc” and then choose “Mac OS X Server 10.6″ as the type of virtual machine, and select “Customize Settings Before Installation”.
- In the configuration window, click on Hardware. Click on CD/DVD and assign the Snow Leopard Server disk image to it.
- Add another virtual CD/DVD drive, and assign the standard Snow Leopard disk image to it.
- Click Hard Disk 1. This will be your Snow Leopard virtual HD. If you want it to be larger than the default which Parallels created, either edit it, or just delete the drive and add back a new one.
- Click OK and start the VM. Snow Leopard Server Install will start up. Click until you get to the screen where it asks which hard disk you want to install to.
- Go to the Utilities menu and choose Terminal. On a single line, including the single quote marks, type: cd ‘/Volumes/Mac OS X Install DVD/System/Installation/Packages’
- Type: installer -verbose -pkg OSInstall.mpkg -tgt ‘/Volumes/Macintosh HD’ (explained here)
- Snow Leopard will begin installing to the virtual HD. You will see nothing but “Installing Files” and other notices for a while, possibly over an hour.
- Type: touch ‘/Volumes/Macintosh HD/System/Library/CoreServices/ServerVersion.plist’
- Type: shutdown -h now
That should be it. Fire up the virtual machine, and you should be running the regular version of Snow Leopard.
One thing to be aware of is that the presence of the file /System/Library/CoreServices/ServerVersion.plist causes at least two side effects: A) Software Update won’t offer you many updates that it is supposed to, and B) the Sharing system preference pane hides many of its settings.
So before using either, you should remove that file, but be sure to put it back when you’re done, or the VM won’t start up. If you do find yourself in that situation, booting from the the Snow Leopard Server disk image, opening Terminal, and then typing the commands in steps 10-11 above should fix it. This blog post also suggests a script which takes care of creating and deleting it automatically; I haven’t (yet) tried it.
Ok: tomorrow I’ll explain how to do it without needing the Server disk.