以前、UbuntuやDebianでPXEサーバーを構築する方法を書きました。 ytooyama.hatenadiary.jp
Ubuntu 16.04のリリースも間もなく秒読み(気が早い)の体制に入りました。 会社ではOpenStack環境の構築にUbuntuをよく使うので、毎回ISOをVMにアタッチするのがだんだん面倒になってきたのもあって、よく使う14.04とこれからよく使うようになる16.04をPXEブートするための方法についてちょっと調べました。
どうせならレスキューモードやエキスパートモードで起動する項目も増やしちゃいましょう!...ということでその方法を調べました。その結果は次の通りです。
まず、これが普通のdebインストーラーで起動させるための項目です。kernelと initrdは以前ダウンロードしたアーカイブを展開したディレクトリーに含まれるファイルを指定しています。
label 2 menu label ^2) Install Ubuntu 14.04 x64 kernel ubuntu-installer/amd64/linux append vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet
一方、これがエキスパートモードのPXEブート指定です。appendが起動オプションの指定で、priority=lowを追加していることと、標準モードでは記述されているquietの指定がないのがポイントです。kernelとinitrdは標準モードと一緒のものです。エキスパートモードでは標準モードと比べて細かいインストールオプションの指定ができるのが特徴です。
label 3 menu label ^3) Install Ubuntu 14.04 x64 Expert kernel ubuntu-installer/amd64/linux append priority=low vga=788 initrd=ubuntu-installer/amd64/initrd.gz ---
次にこれがレスキューモードの指定方法。rescue/enable=trueが追加されている以外は標準モードと一緒です。起動すると左上にレスキューモードと出ます。
label 4 menu label ^4) Boot Ubuntu 14.04 x64 Rescue Mode kernel ubuntu-installer/amd64/linux append vga=788 initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true --- quiet
PXEオプションの指定方法は、PXEブートイメージを展開した中のconfigファイルに書かれていたので、それを参考にしました。
UbuntuのPXEブートイメージは以下に用意されています。
設定後の動作イメージはこんな感じです。