ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
x86 プラットフォーム上の Oracle Solaris のブートおよびシャットダウン Oracle Solaris 11 Information Library (日本語) |
1. x86 ベースシステムのブートおよびシャットダウン (概要)
2. 指定された状態への x86 ベースシステムのブート (タスク)
5. x86 ベースシステムのネットワークからのブート (作業)
6. x86 ベースシステム上のブートパラメータの変更 (タスク)
x86 ベースシステム上のブートパラメータの変更 (タスクマップ)
eeprom コマンドを使用したブートパラメータの表示および設定
eeprom コマンドを使用してブートパラメータを変更する方法
menu.lst ファイルの編集によるブートエントリとパラメータの変更
Oracle Solaris のインストール後に Linux エントリを GRUB メニューに追加する方法
bootadm コマンドを使用したブートエントリのパラメータの表示および設定
7. x86 プラットフォーム上での ZFS ブート環境の作成、管理、およびこのブート環境からのブート (タスク)
8. x86 ベースシステムのブート可能状態の維持 (タスク)
x86 ベースシステム上のブートパラメータを変更するための主な方法は次のとおりです。
eeprom コマンドを使用する方法
eeprom コマンドを使用して、一連の標準パラメータに別の値を割り当てます。これらの値は、SPARC の OpenBoot PROM NVRAM 変数と等価で、/boot/solaris/bootenv.rc ファイルまたは menu.lst ファイルに格納されます。eeprom コマンドを使用してブートパラメータに加えた変更は、システムをリブートしても持続し、ソフトウェアのアップグレード中も保持されます。詳細は、eeprom(1M) のマニュアルページを参照してください。
注意 - menu.lst ファイルを直接編集する場合、特定のブートパラメータ (boot-file、boot-arguments、および console) を、eeprom コマンドを使用してあとから変更することはできません。 |
ブート時に GRUB メニューを編集する方法
ブート時にデフォルトのカーネル使用法を変更して加えた変更は、eeprom コマンドを使用して設定するオプションより優先されます。ただし、これらの変更の効果は、次にシステムをブートするまでしか持続しません。詳細は、kernel(1M) のマニュアルページを参照してください。
GRUB 構成ファイルを編集する
特定のブートパラメータのデフォルト値を確認するには、次のように eeprom コマンドを使用します。
$ eeprom parameter
たとえば、boot-device パラメータのデフォルト値を表示するには、次のように入力します。
$ eeprom boot-device
注 - ブートパラメータを表示するために root ユーザーである必要はありません。ただし、eeprom コマンドを使用してブートパラメータやその他の任意のパラメータを変更するには、root ユーザーになる必要があります。
# eeprom parameter=new-value
# eeprom parameter
この出力には、指定したパラメータの新しい eeprom 値が表示されるはずです。
例 6-1 eeprom コマンドを使用して auto-boot パラメータを設定する
次の例では、auto-boot ブートパラメータを true に設定する方法を示します。
# eeprom auto-boot?=true
eeprom コマンドをユーザーモードで実行するときは、シェルが疑問符を解釈しないようにするために、末尾に疑問符 (?) の付いたすべてのパラメータを二重引用符で囲む必要があります。疑問符の前にエスケープ文字 ( \) を付けても、シェルが疑問符を解釈しなくなります。例:
# eeprom "auto-boot?"=true
ブート時にシステムのブート動作を変更するには (たとえば、システムをシングルユーザー状態にしたり、カーネルデバッガを有効にしたりした状態でブートする場合など)、GRUB メニューが表示されたときに e を入力することによってブートプロセスに割り込み、GRUB メニューでブートエントリを編集します。
次の一覧では、ブート時に GRUB メニューを編集して指定できるブート引数とオプションについて説明します。
ブートするカーネルを指定します。
構成情報の入力を求めるプロンプトを表示します。
システムをシングルユーザー状態にブートします。
再構成ブートを指定します。
接続されているすべてのハードウェアデバイスを検索してから、実際に見つかったデバイスだけに、ファイルシステムのノードを割り当てます。
詳細メッセージを有効にした状態でシステムをブートします。
クラスタモードにあるシステムをブートしません。
カーネルデバッガを有効にした状態でシステムをブートします
サービス管理機能 (Service Management Facility、SMF) のブート動作を制御します
復元オプションとメッセージオプションという、2 種類のオプションがあります
代替実行可能ファイルを原始プロセスとして指定します。 altinit は実行可能ファイルへの有効なパスです。
カーネルのブートパラメータを指定します。
-B prop=val オプションを使用して、GRUB メニューでブートパラメータを変更できる各種の方法を次に示します。
デバイスの ACPI (Advanced Configuration and Power Interface) 列挙を無効にします。
ACPI を完全に使用不可にします。
ブートに VGA テキストモードを使用することを指定します。「ビットマップコンソールのサポート」を参照してください。
コンソールでブートにグラフィックスモードを使用することを指定します。これにより、高解像度の状態が可能になります。
コンソールでブートにテキストモードを使用することを指定します。これにより、高解像度の状態が可能になります。
フレームバッファーコンソールの行数と列数を指定します。選択した行数または列数にもっとも適したフォントがシステムによって自動的に検出されます。このオプションは、フレームバッファーコンソールのサイズを最適化するために使用されます。「ビットマップコンソールのサポート」を参照してください。
出力先をコンソールから ttya に変更します。
出力先をコンソールから ttya に変更し、デバイスの ACPI 列挙を使用不可にします。
注 - eeprom コマンドを使用し、かつ GRUB コマンド行でパラメータが指定された場合は、GRUB コマンド行が優先されます。
ブート時に GRUB メニューを編集してデフォルトのカーネル使用法を変更すると、その変更はシステムをリブートするまでしか持続しません。次にシステムをブートすると、デフォルトのブートパラメータが復元されます。
ブートシーケンスが始まると、GRUB メインメニューが表示されます。
注 - 変更を保存せずに GRUB メインメニューに戻るには、Escape キーを押します。
適用した変更は、システムをブートしたあとで有効になります。
Oracle Solaris 11 は、x86 ベースシステム上で、以前の VGA (Video Graphics Array) 640×480 16 色コンソールに比べて高い解像度と発色数をサポートしています。このサポートは、従来の BIOS および VESA (Video Electronics Standards Association) オプション読み取り専用メモリー (ROM) を使用するシステムを対象に提供されます。サポートは、物理または仮想コンソールとしてグラフィックカードまたはフレームバッファーが使用されるときに限られることに注意してください。シリアルコンソールの動作への影響はありません。
この機能をサポートするために、次の 2 つのコマンド行 -B option =val パラメータを使用できます。
ブートに VGA テキストモードを使用することを指定します。
フレームバッファーコンソールの行数と列数を指定します。選択した行数または列数にもっとも適したフォントがシステムによって自動的に検出されます。このオプションは、フレームバッファーコンソールのサイズを最適化するために使用されます。
GRUB では、デフォルトで、インストールされているビデオカードとモニターで動作する解像度と発色数が検出されます。ただし、別の解像度 (たとえば、より高い解像度) や別の発色数を指定できます。
GRUB は、ビデオモードを指定するための次の 2 つの方法をサポートしています。
目的の VESA モードの 16 進数コードを指定します。カードとモニターでサポートされているすべてのモードの一覧を取得するには、GRUB コマンドプロンプトで vbeprobe コマンドを使用します。これにより、次のような一覧が表示されます。
0x117: Direct Color, 1024x768x16 0x118: Direct Color, 1024x768x32 0x11a: Direct Color, 1280x1024x16 0x11b: Direct Color, 1280x1024x32 [...]
1024×768×32 の構成を指定する vbeset エントリは、次のように示されます。
vbset 0x118
vbeset エントリは、GRUB メニューで kernel$ および module$ エントリのあとに指定する必要があります。
指定された構成 (たとえば、1024×768×32) を検索するよう GRUB に指示します。見つかった場合、GRUB は指定された構成を設定します。
vbeset エントリの代わりに使用した場合、1024×768×32 の構成のための vbematch エントリは次のようになります。
vbematch 1024 768 32
vbematch エントリは、GRUB メニューで kernel$ および module$ エントリのあとに指定する必要があります。
例 6-2 x86: コンソールのテキストモードブートパラメータの構成
テキストモードでは、コンソール出力はフレームバッファーに送信され、入力はキーボードから受信されます。テキストモードのバリエーションであるグラフィックスモードでは、キーが押されるか、またはコンソールの login、sulogin、または kmdb コマンドによってコンソールの対話が必要になるまで、アニメーションを含むイメージが表示されます。テキストの新しいプロパティー force-text は、VGA アダプタをビットマップデバイスとして使用しないようシステムに指示し、そのアダプタを VGA テキストモードに設定します。
このプロパティーが存在しない場合、コンソールデバイスは、input-device と output-device のプロパティーペアで指定されたデバイスに戻ります。コンソールのプロパティーと、input-device と output-device のプロパティーペアのどちらも存在しない場合、コンソールはデフォルトでフレームバッファーとキーボードになります。
次の例は、ブート時にカーネルコマンド行で -B console=force-text プロパティーを指定する方法を示しています。
-B console=force-text
例 6-3 x86: グラフィカル表示の有効化およびコンソールテキストモードのパラメータの構成
デフォルトでは、コンソールテキストモードは 80 列× 24 行です。このパラメータを再構成するには、-B オプションと screen-#columns =value および screen-#rows= value パラメータを使用します。
たとえば、グラフィカル表示を有効にして 100 列× 60 行のコンソール端末を割り当てるには、カーネルコマンド行で次のパラメータを指定できます。
-B console=graphics, screen-#columns=100,screen-#rows=60
システムをブートするために console=graphics オプションが使用され、かつ Xorg サーバーによってシャットダウンがトリガーされた場合は、シャットダウンプロセス中に進捗ステータスインジケータが表示されます。進捗ステータスインジケータが表示されないようにするには、次のように svc:/system/boot-config SMF サービスの新しい splash-shutdown プロパティーを false に設定します。
# svccfg -s svc:/system/boot-config:default setprop config/splash_shutdown = false # svcadm refresh svc:/system/boot-config:default
GRUB メニューは、menu.lst 構成ファイル内のエントリに基づいており、カスタマイズ可能です。Solaris は、Oracle Solaris ブート環境 (BE) の GRUB menu.lst エントリを自動的に管理します。ブート環境が (パッケージシステムによって、または beadm コマンドを使用して明示的に) 作成されると、menu.lst ファイルに GRUB エントリが追加されます。beadm destroy コマンドを destroy サブコマンドとともに使用してブート環境を削除すると、対応するエントリが GRUB menu.lst ファイルから削除されます。Oracle Solaris は、システム上にインストールされているほかのオペレーティングシステムの menu.lst エントリを自動的に追加することはしません。これらのオペレーティングシステムのメニューエントリは手動で追加する必要があります。詳細は、「Oracle Solaris のインストール後に Linux エントリを GRUB メニューに追加する方法」を参照してください。
Oracle Solaris 11 の標準的な menu.lst ファイルには、次の情報が含まれている可能性があります。
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Oracle Solaris 11 1 findroot (pool_rpool,0,a) 2 bootfs rpool/ROOT/solaris 3 kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=graphics 4 module$ /platform/i86pc/$ISADIR/boot_archive 5 #---------------------END BOOTADM--------------------
メニューエントリのオペレーティングシステムのタイトルを指定します。
SIGNATURE ファイル名を見つけるためにすべてのパーティションを検索します。この例では、ファイル名は pool_rpool です。
GRUB は、/boot/grub/bootsign ディレクトリのみでファイル名を検索し、ファイルの最初のインスタンスが見つかるとすぐに停止します。有効にするために、署名ファイルの名前はすべてのパーティションにわたって一意である必要があります。署名ファイルを見つけたあと、GRUB はそのパーティション上の root コマンドを呼び出します。検索を最適化するために、省略可能なパーティションとスライスを指定できます。
現在の ZFS ブートファイルシステムを指定された値に設定します。menu.lst ファイルのこの例では、このプロパティーは現在の ZFS ブートファイルシステムを rpool/ROOT/solaris に設定します。
指定されたパスからプライマリブートイメージを読み込みます。この行の残りは、そのままカーネルコマンド行として渡されます。ドル記号 ($) は、$ISADIR エントリの拡張です。
指定されたカーネルのブートアーカイブを読み込みます。ドル記号 ($) は、$ISADIR エントリの拡張です。
注 - 特定の GRUB コマンドの詳細情報を表示するには、コマンド行から help コマンドを入力します。
デフォルトのオペレーティングシステムをブートする場合は、構成可能なタイムアウトを使用できます。ブートされるデフォルトのエントリは、default コマンドを使用して構成できます。インストールソフトウェアは通常、いずれかの有効なブートエントリをブートするようにこのコマンドを設定します。別のバージョンの Oracle Solaris (存在する場合) をブートするか、または Oracle Solaris のほかに別のオペレーティングシステムをブートするには、矢印キーを使用してそのブートエントリを選択したあと、Enter キーを押してそのオペレーティングシステムをブートします。default コマンドが設定されていない場合は、GRUB メニューにある最初のブートエントリがブートされることに注意してください。
システムのブートに使用されるのは、アクティブな menu.lst ファイルだけです。システムのブート時に表示される GRUB メニューを変更するには、アクティブな GRUB menu.lst ファイルを編集します。ほかのどの menu.lst ファイルを変更しても、システムをブートしたときに表示されるメニューに影響はありません。アクティブな menu.lst ファイルの場所を確認するには、bootadm コマンドの list-menu サブコマンドを使用します。
あるパーティションに Linux を先にインストールしてから別のパーティションに Oracle Solaris をインストールするといった方法でブート環境を設定する場合、新規インストールの GRUB メニュー情報によって以前のインストールの GRUB メニュー情報が消去されないようにするには、次に示す特別な手順に従う必要があります。次の手順に、すでにインストールされている Linux のエントリを含めるように menu.lst ファイルを手動で更新する方法を示します。この手順では、システムに Linux がすでにインストールされていて、そのあとに Oracle Solaris がインストールされたことを前提にしています。
通常、このファイルは /boot/grub/menu.lst です。
# bootadm list-menu
$ su root Password:
例:
# vi /pool-name/boot/grub/menu.lst
ここで、pool-name は ZFS ストレージプールの名前です。
たとえば、Ubuntu インストールの menu.lst ファイルは次のようになります。
title Ubuntu 8.04, kernel 2.6.24-18-generic root (hd0,4) kernel /vmlinuz-2.6.24-18-generic \ root=UUID=1ed7fa17-6d77-4b49-be1a-22481310fd1b ro quiet splash initrd /initrd.img-2.6.24-18-generic quiet title Ubuntu 8.04, kernel 2.6.24-18-generic (recovery mode) root (hd0,4) kernel /vmlinuz-2.6.24-18-generic \ root=UUID=1ed7fa17-6d77-4b49-be1a-22481310fd1b ro single initrd /initrd.img-2.6.24-18-generic
注意 - menu.lst ファイルの元の内容を直接編集しないでください。 新しい情報は必ずファイルの末尾に追加します。また、ファイルの内容を変更する場合には、既存の内容を複製してから変更するようにしてください。 |
システムがリブートすると、Linux と Oracle Solaris の両方のオペレーティングシステムのエントリが GRUB メニューに含まれているはずです。
次の手順に従って、アクティブな GRUB メニューの場所を調べ、現在の GRUB メニューエントリを一覧表示します。
# bootadm list-menu
アクティブな GRUB メニューの場所と現在の GRUB メニューエントリを一覧表示します。この出力には、autoboot-timeout デフォルトエントリ番号に関する情報と、各エントリのタイトルが含まれます。
例 6-4 アクティブな GRUB メニューの場所と現在の GRUB メニューエントリを一覧表示する
# bootadm list-menu The location for the active GRUB menu is: /stubboot/boot/grub/menu.lst default=0 timeout=30 0 2010-12-10-be 1 Oracle Solaris 11 2 Linux
# bootadm set-menu menu-entry
GRUB メニューを保守します。アクティブな GRUB メニューの場所は boot/grub/menu.lst です。
デフォルトとして設定する GRUB メニューエントリを指定します。
# bootadm list-menu
新しいデフォルトのメニューエントリが表示されるはずです。
例 6-5 GRUB のデフォルトのメニューエントリを切り替える
次の例は、デフォルトの GRUB メニューを、前の例に表示されているメニューエントリのいずれかに切り替える方法を示しています。選択されたメニューエントリは、Linux (メニューエントリ 2) です。
# bootadm set-menu default=2