WindowsPCでOS X、Windows、Linuxをトリプルブート(Hybrid MBR編)

前回、比較的新しい手持ちのPCをトリプルブートできるようにしたしたのですが、Core2Duoのようなひと昔前のPCをデュアルブート、トリプルブートするのはかなり困難です。しかし不可能というわけでもありません。

通常、BIOSでMBRモードもしくは混在モードにしている場合、OSXではGPTディスクとしてインストールするのですが、次のWindowsのときMBRディスクとみなすのでインストールできないというジレンマがあります。ところがHybrid MBRというMBRとUEFIが混在できる魔法のような方法があります。しかしながら、いろいろ調べると現実的にはその魔法には深刻な副作用が伴います。複雑なパーティションのためデータの損失の恐れがあります。インストールするのはサブのサブ機なので、たとえシステムが破壊される覚悟でインストールしてみました。

1.ディスクをHybrid MBRにする

まずLinuxをLiveUSBで立ち上げ、Gpartedでパーティション割りを行います。
OSXはすでにあるので、そのあと、WIndowsのNTFSパーティション、Linuxのbootパーティション、LVMパーティションを作成しました。

Hybrid MBRにするにはgdiskコマンドを実行します。

# gdisk /dev/sda

Snow Leopardをインストールした時点でMBRがprotectiveとなっているので、これを画面のようにHybridに変更します。

例)

gdisk /dev/sda
r-p-h-5 4 3…-o-w

LinuxのgptsyncコマンドはGPTディスクとMBRディスクのパーティションをすり合わせる重要なコマンドです。

ところがGPTの一部のパーティションを認識しないことによって動かないケースがあります。
私場合はLVMのパーティションは問題なかったのですがLinuxパーティション(83)が認識できませんでした。下図ではGPTパーティション4がMBRで認識してません。そこでgdiskのリカバリーモードのhコマンドでそのパーティションのMBR hex codeを0cとしてみました。

 

2.Windows 10のインストール

ハイブリッドMBRになった時点で、インストーラーはMBRディスクとして認識するのでそのままインストールを行います。WindowsをインストールするとブートマネージャーがWindows用に置き換わってしまいなすがそのまま続けます。

3.Linuxのインストール

LinuxはGPTディスクとして認識するのでGPTディスクとMBRディスクのパーティションナンバーのずれに注意します。そしてブートマネジャーはbootのあるパーティションにインストールします。

Linuxのインストールが終わったら、次にOS Xのパーティションをアクティブにします。

# parted /dev/sda
# set 2 boot on

fdiskはMBRディスクとして見えるのでfdiskでも同様に行います。

4.Chameleon Bootloaderの再インストール

GPTディスクの場合、EFIフォルダーにブートに関するファイルを保存してあるのでツールを使って切り替えるだけで済むのですが、MBRの場合、BIOS経由になるのでブートセクターの書き換えが必要になります。そこでもう一度、Snow Leopardのインストールで使ったiBootUSBディスクでOSXをブートします。そしてMultiBeastを起動してBootローダーを再インストールします。


GPTディスクとMBRディスクが併存するシステムは動いているOSの認識がどちらか片方なので、パーティションを操作するとこの微妙なシステムが壊れる恐れがあります。というわけでHybrid MBRあまりお勧めできませんが、リスクを承知で3つのOSをラップトップにまとめて入れるという誘惑に逆らえないなら挑戦してみる価値はあるかと思います。

Referrences: