Skip to content

Instantly share code, notes, and snippets.

@startergo
Last active April 7, 2024 17:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save startergo/a147c9eb453f91d7515248bbae7bedea to your computer and use it in GitHub Desktop.
Save startergo/a147c9eb453f91d7515248bbae7bedea to your computer and use it in GitHub Desktop.
Bypass Server system restrictions Virtualizing Snow Leopard

For 10.4-10.6 systems, VMware restricts the installation to only the server version. Installing the client version requires some modifications. There are two methods:

Method 1: Modify the installation image:

Add the /System/Library/CoreServices/ServerVersion.plist empty file, pretending that the server system is installing in VMware. You can use the snowyhack.sh script to process images in macOS.

#!/bin/bash
# Copyright Dave Parsons 2016
#set -x
set -e
set -E

# Check we have an input parameter
if [ "$#" -ne 1 ]
then
  echo "Usage: snowyhack.sh path_to_dmg"
  exit 1
fi

# The first argument is the path to the .app bundle (the input of the
# executable).
inputDMG="$1"
outputISO="${inputDMG%.*}.iso"

if [ ! -f "$inputDMG" ]
then
  echo "$inputDMG not found."
  exit 2
fi

echo Converting $inputDMG to $outputISO

# Clean up any shadow files
rm -f $inputDMG.shadow

# Attach DMG with shadow file 
hdiutil attach $inputDMG -shadow -nobrowse

# Enable installer to boot
touch /Volumes/Mac\ OS\ X\ Install\ DVD/System/Library/CoreServices/ServerVersion.plist

# Add startup script to fix the target VM
cp rc.cdrom.local /Volumes/Mac\ OS\ X\ Install\ DVD/private/etc/
chmod +x /Volumes/Mac\ OS\ X\ Install\ DVD/private/etc/rc.cdrom.local

# Detach the mounted installer DMG
hdiutil detach /Volumes/Mac\ OS\ X\ Install\ DVD/

# Convert to ISO using the shadow file
hdiutil convert -format UDTO -o $outputISO $inputDMG -shadow
mv -fv $outputISO.cdr $outputISO

# Clean up any shadow files
rm -f $inputDMG.shadow

The disadvantage of this method is that the installed system also needs to create a new empty file of /System/Library/CoreServices/ServerVersion.plist on the hard disk, and the system will be recognized as Mac OS X Server, so the received updates are also the Server version,although this is no problem.

Method 2: Use efi32-srvr.rom firmware.

The new version of VMware needs to be downgraded. The hardware version of the virtual machine needs to be downgraded to 10. The highest hardware version is 19, and the highest version will ignore efi32.filename/efi64.filename. Hardware versions below 10 do not support SATA, and those below 11 do not support virtual cameras. This file can be found in unlocker 207.

https://github.com/jtergogit/unlocker207/blob/master/firmware/efi32-srvr.rom

Put the file into the virtual machine folder, modify the vmx file, and add a line:

efi32.filename = "efi32-srvr.rom"

Even though this version of the firmware is very old, there is no problem with it at present.

Or use the patcher: https://github.com/ivanagui2/efi-unlocker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment