🐳

UTM に立てたVMのスナップショットを撮る

2023/10/07に公開

VMを建てるのに最近はUTMを使っています。というのも設定がめちゃくちゃ簡単なのと、Virtual Box でGUIが激重だったKali linuxを結構軽く扱うことができたからです。
しかし、Virtual Boxだと調べれば簡単に出てくるスナップショットの撮り方がいまいち出てこなかったので今回備忘録としてまとめることにしました。

UTM-Snapshot-Managerを使用する

https://github.com/Metamogul/UTM-Snapshot-Manager/tree/main

これをローカルでビルドして使います!

必要なものは以下です

  • xcode
  • qemu-img

xcodeはとりあえず最新なら問題ないと思います。
qemu-imgは ここから落としてきましょう。
qemuを落としてきてパスさえ通ってれば使えます。

qemu-img -V

バージョンが表示されればokです。

あとはxcodeでこのgithub projectを開いてbuildしましょう。buildした後にrunすれば、以下のようなランチャーが起動します。

操作としては、

1.まず、左端の+ボタンを押す。名前を適当に入力してVM Groupを作成する

2.(きったなくてごめんなさい。。。)
1で作ったV Groupをselectしてもらって、2の+マークを押します。
すると、ウィジェットが開くので、UTMで使用しているVMでスナップショットを取りたいものを選んでください。
拡張子が「.utm」のものが対象のVMになるかなと思います。

3.スナップショットを撮る

vm groupには複数の登録できます。
上の+ボタンを押すことでスナップショットを撮ることができます。
-ボタンはスナップショットのremoveを行うことができます。
時計マークっぽいやつを押すと選択したスナップショットを使用してVMを起動することができます。

ざっくりとこんな感じです!

保存先

じゃあどこで保存されてるのかという話になるわけですが、
https://github.com/Metamogul/UTM-Snapshot-Manager/blob/ff8959371602ecf8733cfde43abf58bb346ba104/UTM Snapshot-Manager/QemuImg.swift#L20C6-L20C35

これを読む限り、qemu-imgのラップっぽいんですよね。

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-using_qemu_img-listing_creating_applying_and_deleting_a_snapshot

quem-image snapshotを使用していそうですね。
なので、こっちでlist表示してみたら出るんじゃないかと思い出してみました。

qemu-img snapshot -l <vmのパス>

そもそもUTMがqemuのラップっぽいのでなるほどって感じですね〜
ともあれこれで気兼ねなく?壊れる心配に過度に震えずにkali linuxのトレーニングが続けらそうです。

Discussion