Boot Camp領域を活かしてトリプルブート

パソコン・インターネット

「Boot Camp領域を活かしてトリプルブート」について説明しますが、実は未確認なのです。原理的には成功するはずです。もし、この方法でうまく出来た方がいらっしゃいましたら、コメントなどでご連絡をいただきたいです。

Boot Campアシスタントでは、デュアルブートしか実現できません。ですが、diskutilを使って3パーティションに分ける事で、トリプルブートが出来るようになります。3パーティションへの分割は、GUIのディスクユーティリティでも可能なようです。後者の方法は、ここでは説明しません。

すでにBoot Campを設定済みで、Mac OS X 10.4 TigerとWindowsXPを消さずに、Mac OS X 10.5 Leopardも含めたトリプルブートを実現する方法は、おおむね、次の手順となります。

  1. ディスクのバックアップ
  2. WindowsXPのboot.iniの修正
  3. Mac OS Xのパーティションの分割
  4. 場合によっては、ここでboot.iniの修正(WindowsXPの回復コンソール使用)
  5. Leopardのインストール

作業の前準備として、ディスクのバックアップをして下さい。

次に、WindowsXPのc:¥boot.iniを書き換えます。Windows領域をFAT32でフォーマットしている場合は、Mac OS Xから書き換えられます。

ですが、NTFSでフォーマットしていると、Mac OS Xからは書き換えられません。事前にWindowsXPを立ち上げておいてから、boot.iniを書き換えます。WindowsXPを立ち上げた状態で、boot.iniを書き換えて良いのか、実は自信がありません。多分、大丈夫だとは思うのですが…。

boot.iniを書き換える場所は2箇所で、"(3)"となっている部分を"(4)"にします。これは、パーティション番号が、3から4に変わるためです。オリジナルのboot.iniは、別な名前(boot.bak等)でコピーしておいた方が良いと思います。実際のboot.iniを引用します。一部省略しています。

default=multi(0)disk(0)rdisk(0)partition(4)\WINDOWS
multi(0)disk(0)rdisk(0)partition(4)\WINDOWS=

これは書き換えた後で、"(4)"は元々"(3)"になっていた部分です。

パーティションの分割方法として、Mac OS X 10.5.1に付属のdiskutilを使う場合について説明します。また、Intel MacのGUIDパーティション方式になっている場合でしか対応できません。それ以外の方法だと、データが消えてしまうと思います(多分)。

Mac OS
Xには、GUIで操作できるディスクユーティリティがついてくるのですが、細かい調整のためにターミナルからdiskutilコマンドでCUI操作(コマ
ンド操作)しました。そして、安全性のために、Leopardのインストールディスクから立ち上げ、ユーティリティのターミナルを使って操作しました。検
索すると、シングルユーザモードで立ち上げてdiskutilを使う例が出ているのですが、うまく行かなかったので、インストールディスクのターミナルを
使いました。

Macを使う上での基本操作ですが、インストールディスク(DVD/CD)から起動するには、ディスクが入った状態でキーボードの"c"を押しながら電源を入れます。

すでにBoot Campを導入していて、Mac OS X 10.4 Tigerで200G、WindowsXPで32Gでパーティションを分けていたとします。

diskutil list

で確認すると、次のようになっているはずです。

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *232.0 Gi   disk0
   1:                        EFI                         200.0 Mi   disk0s1
   2:                  Apple_HFS Macintosh HD            200.0 Gi   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                32.0 Gi    disk0s3

まずは、元々ある"Macintosh HD"を、"Macintosh HD"と"Leopard HD"に分けます。

diskutil resizeVolume disk0s2 100G JHFS+ "Leopard HD" 100G

そして、

diskutil list

で確認すると、次のようになっているはずです。

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *232.0 Gi   disk0
   1:                        EFI                         200.0 Mi   disk0s1
   2:                  Apple_HFS Macintosh HD            100.0 Gi   disk0s2
   3:                  Apple_HFS Leopard HD              100.0 Gi   disk0s3
   4:       Microsoft Basic Data BOOTCAMP                32.0 Gi    disk0s4

こうする事により、インストールしてあったTiger、WindowsXPとも消さなくて済みます。新しくできた、"Leopard
HD"と言うディスクに、Leopardをインストールすれば、トリプルブートとなるはずです。念のために、Leopardをインストールする前に、TigerとWindowsXPでブート出来る事を確認しておいた方が良いかも知れません。

WindowsXPのc:¥boot.iniの書き換えが正しく出来ていない場合、WindowsXPが立ち上がらないはずです。ここで書き換えます。そのためには、WindowsXPのインストールディスクが必要です。WindowsXPの起動ディスクから立ち上げ(WindowsXPのディスクを入れておいて"c"キーを押しながら電源を入れる)、選択画面が出たら"r"を押して、回復コンソールを立ち上げます。そして、次のコマンドを入力すれば良さそうです。

bootcfg /rebuild

この方法も、未確認です。詳しくは、コンピュータ起動時のエラー メッセージ "無効な Boot.ini ファイルです" または "Windows を起動できません"を参照して下さい。

本当は、ここまで書いてきた一連の手順を試してから記事にしたいのですが、そのためにはせっかく実現したTigerとLeopardとWindowsXPのトリプルブートを消して、最初からやり直す事になってしまいます。ものすごい時間と労力が必要です。ごめんなさい。ご勘弁を…。

なおWindowsXPのディスク名が、BOOTCAMPとなっていますが、これがBoot Campアシスタントのデフォルトだからです。ディスクの名前は他の物に変えても問題ありません。これは、他の方法で確認済みです。

それと、上のdiskutil listの例では、ディスクのサイズがキリの良い値になっていますが、実際には端数が出ると思います。

実は、この記事をほとんど最後まで書いてから、Mac OS X + WIndows XP + Linux (Fedora 8) トリプルブートに移行 – Okiraku Programmingと言う記事を見つけました。boot.iniの書き換え"(3)"→"(4)"についての事は、この記事を参考にして書き直しています。この記事では、GUIのディスクユーティリティを使って3パーティションに分割する方法が説明されています。

Posted by お市のかた