UTMでMacにWindowsとLinuxを「サクサク」導入:無料で軽快、Parallelsはもう不要

Virtualization tutorial - IT technology blog
Virtualization tutorial - IT technology blog

Apple Silicon(M1, M2, M3)チップを搭載したMacBookに乗り換えた際、Windowsでしか動かない専門ソフトが必要になったり、開発環境としてクリーンなLinux環境でデバッグしたくなったりすることがあるでしょう。しかし、Parallels Desktopは高額なサブスクリプション料金がかかり、VMware Fusionは動作が重く感じることがあります。そんな時に救世主として現れるのが「UTM」です。

Quick start: 5分でLinux仮想マシンを起動

複雑な設定を抜きにして、まずはUTMがどれほど高速か試してみましょう:

  1. インストール: ターミナルを開いて次を入力するだけです:
    brew install --cask utm
  2. ギャラリーからダウンロード: UTM의公式サイトにあるGalleryセクションへ行き、構築済みのLinuxイメージ(Debian 11やArchLinuxなど)をダウンロードします。
  3. インポート: UTMを開き、「Open VM…」を選択してダウンロードした .utm ファイルを指定します。
  4. 実行: Playボタンを押します。通常、わずか15〜20秒ほどでデスクトップ画面が起動します。

技術的な仕組み:なぜUTMは無料なのか?

簡単に言えば、UTMはオープンソース仮想化の金字塔である QEMU の上に構築されたモダンなインターフェース(GUI)です。一から全てを作り直すのではなく、Apple独自のHypervisorフレームワークを活用することで、ARMアーキテクチャ上でネイティブに近いパフォーマンス(Native Speed)を実現しています。

UTMで仮想マシンを作成する際は、以下の2つのモードを覚えておいてください:

  • Virtualize (仮想化): CPUと同じアーキテクチャのOSを実行します(例:Mac M2でWindows ARMを実行)。CPUが命令を翻訳する必要がないため、極めて高速です。
  • Emulate (エミュレーション): 異なるアーキテクチャのOSを実行します(例:Mac M1で旧来のWindows x64を実行)。速度が大幅に低下するため、他に手段がない場合のみ利用しましょう。

私は普段、Proxmoxで12台のVMを動かして本番環境のテストを行っていますが、UbuntuでPythonスクリプトをサッと確認したり、EdgeでWebサイトの挙動をチェックしたりする際は、いつもUTMを使っています。非常に軽量で、何より有料ソフトのようにバックグラウンドでバッテリーを浪費しないのが魅力です。

MacBook ARMでWindows 11をスムーズに動かす方法

UTMでのWindowsインストールは、昔のようにISOファイルをUSBに焼く手順とは少し異なります。現在の標準的なフローは以下の通りです:

ステップ 1: Windows ARMインストーラーの取得

通常のWindows x64のISOファイルは使わないでください。動作が極端に遅くなります。App StoreまたはBrew経由で CrystalFetch をインストールしましょう。このツールを使えば、Microsoftのサーバーから直接Windows 11 ARM ISOをダウンロードし、Macに最適なインストーラーを自動生成してくれます。

ステップ 2: 仮想マシンの設定

  1. Create a New Virtual Machine -> Virtualize を選択。
  2. Windows を選択し、ステップ1でダウンロードしたISOファイルを指定します。
  3. RAM割り当て: 最低4GB。Macのメモリが16GBあるなら、快適に使うために8GBを割り当てるのがおすすめです。
  4. Install Windows 10 or higher のチェックボックスをオンにしてください。これにより、UTMがインストーラーに必要なドライバを自動的に組み込みます。

ステップ 3: ドライバが成功の鍵

インストール直後は、画面解像度が低くネットワークにも繋がりません。これは故障ではありませんので安心してください。Windows上で、UTMが自動マウントした仮想ドライブを開き、spice-guest-tools というファイルを実行します。再起動後、ネットワークやオーディオのドライバが認識され、ウィンドウサイズに合わせて画面解像度も自動調整されるようになります。

DevOpsやWeb開発者向けの高度なTips

ホストOS(Mac)と仮想マシンの間で強力な連携が必要な場合は、以下の2点に注目してください。

ネットワークモード (Networking)

  • Shared Network (NAT): Macとネットワークを共有します。ライブラリのダウンロードやブラウジングにはこれで十分です。
  • Bridged (ブリッジ): 仮想マシンがLAN内で独自のIPアドレスを持ちます。仮想マシン上にWebサーバーを立て、スマホからアクセスして表示テストを行いたい場合に非常に便利です。

VirtioFSによるデータ共有

macOS側でコードを書き、Linux側で実行したい場合は VirtioFS を使いましょう。VMの Sharing 設定でMac上のプロジェクトフォルダを選択します。Linux側では、以下のコマンドを使ってマウントするだけです:

sudo mount -t virtiofs share_name /path/to/mount

仮想マシンを「爆速」で動かすための実践テクニック

ノートPCで仮想マシンを使う際に最も気になるのが、発熱とバッテリー消費です。最適化のためのポイントをいくつか紹介します:

  1. VirtIOを優先: ストレージとネットワークのドライバには常にVirtIOを選択し、I/O速度を最大化させます。
  2. CPUコア数を欲張らない: チップが8コアの場合、仮想マシンに割り当てるのは4コアまでに留めましょう。割り当てすぎるとmacOSと仮想マシンがリソースを奪い合い、結果的に両方の動作が重くなります。
  3. 手動スナップショット: UTMにはまだクイックスナップショット機能がありません。重要な変更を加える前は、VMを一度シャットダウンしてから .utm ファイルをコピーしてバックアップを取っておくと安全です。
  4. グラフィック加速の有効化: Linux仮想マシンの場合、Display設定で GPU Acceleration にチェックを入れると、UIの動作が滑らかになり、スクロール時の画面の乱れ(ティアリング)も解消されます。

結論として、学習から技術的な業務まで、UTMは有料ソフトの十分な代替となり得ます。年間2〜3万円程度のライセンス料を節約し、その分をMacのメモリ増設やアクセサリー購入に充てる方が、より現実的で賢い選択と言えるでしょう。

Share: