0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

install minimal Ubuntu on UTM

Last updated at Posted at 2025-10-21

公式UTMのGalleryでは、22.xのUbuntu(ARM64)がDisk:64GiBと大きいため、軽量のminimalで構成してみました。

インストールイメージのダウンロード

arm用ubuntuのISOファイルをここからダウンロードする

UTMで新規仮想マシン作成

・仮想化 - Linux
・仮想化エンジン: デフォルト(Apple仮想化は使わない)
・起動ISOイメージ: ダウンロードしたISOファイルを指定
・Memory: 2048MiB
・Disk: 8GiB
・共有ディレクトリ: 任意の場所を指定
・「仮想マシン設定を開く」にチェックを入れて保存
・情報 - 名前: 仮想マシン名を設定 - 保存

この状態だと、仮想マシンファイル (*.utm) はデフォルトの~/Library/Containers/com.utmapp.UTM/Data/Documentsに保存される。変更したい場合は、仮想マシンを右クリック - 移動 で保存先を変更する
変更すると、下記のようにパスが表示されるようになる

初期インストール

・仮想マシンを起動
・[Try or Install Ubuntu server] *Default
・Language - English *Default
・Keyboard Layout/Variant :English(US) *Default
・Type of Installation: Ubuntu Server (minimized)
・Network Configuration *Default
  enp0s1 eth
  DHCPv4 <ip address>
・Proxy configuration *Default
  blank
・Ubuntu archive mirror configuration *Default
・Guided storage configuration *Default
  Use an entire disk - Set up this disk as an LVM group
・Storage configuration *Default
  
・Confirm destructive action: Continue
・Profile Configuration: お好みで設定してください
・Upgrade to Ubuntu Pro: Skip for now *Default
・SSH Configuration: [x] Install OpenSSH server
  *ここではinstallのみ
・Featured server snaps *Default
  
  Installation complete!でReboot Now
・VMコンソール右上の「ドライブイメージのオプション」アイコンをクリックする
  

・ISOファイルを取り出す
  
・CUIモードで起動するので、設定したユーザーでログインする

vimインストール

・viが使えないのでインストールする

sudo apt update
sudo apt install vim

コンソール表示が見づらい時、コマンド実行前にclearを打って一旦初期化すると見やすいです。

仮想Linux用パッケージ追加と共有ディレクトリの設定

参照先: Linux | UTM Documentation

・SPICE Agent, QEMU Agent, SPICE WebDAV をインストールする

sudo apt install spice-vdagent qemu-guest-agent spice-webdavd

・共有ディレクトリの設定を/etc/fstabに追加する

share /mnt/utm 9p trans=virtio,version=9p2000.L,rw,_netdev,nofail,auto 0 0

  マウントポイント(/mnt/utm)は変更可能

Apple仮想化を有効にした場合はfstabの記述が下記のようになります。

share	[mount point]	virtiofs	rw,nofail	0	0

・マウントポイントを作成

sudo mkdir /mnt/utm

・設定を反映・確認

sudo mount -a
systemctl list-units --type=mount

image.png

systemctl daemon-reloadでは反映されないのでmount -aを使います。設定が反映されない時はRebootしてください。

sshの設定

hostname -IコマンドでDHCPから割り当てられたIPを確認しておく
ここを参照して設定する
・ssh用ユーザーは初期インストールで作成したものをそのまま使う

  [設定Tips] .ssh/authorized_keysが空ファイルとして既にあるので上書きする

cat .ssh/id_rsa.pub >> .ssh/authorized_keys

  [設定Tips] 共有ディレクトリへの秘密鍵コピーはsudoで実行する

sudo cp -p .ssh/id_rsa /mnt/utm/path/to/dir

・macOSからsshで接続確認できればOK

Chronyによる時刻同期の設定

ChronyがUbuntuの標準NTPクライアントになったことが公式ページでも明記されています。
Synchronize time using Chrony - Ubuntu Server documentation

・chronyインストール

sudo apt install chrony

・サービス有効化+起動

sudo systemctl enable --now chrony

・サービス起動確認

systemctl status chrony

・時刻同期の状態確認

chronyc tracking

・タイムゾーンの設定

sudo timedatectl set-timezone Asia/Tokyo

・確認

timedatectl status

・NTP同期の有効化

sudo timedatectl set-ntp true

set-ntp truechronyd を通じて同期を有効化する

・同期の確認

chronyc sources

^* は現在の同期先

Reach が 377 なら正常(現在の同期先が377に更新されるまで少し時間がかかる)
377(8進数) → 直近8回全て同期が成功している

Last sample の +/- は誤差範囲

qemu-imgでスナップショットを作成

ここまでの状態をバックアップするため、qemu-imgコマンドでスナップショットを作成します。この機能はメモリ状態までは保存されないため、事前にVMをシャットダウンしておく必要があります。

・対象VMの仮想ディスク(*.qcow2ファイル)のフルパスを確認する
  UTM画面の仮想マシンを右クリック - 「Finderに表示」をクリックする

  さらに、*.utmを「パッケージの内容を表示」で開くとDataフォルダが見えて、その中にqcom2ファイルがある


  Finderでqcom2を選択して、右下のファイル名を右クリックするとパスをコピーできる

・macOSでqemuをインストールする

brew install qemu

・スナップショットを作成する

qemu-img snapshot -c <スナップショット名> <qcow2ファイルのパス>

例:
qemu-img snapshot -c snapshot-2025-10-21 ~/ubuntu.utm/Data/xxxxxx.qcow2

・スナップショット一覧を確認する

qemu-img snapshot -l <qcow2ファイルのパス>

スナップショットは QCOW2ファイルに内包されるメタデータとして保存されます。
Finderからファイルとして見ることはできません。

・スナップショットから復元する (optional)

qemu-img snapshot -a <スナップショット名> <qcow2ファイルのパス>

・スナップショットを削除する (optional)

qemu-img snapshot -d <スナップショット名> <qcow2ファイルのパス>

作成・復元・削除はオプション-c|-a|-dが変わるだけです。

参考資料:

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?