ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 システムのブートおよびシャットダウン Oracle Solaris 11.1 Information Library (日本語) |
2. x86: GRand Unified Bootloader の管理 (タスク)
SPARC: システムをネットワークからブートするための要件
SPARC: OpenBoot PROM へのネットワークブート引数の設定
SPARC: OpenBoot PROM でのネットワークブート引数の指定方法
このセクションでは、次の情報について説明しています。
復旧を目的として、または Oracle Solaris をインストールするために、システムのネットワークからのブートが必要になることがあります。ブートサーバーが利用できれば、どのようなシステムもネットワークからブートできます。ネットワークアダプタファームウェアが Preboot eXecution Environment (PXE) 仕様をサポートする x86 ベースのシステムを使用して、Oracle Solaris をブートできます。GRUB 2は、Oracle Solaris カーネルをロードし、ブートプロセスを続行するために使用される PXE Network Bootstrap (NBP) プログラムです。
Oracle Solaris をインストールするために、または復旧を目的として x86 ベースシステムのネットワークブートを実行するには、PXE クライアント用に構成された DHCP サーバーが必要です。また、tftp サービスを提供するブートサーバーも必要です。
クライアントのネットワークインタフェースの構成に必要な情報は、DHCP サーバーから提供されます。AI サーバーを設定している場合は、そのサーバーも DHCP サーバーにすることができます。または、別の DHCP サーバーを設定できます。DHCP の詳細については、『System Administration Guide: IP Services』のパート III「DHCP」を参照してください。
ネットワークから x86 ベースのシステムをブートするときは、次の情報に注意してください。
Oracle Solaris で使用されるネットワーク構成ブート方法は動的ホスト構成プロトコル (DHCP) です。
Oracle Solaris のネットワークブートでは、データストレージデバイス (ハードディスクなど) やインストールされているオペレーティングシステムに関係なく、ネットワーク経由でブートプログラムをロードするメカニズムを提供する PXE ファームウェアインタフェースを使用します。このファームウェアは、BIOS ファームウェアを搭載するシステムの場合に pxegrub2 および 64 ビット UEFI ファームウェアを搭載するシステムの場合に grub2netx86.efi という名前の特別に構築された GRUB 2 イメージであるブートプログラムのロードを担当します。これらのファイルには、ネットワークでパケットを転送するために、Trivial File Transfer Protocol (TFTP)、DHCP、User Datagram Protocol (UDP)、インターネットプロトコル (IP)、および Universal Network Device Interface (UNDI) ファームウェアインタフェース (BIOS システムの場合) または Simple Network Protocol (SNP) インタフェース (UEFI システムの場合) のいずれかを使用するミニドライバの基本実装が含まれます。
GRUB 2 は、GRUB Legacy の PXE ベースのネットワークブートと同様のメカニズムを使用します。GRUB 2 の PXE ブートイメージには、GRUB を初期化するために必要なコードとモジュール、ZFS からブートするために必要なファイルシステムモジュール、および多くの有益な GRUB コマンドが含まれています。ネットワーク経由でモジュールをロードすると、ネットワークリソースに不必要な負荷がかかり、必須のコマンドを使用できないような障害に PXE ブートプロセスがさらされることがあるため、GRUB コマンドを実装するモジュールが、TFTP サーバー上に残される代わりに、GRUB 2 PXE イメージに組み込まれています。
GRUB 2 ブートイメージには、GRUB Legacy に存在するのと同じ検索アルゴリズムを実装する、埋め込みの grub.cfg ファイルが含まれています。このアルゴリズムは、TFTP サーバー上のいくつかの場所で、オペレーティングシステムのブートに使用する grub.cfg ファイルを検索します。
GRUB Legacy と同様に、GRUB 2 の PXE ブートイメージは、TFTP サーバーのルートディレクトリにインストールされます。PXE ブートイメージの名前は、自動インストーラ (AI) の構成方法によって異なります。AI ドキュメントに従って、該当する DHCP BootFile マクロには、PXE ブートイメージの名前が含まれます。
installadm コマンドは、無条件に BIOS および UEFI PXE イメージを TFTP サーバー上の適切な場所にコピーするように変更されました。さらに、DHCP サーバーは、UEFI ファームウェアを実行しているシステムに、PXE ブート時に正しい GRUB 2 (UEFI) BootFile オプションが与えられるように、クライアントシステムによって適切なクライアントシステムアーキテクチャータグが送られた場合に、適切な BootFile マクロを返すことができる必要もあります。この情報は、DHCP サーバーが DHCPOFFER を送信した場合に提供されます。
インストールされた Oracle Solaris インスタンスで、PXE ブートイメージは /boot/grub/pxegrub2 ファイル (BIOS 対応のイメージの場合) および /boot/grub/grub2netx64.efi ファイル (64 ビット UEFI 対応のイメージの場合) に保存されます。
AI を使用して Oracle Solaris をインストールするためにネットワークからシステムをブートする場合、詳細については、『Oracle Solaris 11.1 システムのインストール』を参照してください。
DHCP サーバーは、DHCP クラス PXEClient に次の情報で応答できる必要があります。
ファイルサーバーの IP アドレス
ブートファイルの名前。これは BIOS ファームウェアを搭載するシステムの場合 pxegrub2 で、UEFI ファームウェアを搭載するシステムの場合 grub2netx64.efiです。
ネットワークから PXE ブートを実行するシーケンスは次のようになります。
ファームウェアが、ネットワークインタフェースからブートするように構成されます。
ファームウェアが DHCP リクエストを送信します。
DHCP サーバーが、サーバーのアドレスとブートファイルの名前を返します。
ファームウェアは、TFTP を使用して、pxegrub2 (または grub2netx64.efi) をダウンロードし、次に GRUB 2 イメージを実行します。
TFTP を使用して GRUB 構成ファイルがダウンロードされます。
このファイルによって、利用可能なブートメニューエントリが表示されます。
メニューエントリを選択すると、システムは Oracle Solaris の読み込みを開始します。
GRUB Legacy と同様に、GRUB 2 の PXE ブートイメージは、TFTP サーバーのルートディレクトリにインストールされます。ブートイメージの名前は、AI の構成方法によって異なります。該当する DHCP BootFile オプションには PXE ブートイメージの名前が含まれます。AI イメージが GRUB 2 ベースの場合、BIOS と UEFI の両方のファームウェアタイプが自動的にサポートされます。特殊な引数は必要ありません。
インストールされた Oracle Solaris インスタンスで、BIOS 対応のイメージと UEFI 対応のイメージの両方の PXE ブートイメージが AI イメージのルートディレクトリの boot/grub、たとえば /export/auto_install/my_ai_service/boot/grub に保存されます。
このディレクトリには、次の内容が格納されます。
bash-4.1$ cd grub/ bash-4.1$ ls grub_cfg_net i386-pc splash.jpg x86_64-efi grub2netx64.efi pxegrub2 unicode.pf2
GRUB 2 モジュールには、ファームウェア固有のサブディレクトリがあり、それらは、BIOS ファームウェアを搭載するシステムの場合 i386-pc ディレクトリ内で、64 ビット UEFI システムの場合 x64_64-efi ディレクトリ内にあります。ただし、これらのディレクトリ内のファイルは、ネットワークブート時に使用されません (モジュールは GRUB 2 イメージに組み込まれ、TFTP 経由で転送されません)。
注 - installadm コマンドによって管理されていない DHCP サーバーを使用している場合、クライアントアーキテクチャー識別子に基づいて BootFile を設定するという installadm コマンドで通常アクセス可能な DHCP サーバーを構成する方法に従って、サーバーを構成する必要があります。管理者の支援のため、installadm コマンドは、手動で構成された DHCP サーバーに設定するクライアントアーキテクチャーブートファイルパスを出力します。
ブート可能なネットワークアダプタには、PXE 仕様に準拠したファームウェアが含まれます。PXE ファームウェアは、アクティブになるとネットワーク上で DHCP 交換を実行し、DHCP サーバーが TFTP サーバーからの DHCP 応答に含めた BootFile マクロをダウンロードします (TFTP サーバーも DHCP 応答に含まれる)。Oracle Solaris の場合、この BootFile マクロ、pxegrub2 (BIOS ファームウェアを搭載するシステムの場合)、または grub2netx64.efi (64 ビット UEFI ファームウェアを搭載するシステムの場合) は GRUB 2 です。GRUB は unix カーネルとブートアーカイブのダウンロードに進み、両方をメモリーにロードします。その時点で、Oracle Solaris カーネルに制御が渡されます。
UEFI ファームウェアが搭載されたシステムでのネットワークブートプロセスは、BIOS ファームウェアが搭載されたシステムでのプロセスと非常に似ていますが、UEFI ファームウェアが搭載されたシステムでは DHCP リクエストが若干異なり、UEFI システム用に返される BootFile マクロをカスタマイズするのに十分な情報が DHCP サーバーに提供されます。UEFI ファームウェアが搭載されたシステムで必要なのは UEFI ブートアプリケーションで、そうでない場合は DHCP サーバーから BootFile マクロとして返される BIOS 対応のブートプログラムではありません。BootFile マクロ (grub2netx64.efi または同等のもの) で指定された UEFI ブートアプリケーション (GRUB) の UEFI クライアントへのダウンロードが完了すると、次にブートローダー (GRUB) が実行されます。BIOS ネットワークブートのプロセスと同様に、GRUB は unix カーネルおよびブートアーカイブを DHCP で指定された TFTP サーバーからダウンロードし、次に両方をメモリーにロードして、最後に制御を unix カーネルに渡します。
始める前に
DHCP 構成を設定するための前提条件となるタスクをすべて実行します。「x86: システムをネットワークからブートするための要件」を参照してください。
Oracle Solaris をインストールするために x86 ベースシステムをネットワークからブートする場合は、AI クライアントイメージをダウンロードし、そのイメージに基づいてインストールサービスを作成する必要があります。前提条件およびさらに詳細な手順については、『Oracle Solaris 11.1 システムのインストール』のパート III「インストールサーバーを使用したインストール」を参照してください。
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# reboot -p
高速リブート機能がデフォルトで有効にされているシステムで、-p オプションを指定していなければ、リブート時にファームウェアがバイパスされます。このオプションを指定すると、システムの標準 (低速リブート) が有効になるため、システムのファームウェアユーティリティーにアクセスして、PXE ブートおよびインストールを指定できます。高速リブートの詳細については、「リブートプロセスの高速化」を参照してください。
たとえば、BIOS ファームウェアを搭載するシステムで F12 キーを押して、セットアップユーティリティーに入ります。
システムは、選択した Oracle Solaris インストールイメージのネットワークからのブートとインストールに進みます。インストールの実行には、数分かかることがあります。AI インストールの実行については、『Oracle Solaris 11.1 システムのインストール』のパート III「インストールサーバーを使用したインストール」を参照してください。