I finally discovered how to run Mac OS X 10.6 Snow Leopard in a virtual machine after I was caught off guard that Mac OS X 10.7 Lion no longer supports Rosetta, Apple’s technology for seamlessly running PowerPC applications on Intel processors. I have enough PowerPC applications (like The Print Shop, my old copy of PhotoShop, and my scanner driver) that I was not going to upgrade to Lion on my home computer, but since I have successfully installed Snow Leopard in a virtual machine, I think I will take the plunge after all (and thanks to this Front Row hack also).

Installing Snow Leopard in a Virtual Machine

I followed these instructions on OS X Daily which were for installing a developer release of Lion, but it worked for Snow Leopard as well.

This seems to be the secret for installing 10.6 in a virtual machine: you need to trick OS X into thinking you have the server version of it by creating an empty file at /System/Library/CoreServices/ServerVersion.plist on the installer DVD and on the final hard drive image. All the steps lead up to and support this insight.

My experience differed slightly from the instructions above, so here are some comments:

Their Step 1. I had to make a 7GB disk for Snow Leopard instead of the 5GB disk that Lion needs. I think I made the Image Format “read/write” instead of “DVD/CD master,” but I cannot remember.

Their Steps 3–4. I just “restored” the entire Snow Leopard Installer DVD image, since Snow Leopard was not a App Store download.

Their Step 5. I did not find, and thus did not copy, any kernelcache file.

Their Step 6. I did not remove any System/Installation/Packages file or copy any packages. “Restoring” the DVD image was sufficient to get the information onto the new disk image.

Their Step 9. I did nothing with any nvram files.

Result

I now have Snow Leopard running in a virtual machine inside of Lion. I have found that after 10–15 minutes of inactivity in Snow Leopard that it seems to freeze up. I do not know if this is an issue with Lion, VMWare, or Snow Leopard.

Update. Solution is here: Disable sleep, etc. in Energy Saver.