Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

bootadm(8)

名前

bootadm - ブート構成の管理

形式

/usr/sbin/bootadm update-archive [-v] [
-f | -n] [-R altroot]
/usr/sbin/bootadm list-archive [-vn] [-R altroot]
/usr/sbin/bootadm install-bootloader [-fv] [
-P pool] [-R 
path]
     [device1 ... deviceN]
/usr/sbin/bootadm boot-pool {
     [{add|remove} [-P rpool] <device list>] |
     list [-P rpool] |
     resync [-P rpool] [-vA] [<BE_list>] |
     set [-P rpool] <param>=<value> ... }
x86 only
/usr/sbin/bootadm install-bootloader [-BGMfrsv] [-P pool] [-R path]
 	    [device1 ... deviceN]
/usr/sbin/bootadm set-menu [-P 
pool] [-R altroot]
     {key=value [
key=value ...]}
/usr/sbin/bootadm set-menu-password [-P pool] [-R altroot]
          [-f <path to file>] | -s] | [-r] | [-l -t [-i entry_number] | -g]
/usr/sbin/bootadm list-menu [-P 
pool] [-R altroot]
     [[-i entry_number] | 
entry_title]
/usr/sbin/bootadm generate-menu [-P 
pool] [-f]
/usr/sbin/bootadm show-entry [-P pool] <entry_name> | -i <index>
/usr/sbin/bootadm add-entry [-P 
pool] [-i entry_number] 
entry_title
/usr/sbin/bootadm change-entry [-P 
pool] {[entry_title[,entry_title
...]
| -i entry_number[,entry_number
]...]} {key=value [
key=value ...]
| set-default }

/usr/sbin/bootadm remove-entry [-P 
pool] {[entry_title[,entry_title
...]
| -i entry_number[,entry_number
]...]}

説明

bootadm コマンドは、ブートアーカイブのほか、x86 ブート環境、GRUB (GRand Unified Bootloader) メニューを管理します。x86 では、レガシー GRUB および GRUB2 の両方が (ただし同時ではない) サポートされます。

update–archive オプションを使えば、ブートアーカイブの更新を、障害予防策として、あるいは復旧手順の一環として、実施できます。

set-menu サブコマンドを使えば、GRUB メニュー内の自動ブートタイムアウトやデフォルトブートエントリを切り替えることができます。

set-menu-password サブコマンドは、GRUB メニューを表示しないように保護するパスワードを設定します。設定するには、–f <path to file> を使用します。–s を使用すると、パスワードの入力を 2 回求めます。–r はパスワードを削除します。–l はグローバルなメニューパスワードロックが設定されているかどうかを表示します。メニューエントリの userlist –l –t はメニューエントリの userlist を解析可能な出力で表示します。–l –t –i <entry number> はそのエントリ番号リストの userlist を解析可能な出力で表示します。–l –t –g はグローバルなメニューパスワードロックが設定されているかどうかを解析可能な出力で表示します。

list-menu サブコマンドは、現在の GRUB メニューエントリ、あるいはオプションでインデックスにより識別される特定のエントリの詳細 (–i を使用する場合) またはタイトル文字列 (–i を省略する場合) を表示します。

install-bootloader サブコマンドは、システムブートローダーをインストールします。x86 での GRUB2 のブートローダーのインストールをサポートする機能に優先されます。

アクティブなブートプールが存在する場合、ブート可能データセットは保持されます。それぞれは 1 つのブート環境に対応し、ブート環境のブート可能な アーティファクト (boot_archive (x64 および SPARC プラットフォーム) および UNIX カーネル実行可能ファイル (x64 プラットフォームのみ) など) を格納しています。管理者は boot-pool サブコマンドを使用して、デバイスメンバーシップ (add/remove サブコマンドを使用)、ブートアーティファクトの手動同期 (resync サブコマンドを使用)、ブートプール属性の設定 (set サブコマンドを使用) などのブートプールの側面を管理できます。

generate-menu サブコマンドは、Solaris エントリ用の新しいメニュー構成ファイルの作成方法を提供します。ブートローダー構成ファイルがすでに存在する場合は、–f を指定して、このサブコマンドでこれらのファイルを強制的に上書きする必要があります。

show-entryadd-entrychange-entry、および remove-entry サブコマンドには、GRUB メニューからエントリを表示、追加、変更、または削除するオプションがあります。change-entry には、エントリにセキュリティー保護を追加するオプションもあります。

SPARC システムなどの OpenBoot PROM (OBP) ベースのマシンは GRUB を使用しないため、bootadm で管理できるブートメニューがないことに注意してください。

あるプラットフォーム上で呼び出される bootadm を使用して、プラットフォームの種類が異なるディスクレスクライアントを管理できるように、bootadm コマンドは、管理対象のイメージでサポートされるオプションを動的に判断します。

サブコマンド

entry_title の指定をサポートするサブコマンドの場合、entry_title は二重引用符または単一引用符で囲むことのできる文字列です。

entry_number は、GRUB メニュー内のメニューエントリのインデックスを表す負でない整数です。

bootadm コマンドのサブコマンドを、次に示します。

update-archive [–v] [–f | –n] [–R altroot]

現在のブートアーカイブを必要に応じて更新します。SPARC と x86 の両方のプラットフォームに適用されます。

list-archive [–vn] [–R altroot]

ブートアーカイブに含めるファイルとディレクトリを一覧表示します。SPARC と x86 の両方のプラットフォームに適用されます。

set-menu [–vn] [–R altroot] {key=value [key=value]...}

GRUB メニューを維持管理します。スペースで区切った鍵 - 値ペアのリストを指定できます。

key=value

指定可能な値は、次のとおりです。

default=entry_number

GRUB メニュー内のエントリ番号 (012 0、1、2 など) で、タイムアウト時にブートするオペレーティングシステムを指定します。

timeout=seconds

デフォルト項目番号で指定されたオペレーティングシステムがブートされるまでの秒数。値が -1 の場合、自動ブートは無効になります。

console=GRUB_console_type

GRUB で使用するコンソールのタイプを設定します。

指定可能な値は、次のとおりです。

'text'

高解像度コンソールを選択します。

'graphics'

高解像度コンソールを選択し、これによりさらにグラフィカルブートが実行されます。BIOS コンソールリダイレクションが有効な場合は、コンソールの設定に graphics を使用してはいけません。

'serial'

GRUB ブートローダー用のシリアルコンソール。シリアルパラメータ固有の設定については、次の serial_params を参照してください。

BIOS コンソールリダイレクションが有効な場合は、console の設定に 'serial' を使用してはいけません。

シリアルコンソールによるブートでシステムをインストールする場合、そのシリアルコンソールが Oracle Solaris のカーネルデフォルトコンソールデバイスになります。ただし、GRUB のコンソールは serial に変更されません ('text' になります)。

[add|del]-user=<username>

承認されたユーザーのリストにユーザー名を追加または削除します。パスワードの入力を 2 回求めます。パスワードがハッシュされた形式で格納されます。ユーザー名は Solaris ユーザー名と同じである必要はありません。

[auth-file]=<file path>

承認されたユーザーのリストに <file path> 内のユーザー名とパスワードを追加します。<file path> は、<username>=<password> ペアが入っているファイルです。

[add|del]-superuser=<username>

スーパーユーザーのリストにユーザー名を追加または削除します。ユーザー名は承認されたユーザーのリストにすでに存在している必要があります。

serial_params='port[, speed[,databits[,parity[, stopbits[,flowcontrol]]]]]'

シリアルコンソール用のシリアルパラメータを指定します。

port は、シリアルポート番号を指定する数値です。

speed は、接続のデータ転送率 (ビット/秒) を指定する数値です。

databits は、各文字内のデータビット数です。

parity には、転送エラーを検出する方法を指定します。指定可能な値は、次のとおりです。

  • N - パリティーなし

  • O - 奇数パリティー

  • E - 偶数パリティー

parity の値では、大文字と小文字が区別されません。

stopbits には、文字伝送で送信されるストップビットを指定します。指定可能な値は 0 または 1 です。

flowcontrol にはフロー制御を指定します。指定可能な値は、次のとおりです。

  • H - ハードウェアフロー制御

  • S - ソフトウェアフロー制御

  • N - フロー制御なし

serial_params を設定しない場合、デフォルトは次のとおりです:

0,9600,8,N,1,N

これにより、ボーレート 9600 ビット/秒、パリティーチェックなし、1 文字 8 ビットのデータビット、ストップビット 1、およびデフォルトのフロー制御なしで最初のシリアルポート (COM1) が作成されます。

quiet

コンソールへの通知メッセージの出力を抑制するかどうかを指定します。デフォルトでは、この値は false です。

指定可能な値は true または false です。

splashimage

ブート時に表示するイメージとして使用するファイルのパスを指定します。

foreground

前景色を設定します。これは、RRGGBB 形式の 16 進数値の文字列で、RR は赤、GG は緑、BB は青です。

background

背景色を設定します。指定可能な値については、foreground を参照してください。

set-menu-password [–R altroot] [–f <path to file> | –s] [–r]
[–l –t [–i entry_number[,entry_number]...]|–g]

GRUB メニューを表示しないように保護するパスワードを設定または削除します。また、GRUB メニュー全体のパスワードが設定されているかどうか、および各メニューエントリの userlist を表示します。

list-menu [–P pool] [–R altroot]

現在の GRUB メニューエントリを一覧表示します。これには、自動ブートタイムアウト、デフォルトエントリ番号、および各エントリのタイトルが含まれます。x86 プラットフォームにのみ適用されます。エントリタイトルまたはエントリインデックスを指定すると、その特定エントリの詳細が出力されます。

generate-menu [–P pool]

システムに現在インストールされている Solaris エントリのみを含む新しいメニュー構成を作成します。

bootadm show-entry [–P pool] <entry_name> | –i <index>

メニューから名前 <entry_name> またはインデックスによって見つかったエントリを表示します。entry_nameindex には、複数のエントリまたはインデックスをコンマで区切ったリストも指定できます。

add-entry [-P pool] [-i entry_number] entry_title

指定されたエントリタイトルを使って、メニュー内に新規エントリを作成します。

entry_number が指定された場合、新しいエントリを指定された位置に挿入するか、指定された entry_number が現在のエントリ数よりも多い場合に最後のエントリとして追加します。

change-entry [–P pool]
{[entry_title[,entry_title...] | –i entry_number[,entry_number]...]}
{ key=value [ key=value ...] | set-default }

指定されたエントリまたはコンマ区切りのエントリのリストを変更します。エントリは、エントリタイトルまたはエントリ番号で指定します。同じタイトルのエントリが複数存在する場合、すべてが影響を受けます。

特殊なプロパティー set-default は、エントリを、タイマーの期限が切れたときにブートするデフォルトエントリに設定します。このプロパティーを指定する場合、サブコマンド内のエントリを 1 つだけ指定できます。

空白区切りの鍵 : 値ペア (key =value) のリストを指定できます。

指定可能な値は、次のとおりです。

title=entry_title

エントリの新規タイトル。

kernel=path_to_kernel

カーネルのパス。例:

/platform/i86pc/kernel/amd64/unix
kargs=kernel_arguments

ブート時にカーネルに渡される引数、または引数のリスト。指定可能なオプションについては、kernel(8) を参照してください。リストに空白が含まれる場合は、鍵の値を単一引用符または二重引用符で囲みます。

boot_archive=path_to_boot_archive

ブートアーカイブのパス。

bootfs=bootfs

bootfs プロパティーの値。詳細は、zpool(8) を参照してください。

[add|del]-auth=<username>

ユーザー名に対して、エントリタイトルまたはエントリインデックスをブートする特権を付与または付与を取り消します。

remove-entry [–P pool] [{entry_title [,entry_title ...] | –i entry_number[, entry_number]}

指定されたエントリまたはコンマ区切りのエントリリストを削除します。指定されたタイトルのエントリが複数存在する場合は、すべてが削除されます。

install-bootloader [–BGMfrsv] [–P pool] [–R path] [device1 ... deviceN]

システムブートローダーをインストールします。デバイスのリストが指定された場合、指定されたデバイスのみにブートローダーがインストールされます。それ以外の場合、システム構成から自動的に抽出されるデバイスのリストにブートローダーがインストールされます。

デバイスは、ルートファイルシステムが存在するディスク上のスライスまたはパーティションの raw 文字デバイスの名前です。

レガシー BIOS ファームウェアを備える x86 のみ

デフォルトでは、ブートローダーと MBR はプライマリブートディスクにインストールされます。これは、–M–f (–fM) を指定した場合と同じです。

MBR のインストールを無効にするには、–B オプションを指定する必要があります。

ブートローダーのインストールを無効にするには、–G オプションを指定する必要があります。

UEFI ファームウェアを備える x86 のみ

デフォルトでは、セキュアブートは無効になっています。

セキュアブートをインストールするには、–s オプションを使用します。

セキュアブートをアンインストールするには、–r オプションを使用します。


注 -  アンインストール処理後、リブート時に UEFI BIOS 設定でセキュアブートを無効にします。
boot-pool {
[{add|remove} [–P rpool] <device list>] |
list [–P rpool] |
resync [–P rpool] [-vA] [<BE_list>] |
set [–P rpool] <param>=<value> ... }

boot-pool サブコマンドは、アクティブなブートプールを操作します (ブートプールを有効にしてシステムがインストールされている場合)。一部のプラットフォームでは、ブートプールに含める必要があるデバイスのセットが定義されます。その他のプラットフォームでは、ブートプールを構成するためインストール時に管理者がデバイスのセットを選択する必要がある場合があります。インストール後、ブートプールのデバイスのセットを変更および検査できます。また、ブートプールの動作も変更できます。ブートプール内の各デバイスは、障害が発生して交換された場合、プールに自動的に再追加されるため、ブートプール内のデバイスのセットが指定されているかぎり、デバイスが交換され、プールを再構築するときに、管理者の操作は必要ありません。

各サブコマンドは、ルートプールを明示的に選択できる –P 引数を受け入れます。

–P 引数が指定されていない場合、ルートプールはルートファイルシステムのデータセットが配置されているプールから派生します。

add [–P rpool] <device list>

ブートプールにデバイスを追加します。デバイスはただちに追加されます。独自にブート可能になるように、新たに追加されたデバイスが再同期化されるまで、システムの再起動を延期する必要があります (ブートプールはミラーであるため、再同期のプロセスが完了したあとに、ブートローダーはミラーの各デバイスにインストールされます)。

remove [–P rpool] <device list>

ブートプールからデバイスをただちに削除します。

list [–P rpool]

ブートプールの構成と設定に関する詳細を出力します。

resync [–P rpool] [-vA] {<BE_list>}

ブートプールを再同期化します (必要に応じて、以前に構成したデバイスのセットを使用して再構築します)。また、指定されたブート環境 (存在する場合) のブートプールにブート可能なデータセットを作成します。コマンドオプションは次のとおりです:

–A

最後にブートされたまたは作成されたブート環境を使用してブートプール全体にデータを再度取り込みます。

–v

再同期中の詳細出力

set [–P rpool] <param>=<value> ...

指定された値に指定されたブートプールパラメータを設定します。

次のパラメータがサポートされています。

eviction_algorithm

eviction_algorithm には、値として none または lru のいずれかを指定できます。デフォルトでは、この値は lru に設定されます。

eviction_algorithmnone に設定されていて、ブート環境のブート可能なファイルをブートプールにコピーする必要がある場合、ブートプールに十分な領域がないと、コピー操作は失敗します。システムの最大パフォーマンスを確保するため、ブートプールが最大容量の 85% を超えることは許可されていません。

eviction_algorithmlru に設定されている場合、コピー操作が成功するために十分な領域が確保されるまで、最長時間未使用のブート環境に対応するブート可能なデータセットが強制的に排除されます。noevict BE ポリシー (BE ごとに設定可能) は、この動作を変更して、これらの BE の強制的排除を停止しますが、たくさんの BE が noevict とマークされると、システムはデータセットを強制的に排除することによって十分な空き領域を見出すことができないために、ブート可能なデータセットの作成に失敗する可能性があることに注意してください。

オプション

bootadm コマンドには、次のオプションがあります。

–f

update-archive の場合、アーカイブが最新であったとしても、ブートアーカイブの更新を強制します。

install-bootloader のインストール時に、ブートローダーのインストールを強制的に実行して、システムのブートローダーのバージョンをダウングレードしないようにするためのバージョンチェックをすべてバイパスします。これはデフォルトの動作です。

–B [レガシー BIOS ファームウェアを備える x86 システムのみ]

レガシー BIOS ファームウェアを備える x86 システム上の install-bootloader 処理の場合は、マスターブートレコード (MBR) にブートローダーをインストールしないでください。デフォルトでは、マスターブートレコード (MBR) にブートローダーをインストールします。これがシステムブートローダーになります。

–G

install-bootloader インストールの場合、ブートローダーをインストールしないでください。また、システム上でブートローダーのバージョン管理チェックを実行する必要があります。

–i

指定された操作の適用先エントリ番号またはコンマ区切りのエントリ番号のリスト。

–M [レガシー BIOS ファームウェアを備える x86 システムのみ]

これが、レガシー BIOS ファームウェアを備える x86 システム上で install-bootloader 処理を行なった場合のデフォルトの動作です。デフォルトで、マスターブートレコード (MBR) にブートローダーをインストールします。これがシステムブートローダーになります。このオプションは廃止されており、おそらく将来のリリースで削除されます。

–n

update-archive 処理の場合、アーカイブ内容のチェックは行われますが、その更新は行われません。

–P pool

使用する指定されたプールに関連付けられたブート構成。このオプションを使用しない場合、現在のプール (システムのブート元) がブート構成に使用されます。

–R altroot

操作は、パスまたは代替ルートパスに適用されます。


注 - いかなる非大域ゾーンのルートファイルシステムも –R で参照しないでください。この操作によって、大域ゾーンのファイルシステムを損傷したり、大域ゾーンのセキュリティを損ねたり、非大域ゾーンのファイルシステムを損傷する可能性があります。zones(7) を参照してください。
–v verbose mode

update-archive 処理の場合、無効なファイルが stderr に表示されます。install-bootloader 操作で冗長モードを有効にして、プロセスの詳細を出力します。

使用例 1 現在のブートアーカイブの更新

次のコマンドは、現在のブートアーカイブを更新します。

# bootadm update-archive
使用例 2 別のルート上にあるブートアーカイブの更新

次のコマンドは、別のルート上にあるブートアーカイブを更新します。

# bootadm update-archive -R /a
使用例 3 デフォルトブートエントリの切り替え

次のコマンドは、1 つ前の例で表示されたメニューを参照しています。ユーザーは、Linux (項目 2) を選択しています。

# bootadm set-menu default=2

または

# bootadm change-entry -i 2 set-default
使用例 4 GRUB メニューエントリの一覧表示

次のコマンドは、GRUB メニューエントリを一覧表示します:

# 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
使用例 5 メニューエントリの表示

次のコマンドは、「Solaris10」のタイトルでメニューエントリの情報を表示します。

# bootadm show-entry "Solaris10"

次のコマンドは、GRUB メニューの位置 0 および 2 にエントリの情報を表示します。

# bootadm show-entry -i 0,2
使用例 6 メニューエントリの追加と変更

次のコマンドは、「New Solaris Entry」というタイトルのメニューエントリを GRUB メニュー内の 8 番目の位置に追加します。

# bootadm  add-entry -i 8  "New Solaris Entry"

次のコマンドは、追加したばかりのエントリをカーネル引数 –s 使って変更して、レベル s でブートします。

# bootadm  change-entry "New Solaris Entry" kargs="-s"
使用例 7 2 番目のルートプールへのブートローダーのインストール

次のコマンドは、ブートローダーをプール secondrpool にインストールします。

# bootadm install-bootloader -P secondrpool
使用例 8 前景色と背景色の設定

次のコマンドは、前景色を赤色に、背景色を青色に設定します。

# bootadm set-menu splashimage=/boot/grub/splash.xpm.gz \

foreground=ff0000 background=0000ff
使用例 9 アクティブなブートプールに関する情報の表示
# bootadm boot-pool list                                              
Boot pool name: bpool                                                  
Parameters: eviction_algorithm=lru                                    
Current: /dev/dsk/c1t0d0, /dev/dsk/c1t1d0                              
Pending: /dev/dsk/c1t0d0, /dev/dsk/c1t1d0                              
Platform-specified devices excluded: /dev/dsk/c1t2d0                  
Platform-specified (auto-added, unless excluded): /dev/dsk/c1t0d0,

この例では、プラットフォームに 3 つのブートプールデバイスが指定されていますが、システムはそれらのうち 2 つしか使用していません。現在のブートプールデバイスのリストは、保留中のブートプールデバイスのリストと同じであるため、保留中のブートプールのメンバーシップの変更はありません。アクティブなブートプールがない場合、次の出力が返されます。

bootadm: Boot pool operations are not applicable to root pool rpool.

終了ステータス

次の終了ステータスが返されます。

0

コマンドが正常に完了しました。

1

エラーが発生したため、コマンドが終了しました。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
確実

bootadm は、デフォルトでは TMPDIR の設定に関係なく /var/tmp に一時ファイルを格納します。

関連項目

attributes(7)grub(7)boot(8)kernel(8)zpool(8)

次の GRUB ホームページを参照してください。

http://www.gnu.org/