mac&PC

[仮想環境] M1 Mac で Windows を - 0: 構想編

投稿日:2022/06/06 更新日:

M1 Mac の上で Windows 環境の選択肢, インストール, 性能について、
今後数回にわたって掲載していきます。

 

 

背景

私はながらく MacBook Pro を使い続けており、昨年度末に M1 Max な MacBook Pro を新調しました。
また、私は日ごろから仮想マシンを常用しており、Mac では最近は Parallels Desktop を利用していました。
これまでは Intel な Mac だったので仮想環境もあまり複雑ではなかったのですが、
今回導入した M1 な Mac はアーキテクチャが AArch64 であり、各種 OS は基本 x86_64 なので、
これまでの仮想環境と同様のものを用意しようと思ってもそれほどシンプルではありません。
(その点 macOS 自体は UniversalBinary2 や Rosetta2 でかなり複雑さは軽減されてますね)

AArch64 の Linux 環境については Raspberry Pi (Ubuntu Server 20.04) で確認しています。
問題は Windows 環境です。
今回は M1 な Mac 上の Windows 仮想環境について調べました。

 

Parallels Desktop + Windows?

これまでの環境を踏まえて Parallels Desktop + Windows にまずついて考えます。
v16.5 で M1 Mac にひとまず対応, v17 から Windows 正式版も簡単に導入できるようになったようです。
ただし、Parallels Desktop は M1 Mac 上では AArch64 のみで x86_64 は動作しないようです。
つまり Virtualization はできるけど Emulation はできないということのようです。
したがって上記の Windows も当然 AArch64 版 (Windows on ARM; WoA) ということになります。
# 簡単に調べたところ VMware Fusion 等もこの辺は同様のようです。

Google Adsense

x64 emulation on WoA

さて、M1 Mac な仮想環境上で (比較的簡単に*) 使えそうな Windows は ARM版だけとわかりましたが、
これはあまり普及していないので、必然的に AArch64 アプリも非常に限定的だということは想像に難くありません。
すくなくとも Windows のアプリケーションで AArch64 版を配布しているのをほとんど目にしない気がします。
macOS や Linux 向け AArch64 バイナリを配布しているところですら Windows AArch64 版は見ない気がします。
そうなるとせっかく Windows 環境を用意してもほとんど動くアプリケーションが無いことになります。
(*QEMU などで AArch64 上で x86/x64 を emulation して x86/x64 な Windows を動かす手も無くはない)

当然 M$ もそんな批判は想定していて WoA には x86 emulation 機能があります。
ちょうど macOS の Rosetta2 的なやつですね。
動作速度に少し目をつぶれば、既存のアプリケーションの多くを WoA 上で使えそうな気がします。

ところが、実際はもう少し複雑でのようです。
当初は Windows 10 の Insider Preview において (狭義の) x86(=IA-32) に加えて、
x64 (x86_64) エミュレーションも実装・テストされており、
まさしく (広義の) x86 emulation 機能だったわけですが、
"11" をリリースすることになった戦略変更か、その普及のためかわかりませんが、
Windows 10 (AArch64) から x64 emulation 機能が削除されたようです。
当初 (広義の) x86 emulation だったものが、いつしか (狭義の) x86 emulation になった訳です。

そして (広義の) x86 emulation、つまり x86/x64 emulation は Windows 11 (AArch64) のみ対応となりました。
幸か不幸か Windows もようやく 64bit 対応が進み、x64 バイナリしか配布されないものも少なくなくなりました。
なので M1 Mac な仮想環境下では、多くのことができる Windows というメリットを生かそうとすると、
OS は必然的に Windows 11 on ARM の一択になるというわけです。

 

Windows 11 on ARM, x86/x64 エミュレーションの使い勝手は?

そもそも x64 な Windows 11 もまだ本格的に触っていないのに (先日適当なマシンに入れてはみましたが)、
あまり普及していない ARM 版の Windows 11 での x86/x64 エミュレーションを、
しかも仮想マシン上でとなると、さすがに不安要素が多すぎます。
メイン機に本格導入前に、軽く感触に当たりを付けておきたいところです。

Parallels Desktop 17 を用意しての評価も考えたのですが、

  • (宗教上の理由で) 買い切り版にしたい
  • Parallels Desktop 17 は 2021/08 にリリースされており、もうすぐ次期版が多分リリースされる。
    買い切り版前提だとあまり買いたい次期ではない。
  • 買い切り版は vCPU が4コアまでに制限される。
    これまでは4コアでもあまり問題なかったのですが、M1 Max は 8+2 コアあるので資源を使いきれない

Google Adsense

という訳で、お試し目的には少し躊躇する状況でしたので、代わりに UTM を使ってテストしてみることにしました。
次回から2回にわたって記事にしていきたいと思います。

  1. [UTM] M1 Mac で Windows を - 1: インストール編
  2. [x86/x64 エミュレーション] M1 Mac で Windows を - 2: ベンチマーク編

 

蛇足

実機の Windows では WSL(2) も常用していますが、
軽く調べたところによると M1 Mac は "Nested Virtualization" に対応していない(?) みたいなので、
Hyper-V が必要な WSL2 は使えないみたいですね。
WSL1 は使えるようです。
もっとも、実機 Windows 単体ならいざ知らす、
仮想環境の Windows には、外(ホスト) に macOS 環境があるのであまり必要になることも少ないのかもしれませんが。

 

Google Adsense

Google Adsense

-mac&PC
-, , ,

Copyright© P-Life, 2024 All Rights Reserved.