Solaris のシステム管理 (基本編)

Procedurex86: menu.lst ファイルを編集してブート動作を変更する方法

次のいずれかの理由により、menu.lst ファイルの変更が必要になる場合があります。

始める前に

システムのブートにはアクティブな GRUB menu.lst ファイルしか使用できないため、必ず適切なファイルを編集するようにしてください。それ以外の GRUB menu.lst ファイルに変更を加えても、システムのブート時に表示されるメニューに影響はありません。

アクティブな menu.lst ファイルの場所は、稼働するシステムに UFS ルートと ZFS ルートのどちらが含まれるかで異なります。

アクティブな GRUB menu.lst ファイルの場所を調べるには、bootadm コマンドで list-menu サブコマンドを指定します。


# bootadm list-menu

bootadm コマンドの詳細は、bootadm(1M) のマニュアルページを参照してください。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. アクティブな menu.lst ファイルに新しい OS エントリを追加するには、テキストエディタを使ってファイルを変更します。

    menu.lst ファイル内のコメントを読めば、新しい OS エントリを追加するのに必要な情報が得られます。

    次の例は、ZFS ブート対応のリリースが稼働するシステムの menu.lst ファイルを示しています。menu.lst ファイルに含まれるブートエントリは、実行している Oracle Solaris リリースに応じて異なります。


    #---------- ADDED BY BOOTADM - DO NOT EDIT ----------
    title Solaris Solaris 10 s10x_nbu6wos_nightly X86
    kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS
    module /platform/i86pc/boot_archive
    #---------------------END BOOTADM--------------------

    注意 – 注意 –

    menu.lst ファイルの元の内容を直接編集しないでください。 このファイルの OS エントリに変更を加えるには、ファイルを手動で編集して既存の内容を複製します。次に、複製した内容に変更を加えます。

    また、手動でこのファイルに新しいエントリを追加するときは、「Added by bootadm」などの保護コメントを決して含めないでください。これらのコメントは、システムで予約されています。保護コメントを含めないことで、これらのエントリはソフトウェアアップグレード中にそのまま維持されます。


    デフォルトのエントリ以外に、エントリを新しく追加した場合は、同等の変更をすべて手動で行なってください。

    [-B *] フラグと [*] フラグが元の menu.lst ファイルに存在する場合は、これらのフラグを保持する必要があります。また、failsafe エントリには常に -s フラグが付いているはずです。

  3. 必要な情報を追加したあとで、ファイルを保存します。

    ファイルに加えた変更は、次にシステムをリブートしたときに有効になります。


    ヒント –

    Linux が稼働しているマシンに Oracle Solaris をインストールすると、システムのリブート時に Linux のエントリは GRUB メニュー内に保持されません。システムをインストールまたはアップグレードする前に、Linux 情報が含まれている menu.lst ファイルのコピーを保存します。インストールが完了したら、Solaris パーティションに新しく作成された menu.lst ファイルに Linux 情報を追加します。


    menu.lst ファイルに加えた変更は、Oracle Solaris OS と直接の関係がありません。このため、eeprom コマンドを使用して変更を行うことはできません。ファイルを直接編集する必要があります。ソフトウェアのアップグレード処理では、menu.lst ファイルに加えた変更内容がすべて保持されます。


    注意 – 注意 –

    GRUB では、Linux と Oracle Solaris の両方をブートできます。ただし、Linux GRUB では Oracle Solaris をブートできません。

    必ず次のいずれかの条件が満たされていることを確認してください。

    • fdisk パーティションがアクティブになっていて、そこに GRUB がインストールされていること。また、menu.lst ファイルがアクティブな GRUB メニューであること

    • Oracle Solaris GRUB がマスターブートレコード (MBR) にインストールされ、fdisk パーティションにある menu.lst を参照すること


    各 Oracle Solaris リリースに関連する GRUB menu.lst の詳細は、「x86: サポートされる GRUB のバージョン」を参照してください。


例 11–6 Oracle Solaris ZFS ブートローダーを備えたシステムの menu.lst ファイル

次の例は、Oracle Solaris ZFS ブートローダーを備えたシステムで menu.lst ファイルがどのように表示されるかを示しています。デフォルトでは、このシステムは ZFS ルートファイルシステムからブートします。このファイルの内容は、インストールの種類によって異なります。

新規インストールまたは標準アップグレードの場合:


title Solaris 10 s10x_nbu6wos_nightly X86
findroot (pool_rpool,0,a)
kernel$  /platform/i86pc/multiboot  -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive

title Solaris failsafe
findroot (pool_rpool,0,a)
kernel /boot/multiboot kernel/unix -s    -B console=ttyb
module /boot/x86.miniroot-safe

Oracle Solaris Live Upgrade


title be1
findroot (BE_be1,0,a)
bootfs rpool/ROOT/szboot_0508
kernel$  /platform/i86pc/multiboot  -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive

title be1 failsafe
findroot (BE_be1,0,a)
kernel /boot/multiboot kernel/unix -s    -B console=ttyb
module /boot/x86.miniroot-sa


例 11–7 UFS ブートローダーを備えたシステムの menu.lst ファイル

次の例は、UFS ルートファイルシステムがインストールされているシステムで menu.lst ファイルがどのように表示されるかを示しています。デフォルトでは、このシステムは UFS ルートファイルシステムからブートします。

新規インストールまたは標準アップグレードの場合:


title Solaris 10 s10x_nbu6wos_nightly X86
findroot (rootfs0,0,a)
kernel /platform/i86pc/multiboot
module /platform/i86pc/boot_archive

title Solaris failsafe
findroot (rootfs0,0,a)
kernel /boot/multiboot kernel/unix -s    -B console=ttyb
module /boot/x86.miniroot-safe

Oracle Solaris Live Upgrade:


title be1
findroot (BE_be1,0,a)
kernel /platform/i86pc/multiboot
module /platform/i86pc/boot_archive

title be1 failsafe
findroot (BE_be1,0,a)
kernel /boot/multiboot kernel/unix -s    -B console=ttyb
module /boot/x86.miniroot-safe