GRUB は、次の機能コンポーネントで構成されています。
stage1 – fdisk パーティションの最初のセクターにインストールされるイメージです。installgrub コマンドに -m オプションを指定して、stage1 をマスターブートセクターにインストールすることもできます。詳細は、installgrub(1M) のマニュアルページと『Solaris のシステム管理 (デバイスとファイルシステム)』の「GRUB ブート環境でのディスク管理」を参照してください。
stage2 – fdisk パーティションの予約済み領域にインストールされるイメージです。stage2 イメージは GRUB のコアイメージです。
menu.lst ファイル – 通常は UFS ルートを含むシステムの /boot/grub ディレクトリおよび ZFS ルートを含むシステムの /pool-name/boot/grub ディレクトリにあります。このファイルは、GRUB stage2 ファイルによって読み取られます。詳細は、「x86: menu.lst ファイルを編集してブート動作を変更する」の節を参照してください。
dd コマンドを使用して、stage1 および stage2 のイメージをディスクに書き込むことはできません。stage1 イメージは、ディスク上にある stage2 イメージの場所に関する情報を受け取れる必要があります。installgrub コマンドを使用してください。このコマンドは、GRUB ブートブロックをインストールするためにサポートされている方法です。
GRUB が使用するデバイス命名規則は、以前の Solaris リリースの場合と多少異なっています。GRUB デバイス命名規則を理解すると、使用しているシステムで GRUB を構成するときに、ドライブとパーティションの情報を正しく指定できます。
次の表に、この Oracle Solaris リリースの GRUB デバイス命名規則を示します。
表 15–1 GRUB デバイスの規則
デバイス名 |
説明 |
---|---|
(fd0) |
最初のフロッピーディスク |
(fd1) |
2 番目のフロッピーディスク |
(nd) |
ネットワークデバイス |
(hd0,0) |
最初のハードディスク上の最初の fdisk パーティション |
(hd0,1) |
最初のハードディスク上の 2 番目の fdisk パーティション |
(hd0,0,a), |
最初のハードディスク上の最初の fdisk パーティションのスライス a |
(hd0,0,b) |
最初のハードディスク上の最初の fdisk パーティションのスライス b |
GRUB デバイス名はすべて括弧で囲む必要があります。
fdisk パーティションの詳細については、『Solaris のシステム管理 (デバイスとファイルシステム)』の「fdisk パーティションの作成上のガイドライン」を参照してください。
Solaris 10 10/08 リリース以降では、GRUB で以前使用されていた root コマンドが findroot コマンドに置き換わりました。findroot コマンドは、ブートデバイスに関係なく対象ディスクを見つけるための拡張機能を提供します。findroot コマンドは、ZFS ルートファイルシステムからのブートもサポートします。
次に、さまざまな GRUB 実装で findroot コマンドが使用するデバイス命名規則についての説明を示します。
Oracle Solaris Live Upgrade:
findroot (BE_x,0,a) |
x 変数はブート環境の名前です。
ZFS をサポートしているシステムの標準アップグレードおよび新規インストール:
findroot(pool_p,0,a) |
p 変数はルートプールの名前です。
UFS をサポートしているシステムの標準アップグレードおよび新規インストール:
findroot (rootfsN,0,a) |
N 変数は 0 から始まる整数です。