Intel MacにBoot Campを導入するとMac OS XとWindowsのデュアルブート環境を容易に構築できます。
次にrEFItを導入するとデュアルブート環境をトリプルブート環境に拡張してLinux等もインストール/実行できるようになります。
現時点でHDDにインストールされたMac OS X, Windows, Linuxを安全にトリプルブートできるコンピュータはIntel Macしかありません。
尚、ここでのトリプルブート環境とはIntel Macの内蔵HDDにMac OS X, Windows, LinuxをインストールしてrEFItブートメニューから起動OSを選択できる環境を指します。
※ここではUSBデバイスからブートできないファームウェアを前提に各OSをIntel Macの内蔵HDDにインストールします。
※Windowsの場合は元々USBやIEEE1394のポートに接続されたディスクへのインストールはできないという制限があります。
更に、トリプルブート環境のGRUBブートローダを使用することで4番目のOS, 5番目のOS等も追加インストールして利用できます。
今回のトリプル環境でのWindowsはWindows Vista(32ビット版)を使用し、LinuxについてはFedora 7(32ビット版)を使用しています。
※Fedora 7の選択理由は後述のGPT/MBRのハイブリッドに対応したGRUBブートローダを実現しているためです。
またFedora 7(32ビット版)のGRUBからブートして利用する4番目のOSはFedora 7(64ビット版)とし、5番目のOSはCentOS 5(32ビット版)としました。
最後はUSBメモリにDebian GNU/Linux 4.0をインストールして実行してみます。
今回使用したBoot Campは2007年8月8日にリリースされたBoot Camp Public Beta 1.4(期間限定版)です。
rEFIt(ver 0.10)についてはトリプルブート環境構築の試行ということでUSBメモリに導入しました。
1.マシン環境
$ diskutil resizeVolume disk0s2 50G "Linux" "MacLinux" 6G "MS-DOS FAT32" "MacWindows" 18G ※ボリューム名は後で使用しませんので暫定的な名称で構いません。 【コマンドの実行表示】 Started resizing on disk disk0s2 Macintosh HD Verifying Resizing Volume Adjusting Partitions Finished resizing on disk disk0s2 Macintosh HD You will need to manually reformat your new partitions. WARNING: You must now reboot! |
$ diskutil list /dev/disk0 【コマンドの実行表示】 ※下記表示からは分かりにくいですが実はdisk0s2とdisk0s3の間に128MBの未割り当て領域が存在します。 (「sudo gpt -r show /dev/disk0」のコマンドならそれが確認できます) /dev/disk0 #: type name size identifier 0: GUID_partition_scheme *74.5 GB disk0 1: EFI 200.0 MB disk0s1 2: Apple_HFS Macintosh HD 50.0 GB disk0s2 3: Microsoft Basic Data 6.0 GB disk0s3 4: Microsoft Basic Data 18.2 GB disk0s4 |
title Vista rootnoverify (hd0,3) chainloader +1 |
name = "MacWinXPHVM" builder = "hvm" memory = 256 disk = [ 'file:/root/macwinxp.img,hda,w', 'phy:/dev/cdrom,hdc:cdrom,r' ] vif = [ 'type=ioemu, mac=00:16:3e:4c:99:3d, bridge=xenbr0', ] device_model = "/usr/lib/xen/bin/qemu-dm" kernel = "/usr/lib/xen/boot/hvmloader" sdl=1 vnc=0 apic=1 pae=1 vcpus=1 serial = "pty" on_reboot = 'restart' on_crash = 'restart' |
title Fedora7 x64 (2.6.21-1.3194.fc7) root (hd0,2) kernel /boot-Fedora7x64/vmlinuz-2.6.21-1.3194.fc7 ro root=/dev/sda3 rhgb quiet initrd /boot-Fedora7x64/initrd-2.6.21-1.3194.fc7.img ※kernel行のroot=/dev/sda3のsdx3部分は環境(USBディスク数等)によって変わり得ます。 本来なら外付けHDDの第3パーティションを指すsdc3とすべきですが今回の環境ではsda3を指定します。 |
/dev/sda3 / ext3 defaults 1 1 /dev/sdc3 /boot ext3 defaults 1 2 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 ※本来なら/bootは内蔵HDDの第3パーティションを指すsda3とすべきですが今回の環境ではsdc3を指定します。 |
title CentOS5 (2.6.18-8.el5) root (hd0,2) kernel /boot-CentOS5/vmlinuz-2.6.18-8.el5 ro root=/dev/sda4 rhgb quiet initrd /boot-CentOS5/initrd-2.6.18-8.el5.img title CentOS5 Xen (2.6.18-8.el5xen) root (hd0,2) kernel /boot-CentOS5/xen.gz-2.6.18-8.el5 dom0_mem=512m module /boot-CentOS5/vmlinuz-2.6.18-8.el5xen ro root=/dev/sda4 rhgb quiet module /boot-CentOS5/initrd-2.6.18-8.el5xen.img ※kernel行のroot=/dev/sda4のsdx4部分は環境(USBディスク数等)によって変わり得ます。 本来なら外付けHDDの第4パーティションを指すsdc4とすべきですが今回の環境ではsda4を指定します。 |
/dev/sda4 / ext3 defaults 1 1 /dev/sdc3 /boot ext3 defaults 1 2 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 ※本来なら/bootは内蔵HDDの第3パーティションを指すsda3とすべきですが今回の環境ではsdc3を指定します。 |
title Debian GNU/Linux, kernel 2.6.18-4-686 root (hd0,2) kernel /boot-Debian40/vmlinuz-2.6.18-4-686 root=/dev/sdc1 ro initrd /boot-Debian40/initrd.img-2.6.18-4-686 ※root行の値(カーネルの格納パーティション)をFedora 7の場所[(hd0,2)]に変更します。 またディレクトリ名も変更します(kernel行のroot=/dev/sdc1の部分は変更なし)。 |
proc /proc proc defaults 0 0 /dev/sdc1 / ext3 defaults,errors=remount-ro 0 1 /dev/sda3 /boot ext3 defaults,errors=remount-ro 0 1 /dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0 # /dev/sdb1 /media/usb0 auto rw,user,noauto 0 0 # /dev/sdc1 /media/usb1 auto rw,user,noauto 0 0 ※/boot用の/dev/sda3の行を追加し、/media/usb0と/media/usb1の行をコメント化します。 |