Ubuntu Server 22.04 LTS を netboot.xyz でインストールする方法

# 概要

さくらのクラウドで、 [netboot.xyz](https://netboot.xyz/) ISO イメージを使い、Ubuntu 22.04 LTS を比較的手軽にセットアップする手順をまとめました。

# netboot.xyz を使う理由

2022年4月にリリースされた [Ubuntu 22.04 LTS (Jammy Jellyfish)](https://releases.ubuntu.com/22.04/) を使うには、さくらのクラウド上では現時点ではパブリックアーカイブが提供されていないため、[ISO イメージ機能](https://manual.sakura.ad.jp/cloud/storage/isoimage.html) を使ったインストールが必要です（さくらのクラウドの「サーバ」では CD-ROM を扱うように、ISO イメージを取り付けたり取り外したりする機能があります）。

この ISO イメージ機能を使うには、手元の PC 上に ISO イメージをダウンロードするか、あるいは、どこかのサーバ上に ISO イメージの準備が必要です。さらに、さくらのクラウドの ISO イメージにアップロードする必要があります。

ISO イメージをネット上で探し出し、入手するだけでも手間となるのですが、回線状況によっては、ダウンロードやアップロードだけでも時間がかかってしまいます。

この面倒さを回避できるのが [netboot.xyz](https://netboot.xyz/) です。netboot.xyz を使えば、ネットワーク経由で任意の Linux ディストリビューションや FreeBSD の ISO イメージをダウンロードできるだけでなく、ダウンロードした ISO イメージをメモリ空間上にマウントするため、そのまま OS のインストーラーの起動やセットアップ作業が行えます（一方で、セットアップ時の注意点として、 OS のインストーラーが必要とするメモリの確保が必要です）。

また、この netboot.xyz は、さくらのクラウドのパブリック ISO として登録されています。自分で netboot.xyz の ISO を準備することなく、すぐに利用できる利点があります。

なお、本記事は Ubuntu Server 22.04 をインストールしていていますが、netboot.xyz を使えば、AlmaLinux や Rockly Linux 等々の 67 ものディストリビューションや、その他ツール類のセットアップができます（ [FAQ](https://netboot.xyz/docs/faq#what-operating-systems-are-currently-available-on-netbootxyz) を参照ください）。

# Ubuntu Server 22.04 LTS インストール手順

## サーバに netboot.xyz の ISO イメージを付けて新規作成

まず、サーバを作成します。さくらのクラウド(IaaS) のメニュー「サーバ」をクリックし、「追加」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/4adbe5df-13dd-8277-2d20-c1950833fe46.png)

次に「シンプルモード」にチェックが入っている場合は、クリックしてチェックを外します。チェックが外れていれば、今回使いたい「ISOイメージ」を使ったサーバの起動が可能です。

![firefox_riJ5d333qm.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/a7ca4dcb-0d62-746a-2ab3-7a679149bff9.gif)

次に、「サーバプラン」の「仮想コア」と「メモリ」を設定します。仮想コアは１つでも動きます。 **メモリは、3GB 以上** 必要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/ee52c13b-fdc5-06ae-0681-a5936fe3d8c2.png)

（2GB 以下では、Ubuntu 22.04 LTS のインストーラーが `Out of memory` や `Load AppArmor profiles managed internally by snapd.` の途中で止まり、インストールできません）。

なお、ここで指定したメモリは、セットアップ後に「[プラン変更](https://manual.sakura.ad.jp/cloud/server/plan-update.html)」機能で変更できます。

それから、画面をスクロールし、「ディスク」の設定を netboot.xyz 経由で起動する設定にします。

- ディスクソース…「 **ブランク（空のディスク）** 」
- ディスクサイズ…デフォルトは 20GB ですが、必要に応じて容量を変更できます
- ISO イメージを使う…「 **netboot.xyz** 」を選択

![netboot.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/6eb2463d-a43c-5c8e-d5fe-9f92ff4774cf.gif)

それから、さらに画面を下にスクロールし、「サーバ名」（コントロールパネル上で表示される名前）に「ubuntu」などを入力し、右下の「作成」ボタンをクリックし、確認画面でも「作成」をクリックます。

![server-boot.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/996f64b2-f604-f791-286b-56caca757ff5.gif)

あとは、サーバが作成されるまで待ちます。ステータスがすべて成功となれば、「閉じる」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/3acfcedc-5f4d-416e-758b-6699b49b1d99.png)

## netboot の起動と Ubuntu Server 22.04 の選択

サーバ一覧に、作成したサーバが表示されます（この例では「ubuntu」）。対象サーバをダブルクリックし、メニュー上の「コンソール」タブをクリックします。

![console.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/9ae93fb2-e09b-4b15-7f82-9f8ba3478612.gif)

コンソール画面上の黒い部分をマウスでクリックします（クリックしないと、キーボードからの入力を受け付けません）。

それから、キーボードのカールキーを使って、以下の項目にカーソルをあわせ、エンターキーを押します。

1.「 **Linux Network Installs (64-bit)** 」
2.「 **Ubuntu** 」
3.「 **Ubuntu S22.04 LTS Jammy Jellyfish** 」
4.「 **Install** 」

![ubuntu1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/a94a876d-bb89-bdb7-fdd5-2e2c72970a61.gif)

それから、ネットワークを経由して ISO イメージのダウンロードが始まります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/cfd83261-61f6-9246-9ec6-cf4b920eaf29.png)

Ubuntu のインストーラー画面が出るまで待ちます。ISO のネット経由ダウンロードは約2分、 `Load AppArmor profiles managed internally by snapd` の処理でも2分ほど固まっているかのように見えますが、そのまま待ちます（ここで一旦、休憩にされてはいかがでしょう）。

暫く待つと、下図のようにインストーラーが起動します。この画面がでたら、通常の Ubuntu 22.04 LTS の設定手順と変わりません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/c60dbc55-c5d5-0f54-8fd9-1d25eb7a95f8.png)

ちなみに、この画面で「Alt+F2」で tty2 に切り替え、Ubuntu Server 22.04 のコマンド操作も行えます。これは、メモリ容量を確認している様子。元に戻るには「Alt+F1」です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/94cb0ff9-929f-f70f-eaa1-cd16e12bd75a.png)

## Ubuntu Server のセットアップ

以降は、インストーラーでの操作手順を紹介します。

インストーラーの言語選択「Use UP, DOWN and ENTER keys to select your language」では、「English」を選びます（エンターキーを入力）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/7598a09c-3f8a-f853-75d5-5bc64a956eda.png)

次に、キーボードレイアウトの選択です 「English」 のままか、日本語キーボードの場合は Layout: を「Japanese」にします。

カーソルキーの上下、もしくはタブキーでカーソルを「Done」に移し、エンターキーを押します（ブラウザの表示範囲が狭いと、コンソールの下が見えづらいかもしれません。画面を下にスクロールしたり、ポップアップ機能をお試しください）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/7436928a-cf2d-f96c-7c80-270df753c518.png)

次の `Choose type of install` では、通常インストールか最小インストールかを選びます。この手順は「Ubuntu Server」にチェック（X印）が入ったまま「Done」をクリックします（もちろん、必要に応じて minimized でも構いません）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/a6b9f62b-204e-6510-95c1-24d0d0ddaadd.png)

次の Network connections では、そのまま「Done」を選びます。さくらのクラウドのサーバは DHCP 機能に対応しているため、自動的にサーバに割りあてられたパブリックの IP アドレスを認識します。また、スイッチ配下であれば、ここで IP アドレスを固定しても構いません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/761bfa03-1fb0-9986-c9fb-16b0d7d5a1aa.png)

次の Configure proxy では、プロキシ設定が必要な場合に記述します。さくらのクラウドのパブリック環境であれば、不要です。そのまま「Done」を選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/8a244d89-c24a-df34-bddc-39d28b20e9f7.png)

次の Configure Ubuntu archive mirror （ミラー選択）では、自動的に国内ミラーが参照されますので、そのまま「Done」を選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/0fdf6f1f-0af7-82ac-2b26-2c6abbbfacfa.png)

その次の Guided storage configuration ではストレージ領域の設定です。この画面ではデフォルトの 20GB ディスク全体を使います。「Done」を選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/44860e03-fc3c-d079-90c1-746621f4021f.png)

パーティションレイアウト確認も、問題無ければそのまま「Done」を選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/3473c0e6-5bba-d4f4-679a-9df68246b8de.png)

そして、ディスク内容をフォーマット（初期化）する確認画面では「Continue」を選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/b6838850-3354-0336-51c4-9cb013f69a3c.png)

その次の画面では、サーバ名、ユーザ名とパスワードを入力して、「Done」を選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/472d2f84-31b0-a9a7-d257-000d4c93e28b.png)

SSH Setup では、リモートから SSH で入るため「Install OpenSSH server」の列で「エンターキー」を押し「X」（チェック）を付けます。また、安全度を高めるために GitHub 等の公開鍵を設定することもできます。リモートからの作業前提であれば、ここで設定しておくと、セットアップ直後からサーバにすぐログインできるので便利です。下図では「Allow password authentication over SSH」のチェックも外れ、パスワード認証を許可していません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/4da6c01c-027c-a793-44a3-f56e6c819c4c.png)

SSH鍵を設定した場合、Confirm SSH Key で内容を確認し、「Yes」を選びます。

その次の Features Server Snaps とあり、必要があればここでパッケージのセットアップも可能です。必要があれば選択するか、あるいは、何も選択せずに「Done」を選びます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/f13ec1c8-9416-133f-b0ac-dac437e6f610.png)

あとは、インストールが始まります。完了するまで待ちます。

このような状態になれば、完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/da41eefa-c919-27b8-db57-deec78510930.png)

また、netboot.xyz のパブリック ISO からインストールしている場合、この時点で ISO を取り外します。そうしないと、正常に終了できません。


![chrome_E6Y0G9BvaO.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/48cc83ed-6e93-934d-dd9c-f5f88a133ade.gif)



最後に「Reboot Now」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/123bdc32-6f7e-cd79-2173-f78e07b055f1.png)


あとは、再起動が終われば、セットアップが完了した Ubuntu Server 22.04 LTS が利用できます。

Enjoy!


# 参考資料・リファレンス

- https://netboot.xyz/
- https://github.com/netbootxyz/netboot.xyz
- Frequently Asked Questions (FAQ) | netboot.xyz
  - https://netboot.xyz/docs/faq