2023年 03月 22日
アップル仮想化フレームワークって何

M1/M2 mac で ARM版 Windows11を: 無償のUTMで仮想化
Q: アップル仮想化フレームワークって何
A: Appleの仮想化フレームワークは、macOSおよびiOSで仮想マシンを実行するためのソフトウェアです。これは、アプリケーションの互換性を維持しながら、複数のオペレーティングシステムを同じデバイスで実行できるようにするために使用されます。
Appleの仮想化フレームワークは、主に2つの種類があります。最初のものは、ハイパーバイザーフレームワークで、これはmacOS上で仮想マシンを実行するためのものです。2つ目は、コンテナベースの仮想化フレームワークで、これはiOS上で実行されるアプリケーションを分離するために使用されます。
これらのフレームワークは、macOSおよびiOSの両方で重要な役割を果たしています。例えば、macOSのハイパーバイザーフレームワークは、Parallels DesktopやVMware Fusionなどの仮想マシンアプリケーションを実行するのに役立ちます。一方、iOSのコンテナベースの仮想化フレームワークは、企業が従業員に提供するために開発されたアプリケーションを、個人用のアプリケーションと分離して実行するのに役立ちます。
Virtualization : Create virtual machines and run macOS and Linux-based operating systems.
要するに、Apple が提供する仮想化の API で Linux や macOS を仮想化するには便利でスバラしいということなのですが、これ「おいしの?」と当たり前の様に思うわけです。この数ヶ月、UTM と戯れて、Apple VM Framework を使ってみて、Fedora37 や openSUSE Tumbleweed は動かなかったし、その後、openSUSE Leap 15.5 のベータ版から動くようになった。ついでに、Tumbleweed も動くようになった。
Apple VM を使わない場合はどうなるかと言えば UTM/QEMU Bios から起動する訳ですね。Windows11 はこのパターンです。というかWindows をインストールする時は Apple VM のチェックポイントがない。
じゃ、ARM64 Windows を Linux だと偽ってインストールしてみたら、Apple VM 環境下ではセットアップは立ち上がらないし、Apple VM のチェックを外して UTM/QEMU から入れたら、ハードウェアチェックで引っかかった。やっぱり、UTM はWindows11を動かすために何かしているな。
Apple Sillicon mac 上の UTM で Linux を動かすには、Apple VM フレームワークと QEMU の二種類がある、という事です。少なくとも今手に入る openSUSE Tumbleweed ではどちらも動くようだし、SUSE SLE/Leap 15.5 では Apple VM フレームワークじやないと動かない。これはそれぞれのディストリビューションによって対応が違ってくるかも知れません。
結局どちらが良いのかと言う話になるのですが、やはり Apple としては、自社の技術を押し出したいので Apple VM フレームワークを中心に考えるでしょう。openSUSE では、グラフィックスが mac のグラフィックスをそのまま引き継いでいるようなので性能面でもこちらの方が有利のようです。
Linux が効率よく mac のハードウェアの呼び出しをするには、 Apple VM Framework を呼び出して直接 mac のハードウェアを動かすのが良い。そのためには、 Linux ゲスト側のディストリビューションで Apple の VM に合わせた仮想ドライバ・ソフトウェアが必要となります。もちろん Apple のドキュメントには Apple VM Framework は VirtIO にも対応しているらしい事が書いてあります。ネットワークやディスクドライバは VirtIO をそのまま使っているらしい。
一方 Linux のディストリビューション側としては、オープンソースだし、動作する aarch64 ターゲットは Apple mac だけではない。様々な IoT 機器も対象なわけですから、QEMU を主流に考えるのかも知れない。
Apple の VirtualOS
まるっきりこれですね。
virtualOShttps://apps.apple.com/us/app/virtualos/id1614659226

UTM Virtial ソフトウェアで、macOS を仮想化しても同じ事ができます。

Apple silicon 対応 Docker Desktop
https://docs.docker.jp/desktop/mac/apple-silicon.html

openSUSE の ARM64 版 Docker コンテナがそのまま動きます。 Parallels や VMware fusion は要らない。

M1 macbook で Linux、docker で openSUSE Leap を実行
まだまだ発展途上です。

M1 mac で Linux 仮想化 SUSE Linux Enterprise15sp5 Beta が UTM で動いた