LoginSignup
74
61

More than 3 years have passed since last update.

UTMを使ってM1 MacにUbuntu20.04をインストールして、その中でDockerを動かして、その中でUbuntu20.10を動かしてみる

Last updated at Posted at 2021-02-25

Macの仮想化ソフトウェアというと、VirtualBoxVMware FusionParallels Desktopといったプロダクトが代表的なところかと思いますが、この中でApple M1への対応が進んでいるのはParallels Desktopが先行している状況のようです。

上記のプロダクト以外にMac上で仮想環境を実現する方法としてはAppleが提供しているVirtualization frameworkを利用することで可能とのこと。

Appleの開発者フォーラムではVirtualization frameworkを利用したSimpleVM、vm-lite、virtualというプロダクトのGitHubのリポジトリが紹介されています。

Setting up Linux VM on Apple Silicon for Docker」という記事にSimpleVMを利用したUbuntu上でDockerを起動するまでの手順が掲載されていたので実際にやってみたところ、Ubuntuが起動することは確認できましたが、vmlinuzとinitrdを準備するところが非常に煩雑だと感じました。

こうなると、やはりVirtualBoxやVMware Fusionのような仮想化のGUIフロントエンドが欲しくなります。そういった声に応えてくれるのがUTMやACVMといったQEMUラッパーです。

前置きが長くなりましたが、それではUTMを使ってM1 MacにUbuntuをインストールしていきましょう。
手順についてはUTMのリポジトリの「Install Ubuntu ARM64 on Apple M1」というWikiか、もしくは、UTMのページの「Ubuntu 20.04」にキャプチャ付きでまとめられてるので、実はここを見れば一発なんですが今回はUTMをインストールするところから説明していきます。

UTMのリリースページからMac用のインストールバイナリ(UTM.dmg)をダウンロードしてインストールします。(2020年2月25日時点ではv2.0.22が最新版のようです。)

次に、Ubuntu Server for ARMのページからARM版のイメージ(ISOファイル)をダウンロードします。今回は「20.04.2 LTS」を利用することとします。

あとは先程紹介したインストール手順に従い進めていきます。

UTMを起動します。
スクリーンショット 2021-02-25 1.27.05.png

画面上段の「+」ボタン、もしくは、「Create a New Vitural Machine」のアイコンをクリックします。
スクリーンショット 2021-02-25 1.30.19.png

InformationタブのName欄に「Ubuntu 20.04」と入力し、Styleから「Operating System」を選択します。
スクリーンショット 2021-02-25 1.31.50.png

Systemタブに移動します。
スクリーンショット 2021-02-25 1.33.46.png

Architectureから「ARM64 (aarch64)」を選択すると、自動的にSystemから「QEMU 5.2 ARM Virtual Machine (alias of virt-5.2) (virt)」が選択されます。
Memoryについては環境によって設定可能な値が変わってくると思いますが、今回は8192MB(8GB)で設定してみます。
スクリーンショット 2021-02-25 9.19.17.png

Deviceタブに移動します。
スクリーンショット 2021-02-25 1.36.48.png

「New Device」ボタンをクリックし、Interfaceで「VirtIO」が選択された状態でSizeに「10GB」と入力します。
スクリーンショット 2021-02-25 1.37.54.png

「Create」ボタンをクリックします。
スクリーンショット 2021-02-25 1.40.06.png

もう一度「New Device」ボタンをクリックします。「Removable」にチェックすると、Interfaceで「USB」が選択された状態となります。
スクリーンショット 2021-02-25 1.41.39.png

「Create」ボタンをクリックします。
スクリーンショット 2021-02-25 1.43.06.png

「Save」ボタンをクリックすると、仮想マシンの枠ができあがります。
スクリーンショット 2021-02-25 1.44.48.png

「CD/DVD」の欄をクリックすると「Browse」と表示されるのでこれをクリックします。
スクリーンショット 2021-02-25 1.46.41.png

事前にダウンロードしておいたISOファイルを選択します。
スクリーンショット 2021-02-25 1.49.20.png

再生アイコン(起動ボタン)をクリックすると仮想マシンが起動します。
スクリーンショット 2021-02-25 1.52.16.png

事前に作成したCD/DVDドライブより先にハードディスクの方を起動ドライブとして認識しているため起動できない状態となっています。
スクリーンショット 2021-02-25 1.55.39.png

EXITと入力してEnterを押下します。
スクリーンショット 2021-02-25 2.02.06.png

UEFIの設定画面へ遷移します。
スクリーンショット 2021-02-25 2.02.36.png

「Boot Manager」を選択します。
スクリーンショット 2021-02-25 2.03.11.png

「UEFI QEMU QEMU USB HARDDRIVE」を選択します。
スクリーンショット 2021-02-25 2.04.29.png

Ubuntuのインストール画面が表示されるので「Install Ubuntu Server」を選択します。
スクリーンショット 2021-02-25 2.07.17.png

Ubuntuの詳細なインストール手順については割愛します。

インストール後に利用したいパッケージが決まっているのであれば、「Featured Server Snaps」の画面で選択しておきます。今回はdockerを選択しました。
スクリーンショット 2021-02-25 9.37.50.png

インストールが完了したら一旦仮想マシンを停止し、CD/DVDの「Clear」を選択して再度仮想マシンを起動します。
スクリーンショット 2021-02-25 9.40.36.png

GRUBの画面が表示されますので、「Ubuntu」を選択します。
スクリーンショット 2021-02-25 9.41.35.png

Ubuntuが起動します。
スクリーンショット 2021-02-25 9.42.19.png

インストール時に設定したアカウントでログインし、unameと/etc/os-releaseを確認してみます。
スクリーンショット 2021-02-25 9.47.44.png

sudo apt-get -y install ubuntu-desktop を実行してデスクトップ環境をインストールしてみます。
スクリーンショット 2021-02-25 9.48.18.png

インストールが完了したら sudo reboot で再起動します。
スクリーンショット 2021-02-25 9.53.11.png

再起動後はGUIのログイン画面が表示されます。
スクリーンショット 2021-02-25 9.54.50.png

ログインするとデスクトップ環境が表示されます。
スクリーンショット 2021-02-25 9.55.52.png

Ubuntuのインストール時にDockerをインストールしていたので、Dockerのバージョン情報を表示してみます。
スクリーンショット 2021-02-25 12.30.08.png

docker image pull (もしくは docker pull) を実行してUbuntu 20.10のイメージを取得し、 docker image ls (もしくは docker images) でイメージが取得できているか確認します。
スクリーンショット 2021-02-25 12.36.00.png

docker container run (もしくはdocker run) でコンテナのシェルを表示し、unameと/etc/os-releaseを確認してみます。
スクリーンショット 2021-02-25 12.40.18.png

74
61
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
74
61