VirtualBox 7.1を使用してVM上にUbuntuをインストールする

# この記事について
教材の演習で、VM上にUbuntuをインストールして開発する課題に取り組みました。本記事では、その構築手順と注意点を記録しています。

# 環境
PC: MacBook Air M2
OS: macOS Ventura Ver. 13.2.1
Virtual Box: VirtualBox-7.1.4-165100-macOSArm64
Ubuntu image: ubuntu-24.04.1-live-server-arm64


# 参考
[macOS（Apple シリコン）でVirtualBoxを使用する方法](https://qiita.com/Brutus/items/fc58e00738a2556020ed)
[VirtualBox 7.1でApple SiliconのMacにarm版Ubuntu24.04 Desktop環境構築](https://note.com/rsec/n/ne9050a7cb4bc)
[【VirtualBox】バーチャルボックスのウィンドウ自体のスクリーンショットが取れない](https://pg.kdtk.net/650)

# 構築手順
### VirtualBoxのダウンロード
[公式サイト](https://www.virtualbox.org/)からダウンロードします。

3日間ほど502エラーが出てサイトを開くことができませんでした。
たまに起こるようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/2dc146c5-12ab-ab6d-8bc2-9c0e96e61fb1.png)

### Ubuntuイメージのダウンロード
[こちら](https://ubuntu.com/download/server/arm)でLTS版をダウンロード。
10分ほどかかりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/1ccacff6-2c63-7b9b-49c8-e0f713719777.png)


### VirtualBox上にUbuntuをインストール
1. VirtualBox画面右上の新規ボタンをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/f739c264-7557-9ac9-3039-760e4815e8c5.png)

1. 名前は任意の名前を入力し、ISOイメージは先ほどダウンロードしたUbuntuイメージを選択します

    自動インストールが有効化されている状態でコンテナを作成したところ、インストールが途中で止まってしまい、参考記事にも同じような記載があったので、自動インストールはスキップします
    ![スクリーンショット 2025-01-18 13.37.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/6ce816f0-a553-a9ad-e3ce-a22a4cfad346.png)

1. ハードウェアの設定を行います
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/e91bee4b-bb95-ef33-bd3b-6aab1c78d596.png)

1. ハードディスクの設定を行います
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/615969c0-38fc-f672-2258-6e1b31b0402f.png)

1. 完了をクリックすると、仮想マシンの作成が完了します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/5d5d2a44-8df3-f623-6367-90d051c04140.png)

1. 仮想コンテナを起動し、`Try or Install Ubuntu Server`を選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/c91339c5-eec3-35c7-5cc1-91b99fc84836.png)

1. 言語を選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/1a097294-3b47-cc91-1724-9b255d16992c.png)

1. インストーラーの更新の有無を選択します

    今回は`Continue without updating`を選択しました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/2c20381f-9737-4c0e-2588-2372d4404631.png)

1. キーボード設定からプロフィール設定の前まではデフォルト設定のまま進みます
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/1a7196be-d793-af56-23a7-4c18d0fdded0.png)
    
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/2eb68335-8a51-d8da-ec56-ced8e4f3dce9.png)
    
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/f63f337a-9068-0fe6-facd-910ed9b2cd74.png)
    
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/4e0406f6-b416-c8a3-1808-eb20af61a84a.png)
    
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/8df56d4b-5a5e-1680-3903-bd3c16cb10df.png)
    
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/23c16efd-cc64-aede-fc1a-25a686ac1bdc.png)
    
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/64eea841-cfb6-ef20-367d-4c3986e0525f.png)

1. プロフィール設定を行います
![スクリーンショット 2025-01-18 13.51.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/4efbbe11-1f61-e5fc-868f-5e16bca0f0b3.png)

1. デフォルトの設定のまま進みます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/5047d5f0-25cc-1263-8706-4a1bc63a803b.png)

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/68890724-1442-4396-0709-2bf4b3fbdcd7.png)
    
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/9363fb6a-95c9-2015-6d36-af5347ca82c1.png)

1. インストールが開始されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/0f2e6f74-4602-c314-ade0-e8f2becbfe21.png)

1. 3分ほどでインストールが完了したら、再起動を選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/4c882e68-31e7-9e93-4ba2-832ce627dc97.png)

    エラー画面が表示されるのでEnterを押します
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/40eba8a4-6547-bde1-b8c9-c7640bbf39e9.png)

1. コンテナが再起動されるので、ユーザー名とパスワードを入力してログインします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/d4054d1a-a22a-cb7f-55ec-73399fabdd3f.png)

    ログインすると、`Welcome to Ubuntu 24.04.1 LTS`と表示されていることがわかります
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/341cd789-1bf6-7e13-a2e5-0e582feb9643.png)

### デスクトップ環境をインストールする
1. 仮想コンテナで下記コマンドを実行します
    ```
    $ sudo apt update   # パッケージリストを更新
    $ sudo apt upgrade  # パッケージを最新バージョンにアップグレード
    $ sudo apt install ubuntu-desktop  # デスクトップ環境をインストール
    ```  


1. 15分ほどでインストールが完了するので、下記コマンドでubuntuを再起動します
    ```
    sudo reboot
    ```

1. ネットワーク周りでエラーが出ますが、そのまま放置しているとログイン画面が表示されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/7d5356f4-06e8-01aa-e835-41081e2a0b66.png)

1. ログインするとデスクトップ画面が表示されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219028/c6b5d516-7d75-387f-ed0f-ada0a4f3a6bf.png)


# 詰まった箇所
- **Ubuntuイメージの種類**
AMD64版のイメージ(VirtualBox-7.1.4-165100-macOSArm64.dmg)を使用してしまいファームウェアの初期化に失敗した結果、仮想コンテナを起動しても真っ暗な画面の状態が続きました。
ARM版のイメージを使用して仮想コンテナを作成し直しました。

    [補足-AMDとARM](#補足-AMDとARM)

- **仮想コンテナのスクリーンショットが撮れない**
[【VirtualBox】バーチャルボックスのウィンドウ自体のスクリーンショットが取れない](https://pg.kdtk.net/650)を参考に、コンテナのキーボードの設定を行い無事撮れるようになりました。

# 補足-AMDとARM
CPUは大きく`x86系`と`ARM系`という設計思想に分かれます。

- AMD64 (x86_64)
    - 通称で「x86_64」とも呼ばれ、IntelとAMDのパソコン用CPUはほとんどこれに当てはまります
    - Windowsや多くのLinuxディストリビューション（UbuntuやFedoraなど）は、主にこのx86_64向けにリリースされるイメージ（ISOファイルなど）を用意しています
- ARM (Advanced RISC Machine)
    - iPhoneやiPad、Androidスマートフォンなどに搭載されるCPUとして広く採用
    - 近年はAppleのMac(M1, M2など)もARMベース（Apple Silicon）になっています