「UTM Virtual machines 3.2(3.2.3)」リリース、バックエンドに「QEMU 7.0.0」を実装

Turing Software, LLC支援のUTM Projectより現地時間2022年5月12日、macOSベースのデスクトップ仮想化ソフトウェア(エミュレーター)「UTM Virtual machines」のアップデートリリースに相当する「UTM Virtual machines 3.2.3(UTM Virtual machines 3 Update 2 Hotfix 3)」がリリースされ、現在プロジェクトサイト、及びApp Storeを通じて、英語含む複数言語リソースを包含する マルチリンガル版のバイナリーパッケージ、ソースコードが入手可能となっています(バイナリーとソースコードには、ライセンスとして「Apache License 2.0」が適用されています。FTPクライアントの「Cyberduck」等と同様に、プロジェクトサイトからは無料で配布されていますが、App Store版は開発支援の目的にて有料となっています)。

バックエンドのハイパーバイザーを「QEMU 7.0.0」にアップグレード

バックエンドとして「QEMU 7.0.0」を実装している当版では、機能の追加、全般的な安定性改善、パフォーマンス改善、バグフィックス、セキュリティアップデート等が行われており、前版(UTM Virtual machines 3.1.5)からの主な変更点として、以下の項目等が示されています。

  • バックエンドのハイパーバイザーを最新ブランチの「QEMU 7.0.0」にアップグレード。併せて、spice-gtk、libusbredir等のバックエンドコンポーネントもアップデート
  • QCOW2(QEMU Copy On Write Version 2)仮想ディスク(.qcow2)の未使用領域を再利用可能に
  • 仮想マシンを起動前の状態にロールバック可能な Disposable(ディスポーザブル)モード。仮想マシンライブラリにおける該当のマシンを右クリックで長押しし、「Run without saving changes」項目を選択して起動する。このモードにおいて、起動後の変更は仮想ディスクに保存されず、仮想マシンのシャットダウン(停止)時に破棄される(@ktprograms氏による貢献)
  • And many others…

QCOW2仮想ディスクの未使用領域を再利用可能

当版では、QCOW2(QEMU Copy On Write Version 2)仮想ディスク(.qcow2)の未使用領域を再利用する事が可能となりました。この機能では、QCOW2ディスクイメージに対してコミットが行われた場合に、ホストOSは全てゼロのページをTRIMしようと試みます。更に、ディスク設定の新たなボタンを使用すると、ディスクイメージを再変換して、全てゼロのページのスペースを再利用したり、既存のディスクイメージを圧縮したりする事が可能となります(ホストOSが「macOS Monterey(macOS 12)」の環境において利用可能となります)。

この場合の圧縮は静的にのみ行われる事となり、ゲストOSがセクターを変更すると、以前と同じように非圧縮で保存される事となります。

システム要件と、仮想マシンの保存場所

UTMは、バックエンドに macOSのVirtualization.framework、及びCPUエミュレーター「QEMU」のコードを実装し、種々のアーキテクチャー(x86_64、ARM64、PowerPC64等)のゲストOSを実行可能とします。GUIクライアント(フロントエンド)のUTM.appはUniversal Binaryとしてビルドされており、「iOS 11」以降、及びIntel、Apple Silicon 双方の「macOS Big Sur(macOS 11)」以降(「macOS Monterey(macOS 12)」を含む)をホストOSとしてサポートしています(「iOS 11」「iOS 12」「iOS 13」のサポートは、Ver. 3.2.xが最後となります。以降の版では「iOS 14」以降が必要となります)。

また、作成した仮想マシンの保存場所は入手ルート(公式サイト、或いはAppleによるMac App Store)によって異なります。何れも「Parallels Desktop for Mac App Store Edition」「virtualOS」、及び嘗ての「Veertu」と同様にサンドボックスモデルに対応しているため、公式サイトからダウンロードしたバイナリーでは「/Users/username/Library/Containers/com.utmapp.UTM/Data/Documents/」以下に保存される事となり、Mac App Storeから入手したアプリケーションでは「/Users/username/Library/Group Containers/」以下に保存される事となります。