M1 Mac+UTMでのWindows 10 ARMの構築

概要

Apple silicon (M1) 搭載のMacBook Air (M1, 2020) を2021年7月に購入し、初めてMacを使っている。

それまではUbuntuをメインに使っており、Windowsでの動作確認をVirtualBoxで行っていた。MacでもWindows環境が必要になり、VirtualBoxを試したが、そもそもVirtualBoxがApple silicon (ARM) のMacに対応していないようで、起動できなかった。

MacではUTMというQEMUベースのエミューレーターを使うことで、Mac上でWindowsを動作できるようだ。実際に、これでVirtualBoxのWindows (intel) を変換して起動できた。ただ、起動できたものの動作が遅すぎて常用するのは難しいと感じた。これは、ARM CPU上でIntel CPUをエミューレートするためであり、同じARM同士であれば余計なエミューレートがなくなり、性能が改善される。

そこで、現在評価版がMicorosoftから提供されているWindows 10 ARMをUTMで動作させた。いくつか注意点もあるので、手順を残す。

UTMの公式手順「Windows 10 | UTM」を参考にした。

MacBook Air (M1, 2020), macOS Big Sur (v11.5.1), UTM v2.1.2 (31), Windows10_InsiderPreview_Client_ARM64_en-us_21354.VHDXで確認した。

手順

まず、UTM、Windows for ARM、SPICE Guest Toolsをダウンロードする。Windows for ARMはWindows Insider Prevewのプログラムに参加する必要があり、Hyper-Vのイメージファイル9 GBをダウンロードする。

ダウンロードしたイメージファイルをそのまま使用すると、UTM v2.1.2だと起動に失敗した。そのため、これをQEMUの形式に変換しておく。新しいUTMのバージョンで問題ないならこの変換は不要になる。

Homebrewでqemu-imgをインストールして、このコマンドでqcow2に変換する。

brew install qemu
qemu-img convert -p -O qcow2 \
Windows10_InsiderPreview_Client_ARM64_en-us_21354.VHDX \
Windows10_InsiderPreview_Client_ARM64_en-us_21354.qcow2

次に、UTMでイメージを追加する。

[Information] タブで以下を選ぶ。

  • [Name]: [Windows 10]
  • [Style]: [Operating System]

[System] タブで以下を選ぶ。

  • [Architecture]: [ARM64 (aarch64)
  • [Memory]: [8192 MB]

[Drives] タブで以下を選ぶ。

  • [Import Drive] を選び、事前にダウンロードしたWindows 10のVHDXファイルを選ぶ。そして、 [Interface]=[NVMe] を選ぶ。このNVMeの設定が重要となる。
  • [New Drive]-[☑Removable]

[Sharing] タブで以下を選ぶ。

  • [Shared Directory]-[☑Enable Directory Sharing]

設定が終わったら、メニューに戻って、以下の2点を設定する。

  • [Shared Directory] を選んで、共有対象のディレクトリーを選ぶ。特にこだわりがなければ、[~/Public] が標準の共有ディレクトリーなのでこれを選ぶとよい。
  • [CD/DVD]-[spice-guest-tools-0.164] を選んで、SPICE guest toolsのISOをマウントしておく。

イメージを起動してWindows 10の設定をウィザードに沿って行う。初期設定が完了したら、まずspice-guest-toolsをインストールする。

CD Drive (D:) に選択したISOファイルがマウントされており、ここに [spice-guest-tools-x.xxx] が存在する。これをダブルクリックでインストールして再起動する。

これをインストールしないと、インターネット接続やディレクトリー共有ができないので必須だろう。

再起動すると、Zドライブに [DavWWWRoot (\\localhost@9843)] がマウントされている。これが共有ディレクトリーだ。

インストール手順は以上となる。

対策

インストールはできたが、そのままではいろいろ問題がある。対応できている問題の対策と、対応できていないものについては不具合の情報を掲載する。

画面サイズ

まず、デフォルトだと表示されている画面は画面2となっている。この状態だと画面が小さい。これを解消するには、デスクトップで右クリック-[Display settings]-[Multiple displays]-[Show only on 1] を選んで再起動する。

ただし、これを選ぶと、画面解像度が上がって画面サイズを大きく拡大できるが、代わりにマウス統合がずれるようになる。これを回避するには、右上の [capture mouse] を選んでVMにマウスをキャプチャーさせる。マウスキャプチャーはcontrol+optionキーで解除できる。

そのほかに、なぜか2-3分おきくらいにIE Edgeが新しいタブを開くようになるほか、マウスポインターが見えないことが多くなる。画面サイズは大きくなるものの、逆に作業効率が落ちるように感じた。

そのため、画面サイズが小さいのを我慢して2の画面を使ったほうがよく感じた。

日本語対応

デフォルトだと英語版となっており、日本語を入力できない。そのため、日本語対応する必要がある。

これについては、「M1 MacでのWindows 10 ARMの日本語化方法 – senooken.jp」に記載しているのでこれを参考に設定する。

ディレクトリー共有のファイルサイズ上限拡大

ディレクトリー共有はWebDAVを経由して実現されている。Windowsのexplorer.exeはWebDAVに対応している。

ただし、標準で50 MBまでのファイルしか取り扱えない。設定で4 GBまで拡大できるので「WindowsのWebDAVでの大容量データの使用方法 – senooken.jp」を参考に設定する。

自動ログイン

UTMの設定とは直接関係ないが、VM上のWindowsを起動するたびにパスワードを入力するは手間だ。

そこで、「Windows 10の自動ログイン方法 – senooken.jp」を参考に自動ログインすると楽だろう。

マウスホイールとスクロールの方向

Mac側ではマウスホイールとスクロールの方向を設定できる (参考: Mac: マウスホイールのスクロール方向の変更 – senooken.jp)。

ただし、WindowsでのマウスホイールはMacの設定と関係なく、Macの現在のスクロール方向と逆方向になるようだ。おそらくUTMのバグだと思われる。バグと思って直るまで我慢する。

日本語キーボードでの入力不可キー

Non-English keyboards are not mapped correctly on Macbook · Issue #2678 · utmapp/UTM」で報告されている通り、英語キーボード以外だとキー割り当てがおかしくて入力できない文字がある。

Twitter上でも同じ問題の報告が見つかった。

日本語キーボードだと、バックスラッシュ、パイプ、アンダーバーあたりが直接入力できなかった。

しかたないので、Macホスト側で、これらの文字をコピーして、ペーストで入力する。

結論

M1 MacでのWindows 10 ARMのVMの構築方法を記した。

いろいろ問題があり、かなり苦労した。特に日本語化の方法に苦労した。

今回、Windows上で動作させたいソフトがあり、パフォーマンスの問題があったので、頑張って取り組んだ。できることならば、またUTMでのARM Windowsの使用は避けたほうが無難に感じる。

マウスやキーボードなどに相変わらず問題があるので、解決したら情報を更新したい。

M1 Mac+UTMでのWindows 10 ARMの構築” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です