MacBook (Late 2008) で完全 64bit モードを利用する方法

ウチの MacBook も遅ればせながら Mac OS X 10.6 (Snow Leopard) にアップグレードした。 アップグレードそのものは拍子抜けするぐらい簡単だったし、使い勝手も大きく変わらずも要所要所に磨きがかかった感じで悪くない。

さて、Snow Leopard のひとつのウリが OSの 64 bit 化。 今のところ大きな差はないが、いずれは64bitに向かうことを考えると先どりしたい気もしなくはない。

ところがオレの持っている MacBook (Late 2008) は OS 64 bit化から取りのこされているらしい。32bit/64bit を切りかえるアプリケーションを起動するとこんな画面が表示された。

32bit / 62 bit を選択するアプリケーション

32bit / 62 bit を選択するアプリケーション

CPU も EFI も 64 bit 対応だが、カーネルおよびカーネルのブートモードは32bit になっている。 そして、Supported のマークが 64 bit 化が可能だが、Appleにより制限されているというアイコンになっている。

はっきりとはわからないが、MacBook Pro モデルとの差別化なんだとか。でも、システム的には可能なので、ちょっとしたウラワザを使えば MacBook も 64 bit 化できるらしい。ウラワザなので将来うまくいかなくなるかもしれないし、失敗したらシステムが起動しなくなる可能性もあるので自己責任でよろしく。

MacBook (Late 2008) の 64 bit 化

1. /System/Library/CoreServices/boot.efi のコピーを作成

cp /System/Library/CoreServices/boot.efi ~/boot64.efi

2. boot64.efi を HexEditor で編集する。HexEditor にはいろいろあるが、オレは 0xED というソフトを利用した。編集する箇所は1バイト。アドレス 0x266e8 の 00 を 04 に変える。

アドレス 0x0266e8 の 00 を 04 に変更する

アドレス 0x0266e8 の 00 を 04 に変更する

まず、Go To Offset のところに 0266e8 を入力しEnter を押す(上のスクリーンショットの 1)。これでカーソルが目的のアドレスに移動しているのでここで04と入力する(上のスクリーンショットの2)。 ただし、矢印のところが Overwrite になっていないとうまくいかない。 Overwrite でなく Insert になっている場合は、Insert の文字をダブルクリックして Overwrite にしておくこと。

3. 変更した boot64.efi をシステムに認識させる。

sudo cp boot64.efi /System/Library/CoreServices/
cd /System/Library/CoreServices/
sudo chown root:wheel boot64.efi
sudo chflags uchg boot64.efi
sudo bless --folder /System/Library/CoreServices \
         --file /System/Library/CoreServices/boot64.efi
 

もうおまじないみたいなものとして入力してください。 もともとのboot.efiも残っているので、戻したい場合は

sudo bless --folder /System/Library/CoreServices \
          --file /System/Library/CoreServices/boot.efi
 

とすればオッケー。

4. 32- or 64-bit Kernel Startup Mode Selector で Start in 64bit mode (64 bit モードで起動)を指定しMacを再起動する。

64bit モードにする

64bit モードにする

再起動にちょっと時間がかかるがこれで64bit モードになった。

完全 64bit になった

完全 64bit になった

と喜んだのも束の間、会社で使わされている Cisco の VPN ソフトが64 bit モードで使えないことが判明。 kext が 32bit なのね…。 というわけで泣く泣く 32 bitモードに戻しましたとさ。

Leave a comment

Your comment