Windowsで無償利用できる仮想環境5種

個人的に使用頻度が増えてきた Windows で利用できる仮想環境について、改めてまとめてみました。
各々メリットや注意点がありますが、最近の PC であれば動かないということはないでしょう。

なお、この記事では下記 5製品を取り上げます。

  1. サンドボックス
  2. Hyper-V
  3. Oracle VM VirtualBox
  4. VMware
  5. Docker

また、製品によっては Windows のエディションで対応が変わるため、下記に抜粋しておきます。

base on Compare Windows 10 Editions: Pro vs. Enterprise – Microsoft

Windows 10 エディションの比較

  • Windows 10 Home
  • Windows 10 Pro
  • Windows 10 Pro for Workstations
  • Windows 10 Enterprise

Windows 標準搭載

Windows 10 に元から用意されている仮想環境には、以下の 2つがあります。

  • Windows Sandbox(サンドボックス)
  • Hyper-V(ハイパーブイ)

ともに、64 ビット版の Pro エディション以上(Windows 10 Pro、Enterprise、Education)で使用できます。

Windows 10 Home では利用できないので、事前にエディションチェックをおすすめします。

エディションの確認方法は下記をご参照ください。

Windows バージョンを簡単に確認するには – あららぼ

サンドボックス

Windows Pro エディション以上であれば、最もお手軽に使える仮想環境です。

base on Windows サンドボックス - Windows security | Microsoft Docs

前提条件

  • Windows 10 Pro、Enterprise、または Education ビルド 18305 以降
  • AMD64 アーキテクチャ
  • BIOS で有効になっている仮想化機能
  • 4 GB 以上の RAM (8 GB 推奨)
  • 少なくとも 1 GB の空きディスク領域 (SSD を推奨)
  • 少なくとも 2 つの CPU コア (ハイパースレッジを推奨する 4 つのコア)

サンドボックスの利用方法や注意点については、過去記事をご参照ください。

Windows がサンドボックスを実装 – あららぼ
Windows サンドボックスはサクサク動く – あららぼ

上記記事にしていますが ・・・ CPU パワーが低いとサンドボックス自体が起動しません。
私が試してみて、実際に起動しなかった CPU は以下になります...

base on PassMark - Intel Celeron 847 @ 1.10GHz - Price performance comparison

Average CPU Mark: 473

もちろん、OS は 64bit ですし、念の為 BIOS で Intel VT も有効化済みですがダメでした...

今時、Passmark スコアが 500 に満たない PC をメインで使うことは無いとは思いますが、注意が必要かもしれません。

Hyper-V

こちらも(サンドボックス同様)Windows Pro エディション以上で利用可能な機能になります。
従来からある仮想環境で、VirtualBox や VMware のように仮想マシン単位での管理が可能になるので、導入・運用が分かりやすいのが特徴です。

base on Windows 10 Hyper-V のシステム要件 | Microsoft Docs

ハードウェア要件

  • 第 2 レベルのアドレス変換 (SLAT) の 64 ビット プロセッサ。
  • VM モニター モード拡張機能 (Intel CPU の VT-x) の CPU サポート。
  • 最小 4 GB のメモリ。 仮想マシンは Hyper-V ホストとメモリを共有するため、予想される仮想ワークロードを処理するために十分なメモリを提供する必要があります。

次の項目をシステム BIOS で有効にする必要があります。

サンドボックスとは異なり、異なる OS の運用が可能な反面、マシンパワーはより求められます。
また、日をまたいで利用する場合は(状態を保存できないサイドボックスではなく)Hyper-V も選択肢となり得るでしょう。

サードパーティ

Windows 標準ではないものの、提供されている製品について列記します。

個人的には、手軽に使うなら VirtualBox、高いパフォーマンスを求めるなら VMware という印象です。

Oracle VM VirtualBox

VMware の後を追うように市場に投入された、比較的古くからある仮想化ソフトウェアです。
当時、Microsoft は Virtual PC という製品を展開しており、先発メーカーである VMware も同様に無償版の製品群を展開していました。
いずれの製品も使っていたのですが、この 3製品の中で VirtualBox のみが管理ツールの UI を踏襲しています。
バージョンアップで製品が変わり UI が変わった Microsoft・VMware 製品と異なり(VirtualBox は UI が引き継がれているので)誰でも使えるツールと言えるのではないでしょうか。
私は結局、Hyper-V の UI に慣れず ・・・ VirtualBox と後述する ESXi に切り替えてしまいました。

base on Oracle VM VirtualBox

利点

Windows 標準搭載のサンドボックス・Hyper-V とは異なり、32bit 環境や Home エディションでの利用も可能です。

ただし、32bit 環境(ホスト OS が 32bit)では以下の制約があります。

  • 32bit 利用時の注意点
    • 利用できるゲスト OS も、32bit に限定される
    • VirtualBox バージョン 5.2 系のみ
      (最新版のバージョン 6 は 64bit 環境にのみ対応)。

また、32bit 版(バージョン 5.2 系)は仮想化支援機能である Intel VT-x や AMD-V が無くても使用できるので、限定的な環境では他に選択肢がないということもあるようです。

VMware

上述の VirtualBox や Virtual PC を触っていた頃に(今は亡き)VMware Server という製品を使っていました。
この製品を使っていたのは、VirtualBox で言うところのヘッドレス起動(ウィンドウ非表示起動)が出来るからです。
当時、同時展開されていた VMware Player では仮想マシンのウィンドウを閉じるとゲスト OS が落ちてしまうため、こちらを好んで使用していました。
この 2製品は、今は VMware Workstaton Player に統廃合されていますが、こちらも VMware Player 同様に仮想マシンのウィンドウを閉じるとゲスト OS が落ちてしまいます。
結局 ESXi へ移行しました。

ホスト システムのプロセッサ要件

  • AMD-V をサポートしている AMD CPU
  • VT-x をサポートしている Intel CPU

ESXi はハードウェア要件が比較的厳しいので、事前の確認をオススメします。

base on ESXi の要件

ESXi のシステム ストレージの概要
ESXi のハードウェア要件
ESXiのパフォーマンスを改善するための推奨事項

Docker

言わずとしれたコンテナ仮想化の雄です。
故に、Docker はコンテナ仮想化で純粋な仮想化とは異なりますが、仮想化と銘打った当記事に登場させたのには理由があります。

実は、Windows をホストとする Docker は、Docker の皮を被った仮想マシンだからです。

本来の Docker は(Linux カーネルを共有して)コンテナ仮想化を提供する仕組みですが、Windows をホストとする環境では以下のようになります。

  • Home エディションでは
    VirtualBox がインストールされる。
  • Pro エディションでは
    Hyper-V が有効化される。

各々の仮想環境がバックグラウンドで稼働して、機能提供されます。
その環境へ(例えば、Windows 10 Home なら VirtualBox へ)ゲスト OS がインストールされます。

仮想化という側面から見ると(Windows をホストとする限り)あまり導入する意義を感じない製品となっていますが、Docker 製品の洗練された UI を使って仮想マシンを管理したい、というニーズだと人気があるようです。

特に、今まで仮想化に馴染みがないほど違和感がなく取り組めるのではないでしょうか。

Docker for Windows を始めよう — Docker-docs-ja 19.03 ドキュメント

Windows でもネイティブ Docker

去年の大型アップデート「Windows 10 May 2020 Update ( バージョン : 2004 )」で WSL 2(Windows Subsystem for Linux 2)が正式導入されました。

これで、VirtualBox や Hyper-V を使わず、ネイティブに Docker を利用することが出来るようになっています。