/sbin/bootadm コマンドを使用すると、次の作業を行えます。
システム上の現在のブートアーカイブを手動で更新する。
システム上のブートアーカイブに含まれるファイルとディレクトリを一覧表示する。
x86 のみ: GRUB メニューを保守する。
x86 のみ: アクティブな GRUB メニューと現在の GRUB メニューエントリを検出する。
このコマンドの構文は次のとおりです。
/sbin/bootadm [subcommand] [-option] [-R altroot] |
bootadm コマンドの詳細は、bootadm(1M) のマニュアルページを参照してください。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
ブートアーカイブを更新するには、次のように入力します。
# bootadm update-archive |
システム上のブートアーカイブを管理します。
必要に応じて、現在のブートアーカイブを更新します。SPARC と x86 の両方のシステムに適用されます。
代替ルートのブートアーカイブを更新するには、次のように入力します。
# bootadm update-archive -R /a |
update-archive サブコマンドに適用する代替ルートパスを指定します。
-R オプションを使用して非大域ゾーンのルート (/) ファイルシステムを参照してはいけません。そのようにすると、大域ゾーンのファイルシステムが損傷したり、大域ゾーンのセキュリティーが低下したり、非大域ゾーンのファイルシステムが損傷したりする場合があります。zones(5) のマニュアルページを参照してください。
システムを再起動します。
# reboot |
次の手順は、フェイルセーフブート時にミラーメタデバイスをマウントする方法を示しています。この手順で使用されるルート (/) ファイルシステムは、/dev/dsk/c0t0d0s0 です。
フェイルセーフアーカイブをブートします。
SPARC プラットフォーム: ok プロンプトで、次のコマンドを入力します。
ok boot -F failsafe |
システムがすでに動作している場合は、端末ウィンドウを開いてスーパーユーザーになり、次のコマンドを入力します。
# reboot -- "-F failsafe" |
詳細は、「SPARC システムをフェイルセーフモードでブートする方法」を参照してください。
x86 プラットフォーム: GRUB メニューでフェイルセーフブートエントリを選択して、システムをブートします。
詳細は、「x86 システムをフェイルセーフモードでブートする方法」を参照してください。
フェイルセーフモードでシステムをブートすると、次の出力が生成されます。
Starting shell. # |
フェイルセーフブート時に、システムによりマウントするデバイスの選択が求められたら、何もマウントしないことを意味する q を入力します。
Please select a device to be mounted (q for none)[?,??,q]: q |
ルート (/) ファイルシステムのサブミラーを、/a ディレクトリに読み取り専用で一時的にマウントします。
# mount -o ro /dev/dsk/c0t0d0s0 /a |
md.conf ファイルを /kernel/drv ディレクトリにコピーします。
# cp /a/kernel/drv/md.conf /kernel/drv/ |
/a ディレクトリのマウントを解除します。
# unmount /a |
devfsadm コマンドを使って、md ドライバを読み込みます。
# update_drv -f md |
このコマンドを実行すると、構成が読み込まれて必要なデバイスが作成されます。
次の手順に進む前に、数秒間待って md ドライバが確実に読み込まれるようにします。
metasync コマンドを使って、ルート (/) ファイルシステムを確実に同期します。次に例を示します。
# metasync d0 |
ルートミラーメタデバイスを /a ディレクトリにマウントします。
# mount /dev/md/dsk/d0 /a |
前の手順でマウントしたデバイスのブートアーカイブを更新します。
# bootadm update-archive -v -R /a |
ブートアーカイブの更新に失敗するか、エラーメッセージが表示されたら、次の手順を実行します。
/a ディレクトリの md.conf ファイルのタイムスタンプを更新します。これにより、ブートアーカイブが強制的に更新されます。
# touch /a/kernel/drv/md.conf |
bootadm コマンドを実行してブートアーカイブを更新します。
# bootadm update-archive -v -R /a |
ブートアーカイブの更新が完了するまで、数分かかります。ブートアーカイブの更新が成功したら、次のようなメッセージが表示されます。
changed /a/etc/system cannot find: /a/etc/cluster/nodeid: No such file or directory cannot find: /a/etc/devices/mdi_ib_cache: No such file or directory Creating ram disk on /a updating /a/platform/i86pc/boot_archive |
/a をマウント解除します。
# unmount /a |
システムを再起動します。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
ブートアーカイブに含まれるファイルとディレクトリを一覧表示するには、次のように入力します。
# bootadm list-archive |
ブートアーカイブに含まれるファイルとディレクトリを一覧表示します。SPARC と x86 の両方のシステムに適用されます。
次の手順に従って、アクティブな GRUB メニューの場所を調べ、現在の GRUB メニューエントリを一覧表示します。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
アクティブな GRUB メニューの場所と現在の GRUB メニューエントリを一覧表示するには、次のように入力します。
# bootadm list-menu |
アクティブな GRUB メニューの場所と現在の GRUB メニューエントリを一覧表示します。autoboot-timeout、デフォルトのエントリ番号、および各エントリのタイトルに関する情報がこのリストに表示されます。x86 システムだけに適用されます。
# bootadm list-menu The location for the active GRUB menu is: /stubboot/boot/grub/menu.lst default=0 timeout=10 (0) Solaris10 (1) Solaris10 Failsafe (2) Linux |
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
アクティブな GRUB メニューのデフォルトのブートエントリを設定するには、次のように入力します。
# bootadm set-menu menu-entry |
GRUB メニューを保守します。アクティブな GRUB メニューの場所は boot/grub/menu.lst です。x86 システムだけに適用されます。
デフォルトとして設定する GRUB メニューエントリを指定します。
デフォルトのメニューエントリが変更されていることを確認するには、次のように入力します。
# bootadm list-menu |
新しいデフォルトのメニューエントリが表示されるはずです。
次の例は、デフォルトの GRUB メニューを、前の例に表示されているメニューエントリのいずれかに切り替える方法を示しています。選択したメニューエントリは、Linux (メニューエントリ 2) です。
# bootadm set-menu default=2 |
各 GRUB 実装における menu.lst ファイルについては、「x86: サポートされる GRUB のバージョン」を参照してください。