この節では、同じディスク上にある複数のオペレーティングシステムを GRUB でサポートする方法について説明します。次の例は、Solaris 10 10/08 OS、Solaris 9 OS、Linux、および Windows が同じディスク上にインストールされている x86 システムを示しています。
表 15–2 GRUB メニュー設定の例
オペレーティングシステム |
ディスク上の場所 |
---|---|
Windows |
fdisk パーティション 0 |
Linux |
fdisk パーティション 1 |
Oracle Solaris |
fdisk パーティション 2 |
Solaris 9 OS |
スライス 0 |
Solaris 10 10/08 OS |
スライス 3 |
この情報に基づいて、GRUB メニューが次のように表示されます。
title Oracle Solaris 10 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris 9 OS (pre-GRUB) root (hd0,2,a) chainloader +1 makeactive title Linux root (hd0,1) kernel <from Linux GRUB menu...> initrd <from Linux GRUB menu...> title Windows root (hd0,0) chainloader +1 |
Oracle Solaris スライスをアクティブなパーティションにする必要があります。また、 Windows メニューの下に、makeactive を指定しないでください。そのようにすると、毎回 Windows がブートされることになります。Linux が GRUB をマスターブートブロック上にインストールした場合には、Oracle Solaris ブートオプションにアクセスできません。Solaris パーティションをアクティブなパーティションにしたかどうかにかかわらず、Solaris ブートオプションにアクセスできなくなります。
このような場合には、次のいずれかの操作を実行できます。
Linux 上でメニューを変更して、Linux GRUB からチェーンロードする。
「チェーンロード」は、別のブートローダーを使用して、サポートされていないオペレーティングシステムを読み込むためのメカニズムです。
m オプションを指定した -installgrub コマンドを実行して、マスターブートブロックを Solaris GRUB に置き換える。
# installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/root-slice |
詳細は、installgrub(1M) のマニュアルページを参照してください。
Oracle Solaris Live Upgrade ブート環境の詳細については、『Oracle Solaris 10 9/10 インストールガイド (Solaris Live Upgrade とアップグレードの計画)』を参照してください。