メインコンテンツまでスキップ

M1 Macで仮想Windowsを起動する

· 約10分
Bony_Chops

みなさん,Mac 使ってますか?自分は最近買いましたがめちゃくちゃ快適で日々の QoL が格段に上がりました.
今回は,そんな M1 Mac で Windows を仮想で起動する方法について記載していきたいと思います.もちろん,私は学生ですのでお金のかかる方法では構築しません.すべて無料です.

備考

別に M1 に限らず,M2 や今後出るかもしれない M3 でも再現できると思います.要は,**Apple Silicon(arm チップ)**向けの記事ってことです

警告

ただ,自分は M1 Mac Air しか持ってないので,それ以外での環境で再現することができません.よって,もしかしたら別環境では再現できないかもしれないことを留意してください

警告

すべて無料と言いましたが,Windows のライセンスに関してはご自身で用意してください.大学によりますが,Education であれば無料で使えるところもあるので,それを活用しましょう.

注記

公式では UUP dump と称されているサイトからイメージを落とすことを推奨されていますが,自分はあまり非公式のイメージを使いたくないためこの方法を取っています.公式が案内する方法を使いたい場合は,Windows 11 | UTM Documentationをご覧ください.

Arm 版 Windows を用意する

まず,Arm 版 Windows のイメージを入手します.

備考

Windows では任意 CPU アーキテクチャ向けのバイナリを Arm で実行するすご機能があります,しかし,Win 10 だと x86 バイナリのみ,Win 11 は x86,x64 両者対応なので,よくわからなかったら Win 11 にすることを強くお勧めします.

  1. Windows Insider Program に登録する Arm 版 Windows は Preview という位置付けなので,Insider Program への登録が必要です.こちらのThe Windows Insider Programで申請をします.
    1. こちらの青い[登録]をクリック
    2. Microsoft アカウントでログイン
    3. 必要事項を入力し,登録を完了させる
  2. 登録が完了したら,Download Windows Insider Preview ARM64から,Win11 の Arm 版をダウンロードします.
    1. エディションを選びます. 一番安定している Beta を選びます
    2. 言語を選びます.英語しかありません;;
    3. ダウンロード.大体 10GB ぐらいあります...

UTM をダウンロード/インストール

仮想環境として UTM というものを使います.同一 CPU アーキテクチャでも,違うやつでも動かせる優れものです.

  1. mac.getutm.appにアクセス
  2. なぜか App Store だと$9.99 するので,Download をクリックして無償でダウンロードします
  3. 恒例のやつをやります
    注記

    これのためだけにためだけに 242MB 落としました

UTM 設定

  1. 新規仮想マシンを作成をクリック
    注記

    なんかすでに Win が生えていますが気にしないでください

  2. 仮想化をクリック
  3. VHDX イメージを読み込むにチェックを入れて,先ほどダウンロードした arm 版 Windows のイメージを選択
    備考

    写真では間違えていますが,Windows11_InsiderPreview_Client_ARM64_en-us_xxxxx.VHDXを選んでください

  4. メモリはマシンの半分ぐらいのメモリを割り当てましょう(最低でも 4096MB).
  5. 共有ディレクトリは,Win と共有できるフォルダの設定です.Mac から Win に転送したいファイルがあれば,設定すると便利かもしれません.
  6. 設定が完了するとこんな感じです
  7. ネットワークの設定だけ先に行っておきます.ここをクリックしてください.
  8. ネットワークの設定を開いて,ネットワークモードを仮想 VLANにしてください

  9. これで一通りの設定は完了です!

解像度を大きくしておく

初期設定だと解像度が小さく,押せない箇所が出てくるので先に広げておきます.

  1. ▶️ 再生ボタンを押して Windows を起動します
    警告

    起動したら即座にescを連打します! 詳しくは次をご覧ください.

  2. Start boot optionが出たら即座にescを連打します
  3. Device Managerを選択
  4. OVMF Platform Configurationを選択
  5. 解像度を1024x768に設定します
  6. escを押して,yを押して保存します
  7. escを何回か押し,最初の画面に戻ったらContinue
  8. これで解像度が大きめのウィンドウが立ち上がるようになりました
    備考

    もし,こんな感じの表示が出たらRestart my PCをすれば良いですが,これで再起動した後は起動しないかもしれません.そういう時は一度ウィンドウを閉じて,再度起動し直してください

Windows セットアップ

  1. こんな感じで起動したら,
  2. Shift + (fn) + F10でターミナルを起動します(!?!?!?!)
    1. Yes
    2. ターミナルが開く
  3. OOBE\BYPASSNROと入力してEnter(勝手に再起動します). :::info US 配列 \]を入力するキー(ひらがな: )を押します ::: :::info この儀式はなに...? これは,のちのネットワークの設定をスキップするための儀式です.この仮想マシンはドライバをインストールしていない状態なので,現状ネットワークに接続できませんが,Win11 のセットアップはネットワークの設定をスキップできない仕様になっています.
    その上,以下の画像のネットワーク構成画面になるとなぜかShift + F10が効かなくなり詰むのでここで入力する必要があります.(MS くんさあ...)
    :::
  4. 再起動したら,諸々の設定を進めていきます(初歩的なところは飛ばします)
  5. ネットワークの設定で,I don't have internetを選択
  6. いろいろ入力します
  7. This might take a few minutes. なので待ちましょう.
  8. Windows 起動!!
  9. 左上のディスクアイコンをクリックして,一番下がspice-guest-tools-x.x.x.isoになっていることを確認してください(なっていなければWindows ゲストツールをインストール...).

  10. UTMというディスクがマウントされているので,その中のspice-guest-tools-x.x.xを実行
  11. インストールが完了したらReboot now,もしくは手動で Windows を再起動
  12. 再起動したらネットに接続できるようになり,ウィンドウサイズを変えて自由に解像度も変更できます.完成!!

今後やるべき

今後やるべきことを書いておきます

  • ライセンス認証: 早めにやっておきましょう.~~まあしなくても使えないことはないですが,~~学校で配布されている Win ライセンスなどを活用しましょう.
  • 日本語化: 必要な人はやっておきましょう.ただ,できるのかは定かじゃないです(自分がしようとしたらうまくいかなかった).

注意

警告

今回使っているのはあくまでもArm 版Windows であり,x64 は Windows の謎テクノロジーで動くだけなので,ハイパフォーマンスや通常通りの動作をすることが保証されていません(例えば,Visual Studio は x64 マシンにリモート接続することを推奨してきます).使う時は自己責任でね.