Forcing Snow Leopard OS X to Boot 64 Bit Kernel

Apple touts Snow Leopard as 64-bit, however, it only actually runs a 64-bit kernel currently if you configure it to boot into 64-bit mode. 64-bit kernel or not you have been able to run 64-bit apps in 10.5 and still now in 10.6 even though you are not booting a full 64-bit kernel. Apple did this namely to avoid driver incompatibility issues, however, power users of Photoshop and 64-bit optimized applications should see a 30%+ increase in performance, so if you boot into 64-bit mode without issues you are golden, although don’t expect a boost for 32-bit apps.

To check if you have a 64-bit capable Mac:

Open a terminal window and run ioreg with the following syntax (If you have a non 64-bit capable Mac your output will read as below, if you are 64-bit capable, it should read “EFI64”).

oldmacbook:~ macuser$ ioreg -l -p IODeviceTree | grep firmware-abi
| |   “firmware-abi” = <“EFI32”>

On a newer Mac the following output is observed:

newmacbook:~ macuser$ ioreg -l -p IODeviceTree | grep firmware-abi
| |   “firmware-abi” = <“EFI64”>

This tells us the mac we are on, is non-64 bit, sorry no 64-bit snow leopard possible on this machine.

If you are “EFI64” and you’d like to try out the 64-bit kernel you can do the following on boot:

Hold down the ‘6’ and ‘4’ keys when the Mac starts up. After starting up in 64-bit mode, click on the Apple, and select “About this Mac -> More Info -> Software.”  In 64-bit mode there will be a “yes” next to “64-bit Kernel and Extensions”.

If that works for you, you can permanently set 64-bit boot mode:

Edit: /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

Insert arch=x86_64 into the Kernel Flags field.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Kernel</key>
	<string>mach_kernel</string>
	<key>Kernel Flags</key>
	<string>arch=x86_64</string>
</dict>
</plist>

Modifying Mac PRAM/bios to always Boot in 64-bit mode kernel:
Open a Terminal window and enter this command:
sudo nvram boot-args="arch=x86_64"

You should be able to reset things as follows:

sudo nvram boot-args=""

Please note this method forces the Mac hardware to always try to boot into 64-bit mode.
Worst case you can undo this by resetting the PRAM (Holding down <command>, <option>, <P> and <R> keys).

No comments yet.

Leave a Reply