20.2. オペレーティングシステムの起動
仮想マシンを起動するには、それぞれに長所と短所があるさまざまな方法があります。それぞれについて、次のサブセクションで説明します。BIOS ブートローダー、ホスト物理マシンブートローダー、および直接カーネルブート 。
20.2.1. BIOS ブートローダー
BIOS を介した起動は、完全仮想化をサポートするハイパーバイザーで利用できます。この場合、BIOS にはブート順序の優先順位 (フロッピー、ハードディスク、CD-ROM、ネットワーク) があり、ブートイメージを取得/検索する場所を決定します。ドメイン XML の OS セクションには、次の情報が含まれています。
図20.2 BIOS ブートローダードメイン XML
... <os> <type>hvm</type> <loader>/usr/lib/xen/boot/hvmloader</loader> <boot dev='hd'/> <boot dev='cdrom'/> <bootmenu enable='yes'/> <smbios mode='sysinfo'/> <bios useserial='yes' rebootTimeout='0'/> </os> ...
ドメイン XML のこのセクションのコンポーネントは以下のとおりです。
要素 | 説明 |
---|---|
<type> | ゲスト仮想マシンで起動するオペレーティングシステムの種類を指定します。hvm は、OS がベアメタル上で実行するように設計されているため、完全仮想化が必要であることを示しています。linux は、Xen 3 ハイパーバイザーゲスト ABI をサポートする OS を指します。オプションの属性も 2 つあります。arch は仮想化に対する CPU アーキテクチャーを指定し、machine はマシンタイプを参照します。詳細については、『ドライバー機能』を参照してください。 |
<loader> | ドメイン作成プロセスを支援するために使用されるファームウェアの一部を指します。Xen の完全仮想化ドメインを使用する場合にのみ必要です。 |
<boot> | fd 、hd 、cdrom 、または network のいずれかの値を取り、次に検討するブートデバイスを指定するために使用されます。ブート要素を複数回繰り返して、順番に試行するブートデバイスの優先順位リストを設定できます。同じタイプの複数のデバイスは、バスの順序を維持しながら、ターゲットに従ってソートされます。ドメインを定義した後、libvirt によって (virDomainGetXMLDesc を介して) 返される XML 設定は、ソートされた順序でデバイスをリストします。ソートされると、最初のデバイスが起動可能としてマークされます。詳細は、『BIOS ブートローダー』を参照してください。 |
<bootmenu> | ゲスト仮想マシンの起動時にインタラクティブな起動メニュープロンプトを有効にするかどうかを設定します。enable 属性は、yes または no のいずれかになり ます。指定しない場合は、ハイパーバイザーのデフォルトが使用されます。 |
<smbios> | ゲスト仮想マシンで SMBIOS 情報をどのように表示するかを指定します。mode 属性は、emulate (ハイパーバイザーがすべての値を生成できるようにする)、host (UUID を除くブロック 0 とブロック 1 のすべてをホスト物理マシンの SMBIOS 値からコピーします。virConnectGetSysinfo 呼び出しを使用して、どの値がコピーされているかを確認することができます)、または sysinfo (sysinfo 要素の値を使用) のいずれかとして指定する必要があります。指定しない場合は、ハイパーバイザーのデフォルト設定が使用されます。 |
<bios> | この要素には、yes または no の値を持つ属性 useserial があります。この属性は、ユーザーがシリアルポートで BIOS メッセージを表示できるようにする Serial Graphics Adapter を有効または無効にします。したがって、シリアルポートを定義する必要があります。別の属性、rebootTimeout があることに注意してください。これは、起動が失敗した場合にゲスト仮想マシンが再度起動を開始するかどうか、および開始する期間を制御します (BIOS による)。値はミリ秒単位で、最大は 65535 で、特別な値 -1 は再起動を無効にします。 |