limesoul.com

Mac OS X 10.6 と Windows 7 と Ubuntu 11.10 を MacBook Pro にインストールする

私のMacBook Proは2010年春のモデル、Model Identifierは6,2ですが、他のMacBook (Pro)の手順と直面する問題は同じだと思います。
まず、cdimage.ubuntu.comから"64-bit Mac (AMD64) desktop CD"のisoファイルをダウンロードしてCDに焼きます。
その後、MactelSupportTeamAppleIntelInstallationに説明されている手順に従ってMac OS Xの後にWindows 7とUbuntu 11.10をインストールします(起動中に"C"を押しつづければ光学ディスクから起動できます)。Windows 7についての記述はありませんが、基本的にVistaとUbuntuをインストールするのと同じ方法で問題ありません。

問題

しかし「問題ありません」という言い方には語弊があるかもしれません。インストール自体は問題ないハズです。しかし、Ubuntuを起動できないという問題があります(よね?それとも私だけ?)。これが10.04では大丈夫なのですが(10.10と11.04はインストールしたコトが無いのでわかりません)、なぜか11.10ではうまくいきません。rEFItの起動画面でTuxを選択してEnter押しても黒い画面に"Missing operating system"と表示されてそのままです。
いったい何が原因なのでしょう?
再起動してrEFItの起動画面から2列目の"Start Partitioning Tool"を選択して実行してみます。
Partitioning Tool Partitioning Tool Result
エラーです。推測するに、Ubuntu 11.10のインストーラーが正しくMBRパーティションテーブルを書き換えていないコトが問題のようです。そしてそれをrEFItのgptsyncは直すことができない(2011年10月現在)。
ではどうすればいいのでしょう。私が色々調べて試した結果、最終的に行き着いた解決法は、“自分でMBRパーティションテーブルを書き直す”というコトでした。

解決法

ちなみに私は(OS含め)ソフトは全部英語版を使っているので、これからはソフト名などを英語で説明しますがご了承ください。
まずUbuntu 11.10 64-bit Mac (AMD64) desktop CDをCDドライブに入れ"C"を押しながら起動します。"Try Ubuntu"を選択してください。
Dash
左上のアイコンをクリックして、"terminal"と打ちます。
"Terminal"のアイコンをクリックしてTerminalを実行します。
Terminal
以下のコマンドを入力してください。

sudo parted /dev/sda
unit s
print

parted
このTerminalは開いたままにしておきましょう。何をしているのか知りたい方は、別のTerminalを起動(あるいはメニューからFile -> Open Tabで新しいタブを作ったり)して

man parted

と打ってみてください。

次に、もう一つTerminalを起動して、以下のコマンドを入力してください。

sudo sfdisk -uS /dev/sda

sfdiskのマニュアルは

man sfdisk

で見れます。
もし"This disk is currently in use"と表示されたら
sfdisk
umountしたりswapoffしたりしてください。

sudo swapoff -a

sfdisk
ここで、partedで表示したGPT (GUID Partition Table)を見ながらsfdiskでMBRパーティションテーブルを書き直します。ここでは私の場合の例を示しますが、GPTはどのようにパーティショニングしたかによって変わってきますので、自分のGPTに応じて書き直してください。
sfdisk
ここで入力する一行は<start> <size> <id> <bootable> <c,h,s> <c,h,s>といった構成で、どれかフィールドを省略した場合はデフォルトの値が使われます。
/dev/sda1 :のところには、<start>は1、<size>はGPTの一行目(Number 1)のEndの値409639、<id>はeeと入力してください。

/dev/sda1 :1,409639,ee

これ以後はそれぞれのOSをインストールしたパーティションの情報を順番に入力していきます。
私の場合GPTで次のOSがインストールされているパーティションはNumber 2(File systemはhfs+、つまりMac OS Xがインストールされているハズ)なので、/dev/sda2 :のところには、このパーティションのStartとSize、そして<id>はafと入力します(IDに関する説明はsfdiskのマニュアル等を参照してください)。
なので、私の場合は<start>が409640で、<size>が156250000なので、次のようになります。

/dev/sda2 :409640,156250000,af

/dev/sda3 :のところにも次のOSがインストールされているパーティション(私の場合はNumber 3でNTFS、Windows 7)のStartとSizeを入力し、<id>は07なので、

/dev/sda3 :156921856,156248064,07

となります。
次のOSがインストールされているパーティション(私の場合はNumber 4でext4、Ubuntu 11.10)のStartとSizeと<id>(LINUX_NATIVEのIDは83)を入力します。

/dev/sda4 :313169920,29296640,83

今こんな感じになっているのではないでしょうか?
sfdisk
もし"Warning: partition 1 does not end at a cylinder boundary"と表示されてもyでディスクに書き込んで構いません。
お疲れさまでした!あとはpartedにquitとタイプして終了してその他のプログラムも終了して再起動するだけです。今度こそUbuntu 11.10を起動できる…ハズ!
あとはhttps://help.ubuntu.com/community/MacBookPro6-2/Oneiricを見ながら各種設定をするコトをオススメします。