今更ですがネットで調べ物しているとMac OS Xってデフォルト32bit kernelだったんですね
やっぱりスゴい! Snow Leopardの「64bit対応」
http://ascii.jp/elem/000/000/455/455691/
Intel Mac mini (Early 2009) @ 私的ウィキ(blog)
OSXの64bit対応について
http://www39.atwiki.jp/macmini/pages/26.html
Mac OS X Snow Leopardからはハードウェアの条件がそろえば64bit kernelで起動できるようですが、そもそもMac miniはAppleが制限を掛けて起動できないようにしているとのこと
この制限を解除してMac miniでも64bit kernelで起動させようというものですが、こんな情報を知ったからには私もやらずにはいられません:-)
基本的な情報はこちら
[Snow Leopardを64bitカーネルで動作させる]
http://www39.atwiki.jp/macmini/pages/30.html
カーネルは起動時に32bit/64bitが選択できるのだが、Mac mini, Mac Book, Mac Book Airにおいては、Appleは上位機種との差別化の為、EFIが64bitに対応していても64bitカーネルがロードできないよう意図的に制限をかけている。32bitカーネルでも32GBまでのメモリを扱える為、実用的には問題ないのだが、これはユーザをがっかりさせる結果を招いた
Mac miniでこの制限を解除する方法は
/System/Library/CoreServices/boot.efiをバイナリエディタでoffset 0x266dbの値0x00を0x80に書き換えboot optionを追加する
というものでしたが有り難いことにboot.efi修正スクリプトがありました
Mac mini/MacBook/MacBook Air/iMac対応boot.efi修正スクリプト
http://www.mediafire.com/file/uzy0myvjwhm/efi64_patch.zip
早々にdownloadして解凍してreadme.txtを確認します
# Fist time
copy boot.efi to boot64.efi, patch boot64.efi to load 64bit kernel on Mac mini/MacBook/MacBook Air/iMac.NOTE1: target boot.efi’s checksum is MD5 (/System/Library/CoreServices/boot.efi) = 9a7e6e458ad563740c4268427d9e4824
NOTE2: Macmini3,1/MacBook4,1/MacBook5,1/MacBookAir1,1/MacBookAir2,1/iMac7,1# Second time or later
if boot64.efi is exist, re-bless boot64.efi.Step 1. click efi64_patch(.command)
Step 2. enter root password
Step 3. nvram boot-args=”arch=x86_64″
Step 4. reboot
注意書きにboot.efiのチェックサムが9a7e6e458ad563740c4268427d9e4824でないとダメなようです。
それでは私のMac OS X 10.6.8は
$ shasum /System/Library/CoreServices/boot.efi
0242b79c8852fd28ccc3efa0f1412eb7d70f172b /System/Library/CoreServices/boot.efi
違います。このまま実行してもきっと再起動するとお亡くなりになる可能性大なのでバイナリエディタで書き換えることにしました
offset 0x266dbの前後を確認するとWebの情報と全く違います。そもそも 10.6.8のboot.efiにはこの情報を適用できない気がして諦めていました
でもやっぱりここまでくると諦められない(^_^;
世界を駆け巡ること何時間かしたころ下記の情報がありました
Snow Leopard 32bit vs 64bit – FAQ
http://173.192.77.187/showthread.php?t=783948&page=4
I put together boot.efi x64 patches for all models that do not support native booting into 64-bit kernel.
Just run patch, enter admin password (required to modify a system file), reboot and you should boot into 64-bit kernel.
Restore to original boot.efi also included.x64patch-10.6.8.tar.bz2
x64patch-10.7.tar.bz2I have tested the patches with MacBook3,1 & MacBookAir3,2
MacBook3,1 & MacBookAir3,2でこのパッチを使って64bit kernelのbootに成功したとのこと
早々にx64patch-10.6.8.tar.bz2をdownloadします
http://dl.dropbox.com/u/35856129/x64patch-10.6.8.tar.bz2
解凍してterminalから実行して再起動すると64bit kernelでbootできました(^_^)v
しかしつくづく世界にはとんでもない人々が多いですね
こうなったらメモリ増設しないとな
The Patch works fine !!!! on my MacBook
MacBook 5.1
Boot-ROM-Version: MB51.007D.B03
SMC-Version (System): 1.40f2
boot.efi shasum 0242b79c8852fd28ccc3efa0f1412eb7d70f172b before Patch
boot.efi shasum e14462f01b437969908c24d0dc8cf9b12c6caf91 after Patch
==>bless –info /
finderinfo[0]: 45 => Blessed System Folder is /System/Library/CoreServices
finderinfo[1]: 821215 => Blessed System File is /System/Library/CoreServices/boot.efi
finderinfo[2]: 0 => Open-folder linked list empty
finderinfo[3]: 0 => No alternate OS blessed file/folder
finderinfo[4]: 0 => Unused field unset
finderinfo[5]: 45 => OS X blessed folder is /System/Library/CoreServices
64-bit VSDB volume id: 0xE35B7BD1124EDD60
Thanks!