JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 システムのブートおよびシャットダウン     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  システムのブートとシャットダウン (概要)

2.  x86: GRand Unified Bootloader の管理 (タスク)

x86: GRUB 2 の紹介

x86: GRUB 2 構成の説明

x86: GRUB 2 パーティションおよびデバイス命名スキーム

x86: GRUB 2 と GRUB Legacy のタスクの比較

x86: GRUB Legacy システムを GRUB 2 をサポートするリリースにアップグレードする

x86: GRUB Legacy システムを GRUB 2 をサポートするリリースにアップグレードする方法

x86: GRUB Legacy メニューエントリが GRUB 2 に移行される方法

x86: GRUB 2 と GRUB Legacy のブート環境を同じシステムで保守する

x86: bootadm コマンドを使用して GRUB 構成を管理する

x86: GRUB メニューエントリを表示する方法

x86: GRUBメニューを手動で再生成する方法

x86: GRUB メニューの保守方法

x86: GRUB メニューの指定したブートエントリの属性を設定する方法

x86: GRUB メニューにブートエントリを追加する方法

x86: GRUB メニューからブートエントリを削除する方法

x86: ブート時に GRUB メニューを編集してカーネル引数を追加する

x86: GRUB メニューを編集して、ブート時に -B prop=val カーネル引数を追加する

ブート時に Oracle Solaris コンソールをリダイレクトする

x86: GRUB 構成のカスタマイズ

x86: 高度な GRUB 管理とトラブルシューティング

x86: bootadm install-bootloader コマンドを使用して GRUB 2 をインストールする

x86: ブートローダーをインストールする方法

x86: ルートプールの復元後にブートローダーをインストールする方法

x86: デフォルトではない場所に GRUB をインストールする方法

x86: GRUB 2 がインストールされているシステムに GRUB Legacy をインストールする

x86: GRUB 2 がインストールされているシステムに GRUB Legacy をインストールする方法

3.  システムのシャットダウン (タスク)

4.  システムのブート (タスク)

5.  システムのネットワークからのブート (タスク)

6.  システムのブートのトラブルシューティング (タスク)

索引

x86: bootadm コマンドを使用して GRUB 構成を管理する

このセクションでは次の手順について説明します。

GRUB Legacy をサポートするシステムでは、menu.lst ファイルを編集して、GRUB 構成と GRUB メニューを主に管理します。GRUB 2 をサポートするシステムでは、grub.cfg ファイルを使用します。ただし、このファイルは手動で編集しません。代わりに、このファイルは、ブート管理インタフェース bootadm を使用して管理します。bootadm コマンドを使用して、以前に menu.lst ファイルを編集して実行されていたほとんどのタスクを管理できます。これらのタスクには、ブートローダー設定、GRUB メニュー、および特定のブートエントリの個々の属性の管理が含まれます。


注 - grub.cfg ファイルは、bootadm コマンドまたは beam コマンドを使用して、ブートローダーが変更されるたびに、通知なく上書きされることがあるため、このファイルを直接編集しないでください


GRUB 2 構成の管理をサポートするために、次の bootadm サブコマンドが変更されました。

list-menu

GRUB メニューの現在のブートエントリを表示します。

新しい -P オプションは、指定したルートプールのブートエントリの表示をサポートしています。

次のように、タイトルまたはエントリ番号ごとに個々のメニューエントリを表示します。

# bootadm list-menu -i 0
the location of the boot loader configuration files is: /rpool/boot/grub
     title: Oracle Solaris 11 FCS
     kernel: /platform/i86pc/kernel/$ISADIR/unix
     kernel arguments: -B $ZFS-BOOTFS -v
     boot archive: /platform/i86pc/$ISADIR/boot_archive
     ZFS root pool: rpool
set-menu

GRUB メニューを保守します。このサブコマンドは、デフォルトとして特定の GRUB メニューを設定し、他のメニューオプションとブートローダーオプションを設定するために使用します。

新しい -P オプションは複数のルートプール上のメニュー変更をサポートします。

次の bootadm サブコマンドは新しいコマンドです。

add-entry

GRUB メニューにブートエントリを追加します。

change-entry

GRUB メニューの指定したブートエントリの属性を変更します。

generate-menu

新しいブートローダー構成ファイルを生成します。

install-bootloader

システムブートローダーをインストールします。このサブコマンドは x86 プラットフォームと SPARC プラットフォームの両方に適用されます。

remove-entry

GRUB メニューからブートエントリを削除します。


注 - SPARC プラットフォームでは、GRUB を使用しないため、bootadm コマンドを使用して、管理を必要とするブートメニューはありません。ただし、SPARC ベースのシステムで bootadm コマンドを使用して、ブートアーカイブの内容を一覧表示し、ブートアーカイブを手動で更新し、ブートローダーをインストールすることができます。「Oracle Solaris ブートアーカイブの管理」を参照してください。


次の手順では、bootadm コマンドを使用して、GRUB 構成と GRUB メニューを管理する方法について説明します。詳細については、bootadm(1M) のマニュアルページを参照してください。

x86: GRUB メニューエントリを表示する方法

現在システム上にある GRUB メニューエントリを一覧表示するには、bootadm コマンドの list-menu サブコマンドを使用します。この情報は grub.cfg ファイルによって提供されます。コマンドの出力には、ブートローダー構成ファイルの場所、デフォルトのブートエントリ番号、autoboot-timeout 値、各ブートエントリのタイトルも含まれます。

x86: GRUBメニューを手動で再生成する方法

現在システムにインストールされている OS インスタンスを格納する grub.cfg ファイルを手動で再生成するには、bootadm generate-menu コマンドを使用します。

/usr/lib/grub2/bios/etc/default/grub または /usr/lib/grub2/uefi64/etc/default/grub ファイルからの情報と GRUB メタ構成ファイル rpool/boot/grub/menu.conf からの情報を組み合わせて使用して、最終的な grub.cfg ファイルが生成されます。

  1. root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. grub.cfg ファイルを生成します。
    # bootadm generate-menu
    • grub.cfg ファイルがすでに存在する場合、-f オプションを使用して、既存のファイルを上書きします。
      # bootadm generate-menu -f
    • 次のように、現在のルートプール以外のルートプールの新しい GRUB メニューを生成します。
      # bootadm generate-menu -P pool-name
  3. メニューが変更を反映して更新されていることを確認してください。
    # bootadm list-menu

    注 - 変更が表示されない場合は、grub.cfg ファイルを調べて、変更が実行されているか確認します。


x86: GRUB メニューの保守方法

GRUB メニューを保守するには、bootadm コマンドの set-menu サブコマンドを使用します。たとえば、このコマンドを使用して、メニューのタイムアウトや GRUB メニューのデフォルトのブートエントリを変更できます。

  1. root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. (省略可能) GRUB メニューエントリを一覧表示します。
    # bootadm list-menu
  3. GRUB メニューに必要な変更を行ないます。
    # bootadm set-menu [-P pool] [-R altroot [-p platform]] key=value

    set-menu サブコマンドを使用して指定可能な各値の詳細については、bootadm(1M) のマニュアルページを参照してください。set-menu サブコマンドを使用できる一般的な方法の例では、この手順に従います。

  4. 変更が行なわれたことを確認します。
    # bootadm list-menu

    注 - 変更が表示されない場合は、grub.cfg ファイルを調べて、変更が実行されているか確認します。


例 2-1 GRUB メニューのデフォルトのブートエントリを変更する

GRUB メニューでデフォルトのエントリ番号 (0、1、2 など) を設定するには、適切な key=value オプションを付けて bootadm set-menu コマンドを使用します。この番号は、タイマーの期限が切れたときにブートされるオペレーティングシステムを指定します。

たとえば、次の bootadm list-menu コマンドの出力では、デフォルトのブートエントリが 2 (Oracle Solaris 11_test) として示されています。

# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 2
console graphics
timeout 30
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 Oracle Solaris 11_test

この例では、コンソールは graphics モードに設定されます。コンソールに設定できるその他のモードには、textserial があります。

次のようにして、デフォルトのブートエントリを 1 に設定できます。

# bootadm set-menu default=1
# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 1
console graphics
timeout 30
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 GRUB2

この例では、デフォルトのメニューエントリが現在 1 になっています。システムはリブートすると、デフォルトのタイマーの期限が切れたあとに、新しい Oracle Solaris エントリを自動的にブートします。

change-entry サブコマンドを使用して、GRUB メニューにデフォルトのエントリを設定することもできます。「x86: GRUB メニューの指定したブートエントリの属性を設定する方法」を参照してください。

例 2-2 GRUB メニューのメニュータイムアウト値を変更する

メニュータイムアウト値を設定するには、適切な key=value オプションを付けて bootadm set-menu コマンドを使用します。

次の例では、bootadm list-menu コマンドの出力で、45 秒に変更された 30 秒のデフォルトのタイムアウト値を示しています。変更は、次回にシステムをブートしたときに有効になります。

# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 2
console graphics
timeout 30
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 Oracle Solaris 11_test
# bootadm set-menu timeout=45
# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 2
console graphics
timeout 45
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 Oracle Solaris 11_test

例 2-3 GRUB コンソールタイプを設定する

bootadm コマンドの set-menu サブコマンドを使用して設定できる 1 つの値は、コンソールタイプです。この方法でのコンソールタイプの変更は、システムのリブートをまたがって維持されます。

たとえば、次のように、grub.cfg ファイルで、コンソールタイプを serial に設定します。

# bootadm set-menu console=serial

標準テキストコンソールの場合、コンソールタイプを text に設定することもできます。BIOS シリアルリダイレクトを使用している場合、このオプションを選択します。またはコンソールタイプを graphics に設定できます。このオプションは追加のグラフィカルメニューを提供し、背景画像が使われます。

コンソールタイプを serial に設定すると、ブート時のシリアルポートの初期化時に GRUB 2 が使用するシリアルパラメータを構成できます。serial_params 値を指定しないと、デフォルトは、シリアルポート 0 (COM1/ttya) を使用し、速度を指定しません。速度を指定しないで、ポートのみを指定した場合 (serial_params=0 など)、使われる速度は不定で、GRUB が実行する前にシリアルポートが初期化された速度になります。特定の速度が使われるようにする場合は、serial_params で明示的に設定する必要があります。

次のように、serial_params キー値を bootadm コマンド行に追加します。

# bootadm set-menu console=serial serial_params=port[,speed[,data bits[,parity[,stop bits]]]]
port

ポート番号です。ポート ttya から ttyd または COM1 から COM4 をそれぞれ指定するには、0 から 3 の任意の数を使用できます (通常、ttya または COM1 には 0 が使われます)。

speed

シリアルポートで使用する速度です。この値を省略した場合、GRUB 2 はシリアルポートで使用するように初期化された速度を使用します。シリアルポートが初期化されていない場合は、速度を指定しないと、予測できない出力になることがあります。シリアルポートが初期化されているかどうかわからない場合、また BIOS コンソールリダイレクトを使用しない場合は、速度値を指定することをお勧めします。

data bits

7 または 8 の値で指定します。

parity

eo n (even、odd、none) としてそれぞれ指定します。

stop bits

0 または 1 の値で指定します。

port パラメータを除くすべてのシリアルパラメータはオプションです。

x86: GRUB メニューの指定したブートエントリの属性を設定する方法

bootadm コマンドの change-entry サブコマンドを使用して、GRUB メニューの指定したブートエントリ、またはエントリのカンマ区切りのリストの特定のブート属性を設定します。エントリは、エントリタイトルまたはエントリ番号で指定します。複数のエントリが同じタイトルの場合、すべてのエントリが影響を受けます。


注 - 特殊なプロパティー set-default は、タイマーの期限が切れたときに、ブートするデフォルトのエントリを設定します。このサブコマンドは、set-menu default=value サブコマンドと同じように機能します。例 2-1 を参照してください。


ブート時に、GRUB メニューを編集して、特定のブートエントリの属性を設定する方法については、「x86: ブート時に GRUB メニューを編集してカーネル引数を追加する」を参照してください。

  1. root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. (省略可能) GRUB メニューエントリを一覧表示します。
    # bootadm list-menu
  3. 指定したエントリのブート属性を設定します。
    # bootadm change-entry [-P pool] {[entry-title[,entry-title...]}]
        | -i entry-number[,entry-number]...]} { key=value [ key=value ...]
        | set-default }

    空白を含む値を指定する場合は、値を引用符または二重引用符で囲む必要があります。

    change-entry サブコマンドを使用して指定可能な各値の詳細については、bootadm(1M) のマニュアルページを参照してください。change-entry サブコマンドを使用する一般的な方法の例については、次の手順に従います。

  4. 指定したエントリに変更が行なわれたことを確認します。
    # bootadm list-menu

    注 - 変更が表示されない場合は、grub.cfg ファイルを調べて、変更が実行されているか確認します。


例 2-4 GRUB メニューの指定したブートエントリのタイトルを設定する

bootadm コマンドの change-entry サブコマンドを使用して、指定したブートエントリのタイトルを設定できます。タイトルを設定する場合、エントリ番号またはエントリタイトルのいずれかを指定できます。次の例に、指定したブートエントリに両方の方法でタイトルを設定する方法を示します。複数のエントリが同じタイトルの場合、すべてのエントリが影響を受けます。

次のように、エントリ番号を指定してブートエントリのタイトルを設定します。

# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 1
console graphics
timeout 30
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 Oracle Solaris 11_test
# bootadm change-entry -i 2 title="Oracle Solaris 11-backup1"
# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 2
console graphics
timeout 45
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 Oracle Solaris 11-backup1

次のように、タイトルを指定してブートエントリのタイトルを設定します。

# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 1
console graphics
timeout 30
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 Oracle Solaris 11_test
# bootadm change-entry "Oracle Solaris 11_test" title="Oracle Solaris 11-backup1"
# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 2
console graphics
timeout 45
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 Oracle Solaris 11-backup1

例 2-5 カーネル引数を指定してブートエントリを変更する

次の例に、bootadm コマンドの change-entry サブコマンドを使用して、指定したブートエントリのカーネルブート引数を設定する方法を示します。

この例では、シングルユーザーモードでのブートにエントリ番号 1 が設定されています。

# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 1
console graphics
timeout 30
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 Oracle Solaris 11_test
# bootadm change-entry -i 1 kargs=-s
# bootadm list-menu -i 1
The location of the boot loader configuration files is: /rpool/boot/grub
     title: Oracle Solaris 11.1
     kernel: /platform/i86pc/kernel/$ISADIR/unix
     kernel arguments: -s
     boot archive: /platform/i86pc/$ISADIR/boot_archive
     ZFS root pool: rpool

この例では、複数のカーネル引数がブートエントリ番号 2 に指定されています。

# bootadm change-entry -i 2 kargs="-v -s"
# bootadm list-menu -i 2
The location of the boot loader configuration files is: /rpool/boot/grub
     title: Oracle Solaris 11_test
     kernel: /platform/i86pc/kernel/$ISADIR/unix
     kernel arguments: -v -s
     boot archive: /platform/i86pc/$ISADIR/boot_archive
     bootfs: rpool/ROOT/snv_160-nightly-1

この例では、-v オプションと -s オプションが指定されており、システムを冗長モードのシングルユーザー状態にブートします。

空白を含む属性 (または複数の属性) を設定する場合は常に、値を引用符または二重引用符で囲む必要があります。

例 2-6 -B オプションを使用してカーネル引数を指定してブートエントリを変更する

次の例に、-B オプションを使用して、特定のブートエントリのカーネル引数を設定する方法をいくつか示します。

次のように、ブート時に e1000g ネットワークドライバを無効にし、カーネルデバッガをロードします。

# bootadm change-entry -i 0 kargs="-B disable-e1000g=true -k"

bootadm change-entry コマンドを使用して、複数の -B オプションを指定できます。たとえば、次のいずれかのコマンドを使用して、e1000g ドライバおよび ACPI を同時に無効にします。

# bootadm change-entry -i 0 kargs="-B disable-e1000g=true -B acpi-user-options=2"
# bootadm change-entry -i 0 kargs="-B disable-e1000g=true,acpi-user-options=2"

-B オプションを使用して、指定したブートエントリを編集して、ブート時に特定のブート属性を設定することもできます。手順については、「x86: ブート時に GRUB メニューを編集してカーネル引数を追加する」を参照してください。

例 2-7 以前に追加されたカーネル引数をブートエントリから削除する

次の例では、特定のブートエントリからカーネル引数 (-s) を削除します。

# bootadm list-menu -i 1
the location of the boot loader configuration files is: /rpool/boot/grub
title: s11.1.backup
kernel: /platform/i86pc/kernel/amd64/unix
kernel arguments: -s
boot archive: /platform/i86pc/amd64/boot_archive
bootfs: rpool/ROOT/s11.1.backup
# bootadm change-entry -i 1 kargs=
# bootadm list-menu -i 1
the location of the boot loader configuration files is: /rpool/boot/grub
title: s11.1.backup
kernel: /platform/i86pc/kernel/amd64/unix
kernel arguments:
boot archive: /platform/i86pc/amd64/boot_archive
bootfs: rpool/ROOT/s11.1.backup

x86: GRUB メニューにブートエントリを追加する方法

指定したエントリタイトルで、新しいエントリを GRUB メニューに追加するには、bootadm コマンドの add-entry サブコマンドを使用します。エントリ番号を指定すると、新しいエントリが GRUB メニューの特定の位置に挿入されます。または、エントリ番号がメニュー内の現在のエントリ数よりも大きい場合、エントリはメニューの最後のエントリとして追加されます。

  1. root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. (省略可能) GRUB メニューの現在のブートエントリを一覧表示します。
    # bootadm list-menu
  3. GRUB メニューに新しいブートエントリを追加します。
    # bootadm add-entry -P pool -i [entry-number] entry-title
  4. 次のように、新しく追加されたエントリに bootfs プロパティーを設定します。
    # bootadm change-entry -i new-entry-number bootfs='pool-name/ROOT/be-name'

    この手順により、新しく追加されたブートエントリが、bootfs pool-level プロパティーに指定され、ルートプールに設定されているデフォルトの bootfs 値を使用しません。

  5. ブートエントリが追加されたことを確認します。
    # bootadm list-menu

    注 - 変更が表示されない場合は、grub.cfg ファイルを調べて、変更が実行されているか確認します。


例 2-8 x86: GRUB メニューにブートエントリを追加する

次の例に、bootadm add-entry コマンドを使用して、GRUB メニューにメニューエントリを追加する方法を示します。この例では、エントリ番号 2 が追加されます。

# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 2
console graphics
timeout 30
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
# bootadm add-entry -i 2  Oracle Solaris 11_test
# bootadm change-entry -i 2 bootfs='rpool/ROOT/test'
# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 2
console graphics
timeout 30
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 Oracle Solaris 11_test

次のように、エントリ番号を指定して、新しいメニューエントリの内容を表示します。

# bootadm list-menu -i 2
     the location of the boot loader configuration files is: /rpool/boot/grub
     title: Oracle Solaris 11_test
     kernel: /platform/i86pc/kernel/amd64/unix
     kernel arguments: -B $ZFS-BOOTFS
     boot archive: /platform/i86pc/amd64/boot_archive
     ZFS root pool: rpool

x86: GRUB メニューからブートエントリを削除する方法

GRUB メニューから、指定したエントリ、またはエントリのカンマ区切りのリストを削除するには、bootadm コマンドの remove-entry サブコマンドを使用します。同じタイトルの複数のエントリを指定すると、そのタイトルのすべてのエントリが削除されます。

  1. root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. (省略可能) 現在のブートエントリを一覧表示します。
    # bootadm list-menu
  3. GRUB メニューから指定したエントリを削除します。
    # bootadm remove-entry [-P pool] [{entry-title [,entry-title...] |
        -i entry-number[,entry-number...]}
  4. エントリが削除されていることを確認します。
    # bootadm list-menu

    注 - 変更が表示されない場合は、grub.cfg ファイルを調べて、変更が実行されているか確認します。


例 2-9 x86: GRUB メニューからブートエントリを削除する

次の例では、GRUB メニューからのエントリ番号 2 の削除を示しています。

# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 2
console graphics
timeout 30
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1
2 Oracle Solaris 11_test
bootadm remove-entry -i 2
1 entry removed
# bootadm list-menu
The location of the boot loader configuration file is /rpool/boot/grub
default 2
console graphics
timeout 30
0 Oracle Solaris 11/11
1 Oracle Solaris 11.1