When it comes to running older software on current systems, Apple has a pretty poor track record. Last year’s macOS 10.15 Catalina release removed support for all 32-bit applications, including for example Lightroom 6 and Photoshop CS6. I am as result sticking with the prior release (macOS 10.14). Eventually I will probably have to upgrade and resort to running my old software in a virtual machine. As it happens, I did more or less the same dance nine years ago when Apple released MacOS X 10.7 Lion and remove the ability to run older PowerPC applications via Rosetta. Fortunately, at the time VMware’s Fusion product did allow running the prior 10.6 release, and I have relied on this more than a few times in the years since. I’m a big fan of Fusion as it allows one to test/experiment with all manned of different operating systems, without of course having to buy any hardware or risk breaking you main machine.
Installing Snow Leopard today in a Fusion VM is not particularly difficult, but I did find a few complications. Here is how I got it to work:
1) Create a Snow Leopard Server VM
Fusion doesn’t officially support 10.6, only 10.6 server. To start with, create a new VM:
- File -> New
- For the installation method, select ‘Create a custom virtual machine’
- Operating system: ‘Apple OS X’ -> ‘Mac OS X Server 10.6’
- Virtual disk can use defaults. New 40GB disk is fine.
- In the ‘Virtual Machine Summary’, click ‘Customize Settings’
- For destination, I put it in ‘Documents’ -> ‘Virtual Machines’ -> ’Snow Leopard’
- In the ’Settings’ dialog, click ‘Add Device’, select ’Sound Card’ and click ‘Add’
- Quit VMware Fusion
2) Patch the Fusion EFI boot ROMs
Fusion blocks the use of regular 10.6 (not server) in the EFI ROM. To work around this, patch it using the EFI unlocker from GitHub. Uncompress in your downloads folder. Open the Terminal and run the following two commands:
cd /Users/$USER/Downloads/efi-unlocker-master
./efi-macos.sh
If the command succeeds, you should have two new files, EFI32-MACOS.ROM and EFI64-MACOS.ROM in the efi-unlocker-master folder.
3) Modify the VM configuration
To make your VM use the modified ROMs:
- Navigate to ‘Documents’ -> ‘Virtual Machines’ in the Finder
- Right click the Snow Leopard VM, selecting ‘Show Package Contents’
- Copy the two EFI ROM files from the unlocker folder to this folder (e.g. next to ‘Snow Leopard.vmx’)
- Open ‘Snow Leopard.vmx’ in Textedit by right clicking, selecting ‘Open with’ and choosing ‘Textedit’
- Below the line reading ‘firmware = “efi”’ add:
- efi32.filename = “EFI32-MACOS.ROM”
- efi64.filename = “EFI64-MACOS.ROM”
- cpuid.1.eax = “0000:0000:0000:0001:0000:0110:1010:0101”
- Remove the line that has ‘sound.virtualDev = “hdaudio”’
- Save the file and quit Textedit
4) Install Snow Leopard
To install, all you need to do at this point is re-open VMware Fusion and show the VM which disc to use for the installer. To do so:
- In the ‘Virtual Machine’ menu go to ‘CD/DVD (SATA)’ and select ‘Choose Disc or Disc Image’
- Select your DMG file or actual DVD.
- Also in the same menu under ‘CD/DVD (SATA)’, select ‘Connect CD/DVD’
- Click the triangle in the middle of the black VM screen to start the VM
- You should soon see the Snow Leopard installation screen
- After selecting the disk to install to (easy, there should only be one), you may want to click ‘Customize’ and remove/add packages. The printer drivers and translations are large and may not be needed. Rosetta may be useful if you plan to run older PowerPC applications.
- The system will install and automatically reboot
- Complete the setup process by adding a new user etc.
5) Install VMware drivers and tools
Normally installing VMware’s drivers and tools is an easy process, but due to a bug in 10.6, you need to first install several system updates. If you do not do this, the tools installation will fail with the error ‘CSMERR_TP_NOT_TRUSTED’ in the installer log.
- Select ‘Software Update’ from the Apple Menu, click ‘Customize’ and select only the 10.6.8 combo updater. It’s around 1.1GB so download and install may take some time.
- After installation and reboot, again select ‘Software Update’ and this time select only ‘Apple Software Installer Update’.
- After this second reboot, from the ‘Virtual Machines’ menu select ‘Install VMware tools’
- The VMware tools include the ability to share folders between your virtual Mac and your real Mac (see ‘Virtual Machine’ -> ‘Sharing’
- For 10.6, the included sound drivers don’t work. To get sound, I found I needed to download the Ensoniq PCI audio driver from sourceforge and install it inside the VM.
6) Cleanup
Often the VMware disk file bloats quite a bit compared to the actual amount of data in the disk image, because when files are deleted in the Mac VM, they continue to consume space in the vmdk. The solution (which in my case reclaimed almost 6GB from a 12GB vmdk) is as follows:
- From a terminal inside the VM, assuming your VM’s drive is called ‘Macintosh HD’:
- diskutil secureErase freespace 0 “Macintosh HD”
- Shutdown the VM
- From a terminal on your Mac host, assuming your VM is named ‘Snow Leopard’:
- /Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k /Users/$USER/Documents/Virtual\ Machines.localized/Snow\ Leopard.vmwarevm/Virtual\ Disk.vmdk