Ubuntu のブートオプション
Ubuntu のブートオプション変更手順(Autoinstall 設定例)
Ubuntu の起動時(インストール開始前)に、カーネルの起動オプションを一時的に変更する手順を説明します。例として、インストール自動化機能 Autoinstall の設定ファイルの場所を指定する方法を示します。この変更はその回の起動のみに適用され、インストールメディアの内容は変わりません。
手順
- Ubuntu のインストールメディア(USB メモリまたは DVD)からコンピュータを起動します。
- 起動直後に GRUB のブートメニューが表示されます。メニューが表示されずに Ubuntu のロゴが表示される場合は、電源投入直後に「ESC」キーまたは「Shift」キーを押します。
- カーソルキーで「Try or Install Ubuntu」(インストールを開始する項目)を選択します。この時点では「Enter」キーを押しません。
- 「e」キーを押します。選択したメニュー項目の内容が編集画面に表示されます。
-
linux /casper/vmlinuzで始まる行を探し、カーソルキーで行末(---がある場合はその前)に移動して、Autoinstall 用のパラメータを追記します。ネットワーク上の設定ファイルを使う場合は次のように書きます。
autoinstall ds=nocloud\;s=http://192.0.2.1:3003/
設定ファイルをインストールメディア内に置く場合は次のように書きます。
autoinstall ds=nocloud\;s=/cdrom/nocloud/
URL やパスは、自身のuser-dataとmeta-dataを置いた場所に置き換えます。 - 「Ctrl」+「x」キー(または「F10」キー)を押します。編集した起動オプションでの起動が始まり、Autoinstall による自動インストールが実行されます。
記述時の注意
- セミコロンのエスケープ: GRUB ではセミコロンが命令の区切りとして解釈されます。
ds=nocloud;s=...をそのまま書くと動作しないため、ds=nocloud\;s=...のようにバックスラッシュでエスケープするか、値全体を引用符で囲みます。 - 末尾のスラッシュ:
s=に指定する URI は末尾を/で終える必要があります。cloud-init は、その URI の下にあるuser-dataとmeta-dataを取得します。 - ds=nocloud-net について: 以前は HTTP 経由の指定に
ds=nocloud-netを使う記述が多く見られましたが、この書き方は非推奨です。URI のスキーム(http、https、fileなど)で取得方法が決まるため、ds=nocloudを使います。
補足情報
- Autoinstall について: Autoinstall は、YAML 形式の設定ファイルでインストールを自動化する仕組みです。Subiquity インストーラを使う Ubuntu Server 20.04 LTS 以降、および Ubuntu Desktop 24.04 LTS 以降で利用できます。設定は
user-dataに#cloud-configとして記述し、同じ場所に空のmeta-dataを置きます。以前の debian-installer で使われていた Preseed を置き換えるものです。 - ボリュームラベルによる指定:
user-dataとmeta-dataを、ボリュームラベル CIDATA を付けた FAT32 または iso9660 のメディア(USB メモリなど)のルートに置いた場合は、起動オプションにautoinstallだけを追記します。この場合ds=の指定は不要です。 - 古いインストールメディア: BIOS 起動で isolinux のメニュー(画面下部に F1~F6 の案内が表示されるもの)が使われる古いメディアでは、編集は「Tab」キーまたは「F6」キーで行い、「Enter」キーで起動します。
- 設定の確認: 起動オプションや設定ファイルの記述に誤りがあると、インストールが失敗します。YAML の構文と各項目の指定は、Ubuntu の公式ドキュメント(Autoinstall configuration reference manual)で確認できます。