M1 MacでUTMを用いてUbuntu18.04を動かす方法

# はじめに
M1 MacでUTMを用いて、Ubuntu 18.04の仮想マシンを構築する方法についての備忘録

# 環境
MacBook Pro 14inch (2021) ベースモデル

# ソフト選定
M1 Macで仮想マシンを動かす際に使われるソフトは主に
・Parallel Desktop
・VMWare Fusion（Tech Preview）
・UTM
の三つがある。

VMWare Fusionは個人利用であれば無償で使用できる。
UTMはGitHubからダウンロードすると無償で使用することができる（App Storeからダウンロードする場合は有償）

初めは、VMWare Fusionを用いて、Ubuntu 18.04を動かそうと考えていたが、Ubuntu18.04のインストール途中で
```error:error
"Your installation CD-ROM couldn't be mounted. This probably means that the CD-ROM was not in the drive. If so you can insert it and try again".
```
というエラーが起きてインストールが進まなかった。
VMWareのCommunityで調べてみたところ、以下の記事が見つかった。
[Trouble Installing Ubuntu 18.04 arm server to VMWare Fusion for Apple Silicon](https://communities.vmware.com/t5/Fusion-for-Apple-Silicon-Tech/Trouble-Installing-Ubuntu-18-04-arm-server-to-VMWare-Fusion-for/m-p/2902872#M1292)
記事によると、VMWare Fusionで用いられているカーネルより、Ubuntu 18.04のインストーラーのカーネルが古いため、認識しないということだった。

そこで、UTMを用いてM1 Mac上でUbuntu 18.04の仮想マシンを動かそうと考えた。

# 用意するもの
・[UTM](https://mac.getutm.app)
Downloadをクリックしてソフトを入手
・[Ubuntu 18.04のArm版インストーラー](https://cdimage.ubuntu.com/releases/18.04/release/)
サイト内から
```Ubuntu 18.04 Arm Server
ubuntu-18.04.6-server-arm64.iso
```
を選択。Ubuntu 18.04のArm版はデスクトップ版が用意されていないため、Server版をインストールした上でUbuntu内でDesktopをダウンロードする形になる。

# Ubuntuインストールまでの流れ
なぜか、インストールしたUTMの言語が中国語だったので、わかりやすく説明したいと思う。

## 新規VM（Virtual Machine）の追加
＋マークをクリックして、新規VMを追加する
![スクリーンショット 2022-04-16 17.37.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/92e05a7e-8b34-46b0-eed8-940b5e46c591.png)

## シミュレーションを選択
赤で囲った箇所を選択する。
![スクリーンショット 2022-04-16 17.38.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/55713a74-ab57-31f5-e1d9-3bebcbb98e08.png)
・補足
赤で囲った箇所はArmチップ上つまりApple Silicon上で**Arm版のOS**を仮想マシンとして動かすときに選択する。
黄色で囲った箇所はエミュレーションと呼ばれ、Apple Silicon上でx86などの異なるアーキテクチャのOSを仮想マシンとして動かしたいときに選択する。動作は相当重い。

## 動かしたいOSを選択
今回はUbuntuを動かしたいのでLinuxを選択
![スクリーンショット 2022-04-16 17.38.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/3619f944-78e3-0e70-fe9d-5b88fcbc3f9e.png)

## インストールメディアを選択
事前にダウンロードしたUbuntu 18.04のArm向けサーバー版のISOファイルを選択する
![スクリーンショット 2022-04-16 17.43.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/f2997fbb-4c07-8b57-1e50-79d7fe6908e6.png)

## 仮想マシンに割り当てるスペックを選択
ここで、今回作成する仮想マシンに割り当てるスペックを決定する
・赤で囲った箇所がメモリ量の割り当て（4~8GBがいいと思われる）
・黄で囲った箇所がコア数の割り当て（4coreで十分快適に動く）
スペックの設定は、仮想マシンを動かしてからも変更できるので、調整しながらでOK
![スクリーンショット 2022-04-16 17.45.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/12389ae7-b832-2e2c-e030-f17c563f79fd.png)
・初め、コア数を6コアに設定していたが、熱を比較的持ったので、4コアに減らした。

## ストレージの割り当て
ここで、ストレージの最大容量の割り当てを行う。使っているMacのストレージは、仮想マシンが使った分だけ減るので、ここで設定した分が突然使えなくなるわけではない。
![スクリーンショット 2022-04-16 17.48.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/0a479a4a-cdcc-b2a3-a074-7e243f53c0c6.png)

## 仮想マシンの名前設定
ここで、仮想マシンの名前を入力する。わかりやすければなんでもよい。
この後、仮想マシンを起動して、Ubuntuのインストールが始まるが、その前にとある設定を行わないとうまくインストールができないので、名称の下の**チェックマーク**をつける。
ここをチェックすることで名前を決めた後に設定画面が自動で開く
![スクリーンショット 2022-04-16 17.53.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/8a7a8159-317c-de98-428e-9a8eca4ab7cc.png)

## 仮想マシン起動前の設定
**仮想マシンを起動する前に、設定画面から、一箇所設定を変える必要がある。**
・上部はGUIモードで、下部はCUIモードとなっている。
**ここの設定を変えないまま、仮想マシンを起動してもUbuntuのインストール中にトラブルに見舞われるので注意**
![スクリーンショット 2022-04-16 18.00.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/61994456-b1d0-9e0d-de69-4d306b1be17e.png)
設定を変更したのちに、仮想マシンの起動を行うが、ソフトがクラッシュすることがある。しかし、ソフトの再起動を行えば問題ない

## Ubuntuのインストールを行う
ここからは、Ubuntuのインストールが始まる。
・言語設定
・キーボード設定
・ユーザー名設定
などがあり、
またサーバー版のISOのため、サーバーとして使う場合に必要な設定も聞かれるが無視して問題ない
![スクリーンショット 2022-04-16 18.01.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/cd07a4f0-6304-b66c-7a04-08051daf0195.png)

## インストールの終了とメディアの取り出し
Ubuntuのインストールが終了すると、以下のような画面になるので、赤で囲った箇所を選択して、インストールメディアを取り出す。
インストールメディアが空になったら「Continue」を選択
![スクリーンショット 2022-04-16 18.08.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/6d0dd98a-1097-c999-21c7-6633c3565251.png)

## Ubuntuの起動とデスクトップの導入
このままUbuntuを起動すると、CUIの状態のUbuntuが起動するので、GUIで用いるためのUbuntuデスクトップを導入する
![スクリーンショット 2022-04-16 18.09.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/370ee8fc-39d3-3f83-f96d-8fc214e52930.png)

```Input
sudo apt install tasksel
sudo tasksel install ubuntu-desktop
```
上記のコマンドを一行ずつ入力して実行する。

ubuntu-desktopのインストールが終わったら、一度シャットダウンを行う。

## UTMの設定をGUIモードに変更する
デスクトップの導入まで終わったが、UTM側ではまだCUIモードになっているので、UTM上の仮想マシンの設定からGUIモードに戻す。
黄で囲った箇所から、設定に移動できる。そして赤で囲ったように選択する。
![スクリーンショット 2022-04-16 18.11.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/1c54b77b-fe4a-87f8-15a4-59d3c5b6103e.png)

## GUIでUbuntu 18.04が使用できるようになる
GUIモードに変更した後に、Ubuntuを起動しようとすると、ソフトが一度クラッシュするかもしれないが、そのまま再起動して、仮想マシンを起動するとGUIで使用できるようになる。
![スクリーンショット 2022-04-16 18.27.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631243/5a3da004-f34e-6faf-f52c-2995fa198e39.png)

# おわりに
Ubuntu 20.04をM1 Mac上でUTMを使って動かす方法はネット上で見つけたものの、Ubuntu 18.04の方法がまとまっていなかったので、まとめた。
また、自分が実際にやっていく中でつまずいたポイントを共有した。


# 参考資料
・[Trouble Installing Ubuntu 18.04 arm server to VMWare Fusion for Apple Silicon](https://communities.vmware.com/t5/Fusion-for-Apple-Silicon-Tech/Trouble-Installing-Ubuntu-18-04-arm-server-to-VMWare-Fusion-for/m-p/2902872#M1292)
・[第672回　UTMを使ってM1 Mac上でUbuntuを動かす](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0672)
・[Can't Run Ubuntu 18.04 in UTM](https://github.com/utmapp/UTM/discussions/3735)