Macで仮想マシンを使いたくなった理由
組み込み系エンジニアをしていると、「Windows環境でしか動かないツールを試したい」「Linuxでビルド環境を整えたい」という場面がちょくちょくあります。そのたびにWindowsマシンを引っ張り出すのも手間だし、デュアルブートは怖い……ということで、Mac上に仮想マシンを構築することにしました😊
今回はいくつかのソフトを実際に試してみたので、それぞれの特徴と正直な感想をまとめてみます。
仮想マシンソフト3種類の概要
Macで使える主要な仮想マシンソフトとして、今回は以下の3つを試しました。
| ソフト名 | 価格 | 特徴 | 対応チップ |
|---|---|---|---|
| Parallels Desktop | 有料(年額サブスク) | 操作が簡単・パフォーマンス良好 | Apple Silicon / Intel |
| VMware Fusion | 個人利用は無料 | 老舗・安定性が高い | Apple Silicon / Intel |
| UTM | 無料(App Storeは有料) | オープンソース・柔軟な設定 | Apple Silicon / Intel |
どれも一長一短があって、用途によって向き不向きが結構違いました。以下で順番に紹介していきます。
各ソフトの詳細と使ってみた感想
Parallels Desktop
仮想マシンソフトの中でもっともユーザーフレンドリーな印象を受けました。インストールウィザードに従っていくだけでWindowsが使える状態になるので、とにかく手軽です。パフォーマンスも3種の中でもっとも良く、日常的な作業なら全然ストレスなく使えました。
ただし有料(年額約1万円〜)なのがネック。無料トライアルが14日間あるので、まずはそこから試してみるのがおすすめです。
VMware Fusion
個人利用であれば無料で使えるようになったのが嬉しいポイント。以前は有料でしたが、Broadcomによる買収後にライセンス形態が変わりました。
安定性はかなり高く、長時間起動していても落ちることはほぼありませんでした。ただし無料版では仮想マシンに割り当てられるメモリ容量やCPUコア数に制限があります。重い開発環境を動かしたい場合は注意が必要です。
UTM
完全無料(GitHubからダウンロードすれば)で使えるオープンソースソフトです。App Storeからインストールすると数百円かかりますが、それはUTM開発者への支援という位置づけ。機能自体は変わりません。
設定の自由度が高い反面、初期設定がやや難しく感じました。特にLinuxを入れるときは、ISOイメージの選択やネットワーク設定でハマることがありました😅 こちらも割り当てリソースの上限が設定できるので、ホストマシンへの影響を抑えながら使えます。
Apple SiliconはARMなのでOSもARM版になる
M1・M2・M3チップ搭載のMacで仮想マシンを動かす場合、インストールされるOSはデフォルトでARM版(aarch64)になります。これはどのソフトを使っても同じです。
WindowsならWindows 11 on ARMが入りますし、UbuntuもARM版のイメージが使われます。ARM版のOSは基本的に動作が軽快で、Apple Siliconとの相性も良いです。
一方で、「どうしてもx86_64(Intel向け)のOSを動かしたい」という場面もあります。UTMはQEMUを使ってx86_64エミュレーションができるのですが……
# UTMでx86_64のUbuntuを起動する設定例(Architecture指定)
Architecture: x86_64
System: Standard PC (Q35 + ICH9, 2009)
Memory: 4096 MB
CPU Cores: 2
設定自体はできるのですが、実際に起動してみると GUIがとにかく重い。マウスを動かしてもカクカクで、まともに操作できるレベルではありませんでした。エミュレーション処理のオーバーヘッドが大きすぎるようです。
CLIだけで作業できるなら何とか使えなくもないですが、GUIアプリを動かすのは正直厳しいです。x86_64のソフトを使いたいなら、素直にIntel Macか実機のWindowsマシンを用意した方がいいと思いました。
リソース割り当ての注意点
仮想マシンにどれくらいのリソースを割り当てるかは重要なポイントです。割り当てすぎるとホストのMacが重くなりますし、少なすぎるとゲストOSがまともに動きません。
| 用途 | 推奨メモリ | 推奨CPUコア数 |
|---|---|---|
| 軽いCLI作業(Linux) | 2GB | 2コア |
| Windows GUIアプリ使用 | 4〜8GB | 4コア |
| 開発環境(Docker等含む) | 8〜16GB | 4〜6コア |
無料版のVMware FusionやUTMでは、割り当て上限が設定されているケースがあります。大量のメモリを必要とする作業をする場合は、有料版のParallels Desktopが選択肢に入ってきます。
# UTMでリソースを確認するCLIコマンド(macOS側)
# 仮想マシン起動中のCPU・メモリ使用状況を確認
top -pid $(pgrep -f "qemu-system")
まとめ:用途別おすすめはこれ
3つの仮想マシンソフトを使ってみた結論として、私のおすすめはこんな感じです。
- 気軽に始めたい・Windows GUIをメインで使いたい → Parallels Desktop(有料だが快適さは最高)
- 無料でWindows/Linuxを使いたい・安定性重視 → VMware Fusion(個人利用は無料)
- とにかく無料・設定の柔軟さが欲しい → UTM(慣れれば使いやすい)
x86_64エミュレーションについては、どのソフトを使ってもGUIは実用的ではないので、ARM版で代替できるか検討するのが現実的だと思います。
仮想マシンはうまく活用すると開発環境の幅がぐっと広がりますね。特にLinuxのCLI環境を手軽に立ち上げられるのは、組み込み開発をしている身として本当に助かっています😊 今後も色々試していきたいと思います!