ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris 11.1 システムのブートおよびシャットダウン Oracle Solaris 11.1 Information Library (日本語) |
zpool create コマンドによるファームウェアのタイプに基づくブートパーティションの作成のサポート
SPARC: ほとんどの sun4u プラットフォームのサポートの終了
x86: UEFI および BIOS ファームウェアを搭載するシステムをサポートするブートパーティションの作成
Oracle Solaris ブートアーキテクチャーには、次の基本特性があります。
ブートアーカイブを使用します。
ブートアーカイブには、メモリー内ディスクを使用してマウントされるファイルシステムイメージが含まれています。このイメージは自己記述型であり、特にブートブロックにはファイルシステムリーダー (または x86 プラットフォームの場合に GRUB ブートローダー) が含まれています。SPARC プラットフォームで、ファイルシステムリーダーは RAM ディスクイメージをマウントして開いたあと、その中に含まれているカーネルを読み取って実行します。デフォルトで、このカーネルは /platform/`uname -m'/kernel/unix にあります。x86 プラットフォームでは、GRUB ブートローダーが、カーネルファイルとブートアーカイブをメモリーにロードしてから、制御をカーネルに転送します。x86 プラットフォームのデフォルトのカーネルは /platform/i86pc/kernel/amd64/unix です。
注 - ディスクから SPARC ベースのシステムをブートすると、OBP ファームウェアがブートデバイスとして指定されているパーティションからブートブロックを読み取ります。このスタンドアロンブートプログラムには通常、Oracle Solaris ブートアーカイブを読み取れるファイルリーダーが含まれています。boot(1M) を参照してください。
ZFS ルートファイルシステムからブートする場合は、アーカイブとカーネルファイルの両方のパス名が、ブート用に選択されたルートファイルシステム (データセット) 内で解決されます。
ブート管理インタフェースを使用して、Oracle Solaris ブートアーカイブを保守し、x86 プラットフォームで GRUB 構成と GRUB メニューを管理します。
bootadm コマンドは、ブートアーカイブの更新と検証を細部にわたって処理します。インストールまたはアップグレードの間、bootadm コマンドは初期ブートアーカイブを作成します。通常のシステムシャットダウンの処理中に、シャットダウンプロセスではブートアーカイブの内容がルートファイルシステムと比較されます。システムにドライバや構成ファイルなどの更新がある場合、ブートアーカイブがこれらの変更を含むように再構築されることによって、リブート時にブートアーカイブとルートファイルシステムの同期がとられます。bootadm コマンドを使用して、ブートアーカイブを手動で更新することができます。
x86 ベースのシステムでは、grub.cfg ファイルと x86 ブートローダーは bootadm コマンドで管理します。このリリースでは、bootadm コマンドが変更され、いくつかの新しいサブコマンドが追加されて、これまで menu.lst ファイルを編集して実行していたほとんどの管理タスクを実行できるようになりました。これらのタスクには、GRUB メニューの管理、特定のブートエントリへのカーネル引数の設定、ブートローダーの管理などが含まれます。手順については、「x86: bootadm コマンドを使用して GRUB 構成を管理する」を参照してください。
注 - 一部の bootadm コマンドオプションは SPARC プラットフォームに適用されません。
詳細は、bootadm(1M) および boot(1M) のマニュアルページを参照してください。
インストール時にルートファイルシステムとして RAM ディスクイメージを使用します。
このプロセスは、SPARC と x86 の両方のプラットフォームで同じです。RAM ディスクイメージは、ブートアーカイブから生成されたあと、ブートデバイスからシステムに転送されます。
注 - SPARC プラットフォームでは、OpenBoot PROM を引き続き使用してシステムのブートデバイスにアクセスし、ブートアーカイブをシステムのメモリーに転送します。
ソフトウェアをインストールする場合、RAM ディスクイメージは、インストールプロセス全体に使用されるルートファイルシステムになります。この目的の RAM ディスクイメージにより、リムーバブルメディアから、頻繁に必要となるインストールコンポーネントにアクセスする必要がなくなります。RAM ディスクファイルシステムのタイプには、HSFS (High Sierra File System) または UFS を指定できます。
GPT ラベル付きディスクからのブートをサポートします。
Oracle Solaris には、GPT ラベル付きディスクからのブートのサポートが含まれます。GPT ラベル付きディスクからのブートは、MSDOS パーティション分割スキームを使用したディスクからのブートとはやや異なります。GPT 対応ファームウェアを搭載した x86 または SPARC ベースのシステムに Oracle Solaris 11.1 をインストールすると、ほとんどの場合にディスク全体を使用するルートプールディスクで GPT ディスクラベルが適用されます。サポートされる SPARC ベースのシステムで GPT 対応ファームウェアを適用する方法については、『Oracle Solaris 11.1 ご使用にあたって』の「x86: マスターブートレコードの EFI_PMBR エントリがアクティブでない場合に BIOS ファームウェアを含む一部のシステムがブートしない (7174841)」を参照してください。それ以外の場合は、SPARC ベースのシステムに Oracle Solaris 11.1 をインストールすると、単一のスライス 0 を使用してルートプールディスクに SMI (VTOC) ラベルが適用されます。
x86 プラットフォームでは、GRUB 2 の導入により、このサポートが可能になります。BIOS ファームウェアを搭載したシステムでは、MBR は、引き続きファームウェアがロードしてブートプロセスを開始する最初のコードのチャンクです。GPT ラベル付きディスクには VTOC がなくなり、個別のパーティションだけです。GRUB は、GPT パーティション分割スキームの読み取りおよび解釈を直接サポートするようになったため、ブートローダーが、ZFS GPT パーティションでホストされるルートプール内の Oracle Solaris カーネルおよびブートアーカイブを検出できます。
UEFI ファームウェアを搭載したシステムでの主な違いは、ファームウェアがブートアプリケーションを (FAT ベースの) EFI システムパーティションからロードすることです。UEFI システムに GRUB がロードされると、BIOS 対応の GRUB と同様のタスクを実行します。
ブートアーカイブはルートファイルシステムのサブセットです。このブートアーカイブには、すべてのカーネルモジュール、driver.conf ファイル、およびいくつかの構成ファイルが含まれています。これらのファイルは、/etc ディレクトリにあります。ブートアーカイブ内のファイルは、ルートファイルシステムがマウントされる前にカーネルによって読み取られます。ルートファイルシステムがマウントされると、ブートアーカイブはカーネルによってメモリーから破棄されます。次に、ファイル I/O がルートデバイスに実行されます。
bootadm コマンドは、ブートアーカイブの更新と検証の詳細など、SPARC プラットフォームと x86 プラットフォームの両方で、ブートアーカイブを管理します。通常のシステムシャットダウンの処理中に、シャットダウンプロセスではブートアーカイブの内容がルートファイルシステムと比較されます。システムにドライバや構成ファイルなどの更新があった場合、ブートアーカイブがこれらの変更を含むように再構築されることによって、リブート時にブートアーカイブとルートファイルシステムの同期がとられます。
x86 ブートアーカイブに含まれるファイルは、/platform/i86pc/amd64/boot_archive ディレクトリにあります。SPARC ブートアーカイブ内のファイルは /platform/`uname -m`/archive_cache ディレクトリにあります。SPARC プラットフォームと x86 プラットフォームの両方で、ブートアーカイブの内容を一覧表示するには、bootadm list-archive コマンドを使用します。
$ bootadm list-archive
ブートアーカイブ内のファイルが更新された場合、アーカイブを再構築する必要があります。bootadm update-archive コマンドにより、ブートアーカイブを手動で再構築できます。コマンドは、予防措置としても回復プロセスの一部としても使用できます。
# bootadm update-archive
変更を有効にするには、次にシステムがリブートする前にアーカイブを再構築する必要があります。詳細は、「Oracle Solaris ブートアーカイブの管理」を参照してください。