前書き
仮想マシン・ソフトウェアとは物理的なコンピュータと似た機能性を提供するエミュレータです。一つの PC 上で複数の OS を動作させることができるため、新たに物理マシンを購入するコストを抑えることができるだけでなくさまざまなメリットがあります。
そんな中でも無料かつ高機能な仮想マシンツールを言えば「Oracle VM VirtualBox」と「VMware Workstation Player」が双璧をなしています。
両方とも無償で使うことができ、最新の Windows OS と Linux に対応してるクロスプラットフォームなソフトウェア。どちらを使えば良いのか悩む方も多いと思います。メジャーリリースが行われるたびに、新機能が追加されたりと開発競争が激しいのも混乱する原因でしよう。
おすすめはどれか断言をするのは難しいですが、機能やパフォーマンスに違いがあるのでここではその解説をいたします。
機能の比較
こちら個人利用で使いそうな機能を並べた比較表です。
Oracle VM VirtualBox 7.0 | VMware Workstation Player 17 | |
---|---|---|
ホストOS | Linux、Windows、Solaris、macOS、FreeBSD | Linux、Windows |
ゲストOS | Linux、Windows、Solaris、FreeBSD、macOS | Linux、Windows、Solaris、FreeBSD |
レンダリング | ハードウェア + ソフトウェア | ハードウェア |
共有フォルダ | ◯ | ◯ |
ドラッグ&ドロップ | ◯ | ◯ |
スナップショット機能 | ◯ | ✗ |
USBサポート | ◯ | ◯ |
3D API | DirectX 11、OpenGL 3.0 | DirectX 11、OpenGL 4.3 |
ビデオメモリ | 256 MB | 8 GB |
対応VMフォーマット | VDI、VMDK、VHD、HDD | VMDK |
ネットワークストレージ | iSCSI、NFS、SMB (CIFS) | ✗ |
リモート | phpVirtualBox | ✗ |
VM暗号化 | ◯ | ◯ |
ライセンス
- VirtualBox
オープンソース版(OSE)がリリースされているため誰でも自由に使うことができます。
ただし追加機能を提供するエクステンションパッケージは無償で使えるのは個人利用と教育目的に限られます。 - VMware Workstation Player
個人と教育目的にのみに限られ商用利用は不可です。商用利用するには VMware Workstation を購入する必要があります。
対応OSとハードウェア
仮想マシン・ソフトウェアが仮想マシンをレンダリングする方法としては、CPU の仮想化支援技術に依存したハードウェアレンダリングとハードウェアに依存しないソフトウェア・レンダリングがあります。この CPU 仮想化支援技術に対応していないと動かない仮想マシンソフトウェアもあります。
Intel の場合は Intel-VT、 AMD の場合は AMD SVM などの仮想化支援技術が組み込まれており、昨今のほどんどの CPU はハードウェアレンダリングに対応していると言っても良いです。
しかし Intel Core 2 シリーズや AMD Bulldozer 以前の CPU では対応していない CPU も多いので古い PC で使う上では注意が必要でしよう。
- VirtualBox
Windows OS、Linux、macOS とそれぞれパッケージが用意されています。さらにハードウェア・レンダリングとソフトウェア・レンダリング、両方に対応しています。 - VMware Player
Windows OS と Linux に対応しています。ハードウェア・レンダリングにのみに対応しています。 2011年以前の CPU には非対応です。
エミュレーションの正確性
仮想マシン上でソフトウェア開発を行いたい場合は cycle and clock accurate、つまりは CPU のクロックサイクルを正確にエミュレートできるかどうかが重要になってくる場合もあります。 仮想マシンと物理マシンとクロックサイクルが一致しないとデバッグや性能分析を行う際に正確な結果を得られない可能性があります。
ただソフトウェアを動かしたいだけならばあまり問題にならないため、考慮する必要はありません。
- VirtualBox – やや統計的(statistical)なアプローチを行います
- VMware – 正確(cycle-accurate)にエミュレートします
スナップショット機能
スナップショット機能とは仮想マシンのその時の状況を保存する機能です。仮想マシンの環境を破壊してしまった場合もすぐさまスナップショットをとった時の環境に戻せます。
スナップショットを作成すると仮想マシンに加えられた変更をもとの仮想 PCイメージとは違う小さなイメージファイルを作成します。いわゆる差分です。完全なバックアップとは違いますがすばやく作業を巻き戻すことができ、アプリケーションのインストールテストなどを行うときに大変役にたちます。スナップショットが削除された場合、もとの仮想PCイメージに統合されます。仮想マシン・マネージャを選択する上で大きな判断材料となるでしよう。
- VirtualBox – スナップショット機能を搭載しています。
- VMware Player – スナップショット機能はなく、有償の VMware Workstation に搭載されています。
USBデバイスのサポート
- VirtualBox – 拡張パッケージなしで USB 2.0 および USB 3.0 が利用できます。
- VMware Player – VMware Tools もインストールしてすぐに USB 1.1〜3.1 を利用することができます。
グラフィック性能
グラフィックスの性能は仮想マシンの画面描写がどれだけ滑らかに動くかに影響します。仮想PCツールがグラフィックボードからどれくらいの VRAM 容量を確保できるかが鍵です。ゲームなどをテストする目的でない限りあまり多くの VRAM は必要としませんが少なすぎると OS の視覚効果も遅くなるなり、操作性も落ちてしまいます。
- VirtualBox – 3D アクセラレーションを有効にした状態でビデオメモリは 256MB までしか確保できません。DirectX 11 に対応していますが VRAM を確保できる容量が少なすぎて活躍する機会は少ないでしよう。Windows 11 デフォルトのグラフィック設定を動かすのもいっぱいいっぱいといった感じです。スムーズに動かすにはアニメーションやエフェクトの無効化が必要になってくると思います。
- VMware Player – グラフィックメモリを最大 8GB も確保できるため多少の 3D処理性能を要するソフトウェアやゲームならば動く可能性があります。ホストマシンは DirectX11 以上をサポートするGPUが必要なのでオンボード GPU の場合は Intel Sandybridge や AMD Bulldozer 以前のものは使えないことになります。
Linux OS がホストPCの場合はさらに制限がありNVIDIA GPUがないと動作しません。VMwareはNVIDIA と提携しているためこういった制限を設けているのだと言われています。
対応する仮想マシン・フォーマット
- VirtualBox – 以下の様々な仮想マシンのディスクフォーマットに対応しています
- VDI(Virtual Disk Image)- VirtualBoxのデフォルト形式
- VMDK(Virtual Machine DisK)- VMware独自形式
- VHD(Virtual Hard Disk)- MicrosoftのHyper-Vのフォーマット
- HDD – macOS の仮想マシンソフトウェアで有名な Parallels Desktop 独自の形式。
- VMWare Player – VMDK という VMWare 独自のディスク・フォーマットしか対応していません。
仮想マシンのリモート管理
仮想マシンを遠隔地からリモート操作できる機能です。
- VirtualBox – 「phpVirtualBox」というウェブインタフェースがあるため、導入にはひと手間いりますが、ウェブブラウザを介して遠隔地から VirtualBox の操作が可能です。
- VMWare Player – リモート管理機能はありません。無償で VMWare 製品をどうしても使いたい場合はサーバ管理用の「vSphere Client」といったソフトウェアが別途必要になってきます。
仮想マシン暗号化
作成した仮想マシンを第三者に不正に使われないようにする機能です。VM が起動するたびにパスワードを求められるようになります。
- VirtualBox – 仮想マシンのディスクを暗号化する機能が組み込まれています。また、ディスクだけでなく設定ファイルやログも暗号化することができますが、コマンドでの操作が必要となります。
- VMWare Player – 仮想マシンのディスクを暗号化する機能があります。強固な暗号化を施す「完全」暗号化と簡易的で高速な動作を提供する「高速」暗号化モードがあります。
結論
当ブログの結論としては以下のようなものになります。
VirtualBoxがおすすめな環境
- CPU が仮想化支援機能非搭載
- リモートで操作した
- ホストOS が macOS
- ホストOS が Linux かつ AMD GPU 搭載
VMware Player
- 大量のビデオメモリ(VRAM)が必要なプログラムを仮想PCで走らせたい
- 仮想PC上でソフトウェア開発をしたい
オプションの数、柔軟性という観点では VirtualBox が圧倒しており、対応 OS も多いので初めての方でも手が出しやすいです。ほとんどの方は VirtualBox で事が足りると思います。
一方で仮想 PC に Windows をインストールしてゲームをしたいなどの用途では VMware Player が向いています。
参考文献
おわり
コメント
VirtualBOXはWindowsXPなど古いOSの時、3Dが機能しませんでした。。
(VMwareでは可)
VirtualBoxでWindowsXPの3D機能が動作しない旨のご指摘
時間ができ次第、確認調査した上で追記させていただきます。
非常に有意義なコメントありがとうございます。