Hyper-Vで始める仮想化:Windows標準機能の紹介


Hyper-Vで始める仮想化:Windows標準機能の詳細ガイド

はじめに:仮想化の世界へようこそ

テクノロジーの進化に伴い、私たちのコンピュータの使い方は大きく変わってきました。かつては一台の物理的なコンピュータ上で一つのオペレーティングシステム(OS)を実行するのが当たり前でしたが、現在では「仮想化」と呼ばれる技術を使って、一台のコンピュータ上で複数のOSやアプリケーションを独立して動かすことが可能になっています。

仮想化とは、簡単に言えば「物理的なリソース(ハードウェア)を抽象化し、論理的なリソースとして提供する技術」です。これにより、一台の強力な物理サーバー上に複数の「仮想マシン(Virtual Machine – VM)」を作成し、それぞれの仮想マシン上で異なるOSを動かすことができます。まるで、一台の物理的な箱の中に、複数の独立したコンピュータが入っているようなイメージです。

なぜ仮想化が必要なのでしょうか?そのメリットは多岐にわたります。

  • リソースの有効活用: 一台の物理マシンが持つCPU、メモリ、ストレージ、ネットワークなどのリソースを複数の仮想マシンで共有することで、ハードウェアの利用効率を大幅に向上させることができます。
  • コスト削減: 物理的なサーバーの台数を減らすことで、ハードウェア購入費用、運用費用(電力消費、冷却、設置スペース)を削減できます。
  • 環境の分離と統合: 開発環境、テスト環境、本番環境など、異なるソフトウェア構成やOSが必要な場合でも、それぞれの環境を仮想マシンとして分離して構築できます。また、物理的に散在していたシステムを一台のサーバー上に統合することも可能です。
  • 柔軟性と迅速性: 新しいサーバーを立ち上げる必要がある場合でも、物理的なハードウェアを用意する代わりに、既存の仮想化基盤上に新しい仮想マシンを数分から数十分で作成できます。
  • 可用性と災害対策: 仮想化環境では、仮想マシンを簡単に複製したり、異なる物理マシン間で移動させたりすることが可能です。これにより、システムの可用性を高めたり、災害発生時に別の場所でシステムを復旧させたりする対策(BCP – 事業継続計画)が容易になります。
  • 開発・テスト環境: 異なるOSやソフトウェア構成が必要な開発・テスト作業において、物理マシンを用意するよりもはるかに効率的に複数の環境を構築・管理できます。
  • 学習環境: 新しいOSやサーバーソフトウェアの操作方法を学ぶ際に、既存の環境に影響を与えることなく自由に試せる安全な学習環境を構築できます。

このように、仮想化はITインフラの効率化、柔軟性向上、コスト削減、可用性確保など、現代のITシステムにおいて不可欠な技術となっています。

そして、Windowsユーザーにとって、仮想化を始める最も手軽な方法の一つが、Windowsに標準搭載されている「Hyper-V」を利用することです。

Hyper-Vは、Microsoftが開発したハイパーバイザーベースの仮想化技術です。Windows 10 Pro/Enterprise/Education以降、およびWindows 11 Pro/Enterprise/Educationには、このHyper-Vクライアント機能が標準で含まれており、追加の費用なしで利用できます。これにより、多くのWindowsユーザーが、特別なソフトウェアを購入することなく、自分のPC上で簡単に仮想マシンを作成し、様々なOSを動かすことができるようになりました。

この記事では、Windows標準機能としてのHyper-Vに焦点を当て、その導入方法から基本的な使い方、さらに一歩進んだ応用的な機能までを詳細に解説します。この記事を読むことで、Hyper-Vを使った仮想化の基本をマスターし、あなたのPCの可能性をさらに広げるための一歩を踏み出せるでしょう。

さあ、Hyper-Vを使った仮想化の世界へ飛び込みましょう。

第1章 Hyper-Vの基本を知る

Hyper-Vは、仮想化を実現するためのソフトウェアの一つです。仮想化ソフトウェアは、その動作方式によっていくつかの種類に分けられますが、Hyper-Vは「ハイパーバイザー型」と呼ばれる方式を採用しています。

1.1 ハイパーバイザー型仮想化とは?

ハイパーバイザー型の仮想化(Type 1ハイパーバイザー、ベアメタルハイパーバイザーとも呼ばれます)では、仮想化ソフトウェア(ハイパーバイザー)がOSを介さずに、直接ハードウェア上で動作します。そして、そのハイパーバイザーの上に、複数の仮想マシンが構築され、それぞれの仮想マシン上でゲストOS(仮想マシン上で動作するOS)が実行されます。

物理的なハードウェアをハイパーバイザーが直接管理するため、ゲストOSはハードウェアリソースを効率的に利用でき、高いパフォーマンスが期待できます。Hyper-VはこのType 1ハイパーバイザーに分類されます。

対照的な方式として、「ホスト型仮想化」(Type 2ハイパーバイザー)があります。こちらは、既存のホストOS(例えばWindows 10)の上に仮想化ソフトウェア(VirtualBoxやVMware Workstationなど)をインストールし、その仮想化ソフトウェア上でゲストOSを動かす方式です。ホストOSがハードウェアを管理するため、ハイパーバイザー型に比べてオーバーヘッドが発生しやすく、パフォーマンスはやや劣る傾向がありますが、手軽に導入できるという利点があります。

Hyper-VはType 1ハイパーバイザーですが、Windows 10/11で利用する場合、厳密にはWindowsのカーネルがハイパーバイザーとして動作し、従来のWindows OS自体がハイパーバイザー上で動作する「パーティション」の一つとなる構造をとります。これにより、Windowsという使い慣れたホストOS上でHyper-Vを管理できるという、Type 1でありながらType 2のような利便性も兼ね備えています。

1.2 Hyper-Vの対応エディション

Windowsに標準搭載されているHyper-Vクライアント機能は、すべてのエディションで利用できるわけではありません。以下のエディションで利用可能です。

  • Windows 11: Pro、Enterprise、Education
  • Windows 10: Pro、Enterprise、Education

残念ながら、Windows 11/10 HomeエディションにはHyper-Vクライアント機能は含まれていません。Homeエディションをご利用の場合は、Hyper-Vを利用するためにはPro以上のエディションにアップグレードするか、VirtualBoxなどの他の仮想化ソフトウェアを検討する必要があります。

自分のWindowsエディションを確認するには、以下のいずれかの方法を使います。
* 「設定」アプリを開き、「システム」→「バージョン情報」を表示します。Windowsの仕様の項目にエディションが表示されます。
* Windowsキー + R を押して「ファイル名を指定して実行」を開き、「winver」と入力してOKをクリックします。Windowsのバージョン情報ダイアログが表示され、エディションを確認できます。

1.3 Hyper-Vを利用するためのシステム要件

Hyper-VはType 1ハイパーバイザーとして動作するため、基本的なOS要件に加えて、ハードウェアレベルでの特定の機能が必要となります。Hyper-Vを快適に利用するためには、以下のシステム要件を満たしていることを確認してください。

  • 64ビット版Windows: Hyper-Vは64ビット版のWindowsでのみ利用可能です。
  • 64ビット対応CPU: CPUが64ビットアーキテクチャに対応している必要があります。現在販売されているほとんどのCPUは64ビット対応です。
  • CPUによる仮想化支援機能: これが最も重要な要件です。CPUが仮想化を効率的に実行するためのハードウェア支援機能(Intel VT-x または AMD-V)をサポートしている必要があります。多くの近年のCPUはこれをサポートしています。
  • CPUによる第2レベルアドレス変換(SLAT)機能: Intel EPT (Extended Page Tables) または AMD RVI (Rapid Virtualization Indexing) と呼ばれる機能です。これも仮想化のパフォーマンス向上に不可欠であり、多くの近年のCPUでサポートされています。
  • 十分なメモリ容量: 仮想マシンを複数実行する場合、ホストOSとゲストOSが必要とするメモリ容量の合計が必要になります。最低でも4GBのRAMが必要ですが、快適に複数の仮想マシンを動かすには8GB以上、可能であれば16GB以上のRAMを推奨します。
  • 十分なストレージ容量: ゲストOSのインストールや仮想ハードディスクファイルのために、十分なストレージ容量が必要です。仮想ハードディスクはゲストOSやアプリケーションのサイズによって大きくなります。高速なSSDストレージを利用すると、仮想マシンの起動や操作が非常に快適になります。
  • UEFI/BIOS設定での仮想化支援機能の有効化: CPUが仮想化支援機能をサポートしていても、PCのUEFI/BIOS設定でその機能が無効になっている場合があります。Hyper-Vを有効化する前に、UEFI/BIOS設定で「Virtualization Technology (VT-x)」や「AMD-V」などの項目が有効になっていることを確認する必要があります。

システム要件の確認方法:

コマンドプロンプトまたはPowerShellを開き、以下のコマンドを実行します。

cmd
systeminfo

または

powershell
Get-ComputerInfo -Property HyperV*

systeminfo コマンドの場合、出力の下の方にある「Hyper-V の要件」の項目を確認します。全ての項目が「はい」または対応している旨の表示になっていれば、ハードウェア要件は満たしています。

Get-ComputerInfo コマンドの場合、HyperVRequirement* の項目が全て True になっていれば要件を満たしています。

もしこれらの要件が満たされていない場合、特にCPUの仮想化支援機能やUEFI/BIOS設定の問題であれば、Hyper-Vを有効化できません。UEFI/BIOS設定の変更方法はPCのメーカーやモデルによって異なりますので、PCのマニュアルを参照してください。

第2章 Hyper-Vのインストールと有効化

システム要件を満たしていることが確認できたら、次にHyper-Vクライアント機能を有効化します。Windowsの標準機能であるため、インストールというよりは「有効化」という表現が適切です。

Hyper-Vを有効化するには、主に二つの方法があります。

2.1 「Windowsの機能の有効化または無効化」を使用する方法(GUI)

最も一般的な方法です。

  1. 「Windowsの機能の有効化または無効化」を開く:

    • Windows検索バーに「Windowsの機能の有効化または無効化」と入力して、表示される項目を選択します。
    • または、コントロールパネルを開き、「プログラム」→「Windowsの機能の有効化または無効化」を選択します。
  2. Hyper-Vの項目をチェックする:

    • 表示されたリストの中に「Hyper-V」という項目があります。この項目のチェックボックスをオンにします。
    • 「Hyper-V」を展開すると、「Hyper-V管理ツール」と「Hyper-Vプラットフォーム」のサブ項目が表示されますが、「Hyper-V」にチェックを入れると通常は両方とも自動的に選択されます。両方にチェックが入っていることを確認してください。
  3. OKをクリックして有効化:

    • 「OK」ボタンをクリックすると、Windowsが必要なファイルを構成し始めます。これには数分かかることがあります。
  4. PCの再起動:

    • 構成が完了すると、PCの再起動を求められます。再起動することでHyper-Vが完全に有効化されます。再起動しないとHyper-Vは利用できません。

2.2 PowerShellコマンドレットを使用する方法

コマンド操作に慣れている場合は、PowerShellを使ってHyper-Vを有効化することもできます。この方法はスクリプトなどでの自動化にも便利です。

  1. 管理者権限でPowerShellを起動:

    • Windows検索バーに「PowerShell」と入力します。
    • 表示された「Windows PowerShell」または「PowerShell」を右クリックし、「管理者として実行」を選択します。ユーザーアカウント制御(UAC)のダイアログが表示されたら「はい」をクリックします。
  2. Hyper-Vを有効化するコマンドを実行:

    • PowerShellウィンドウに以下のコマンドを入力し、Enterキーを押します。

    powershell
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

    * -Online は現在実行中のOSに対して変更を適用することを意味します。
    * -FeatureName Microsoft-Hyper-V は有効化したい機能の名前を指定します。
    * -All はHyper-Vに関連するすべてのサブコンポーネント(管理ツールとプラットフォーム)を含めることを意味します。

  3. PCの再起動:

    • コマンドの実行が完了すると、再起動が必要かどうか尋ねられます。再起動を促されたら、以下のコマンドを実行するか、手動でPCを再起動してください。

    powershell
    Restart-Computer

2.3 UEFI/BIOS設定での仮想化支援機能の有効化

前述のシステム要件でも触れましたが、Hyper-Vを有効化する前に、PCのUEFI/BIOS設定でCPUの仮想化支援機能が有効になっていることを確認することが非常に重要です。これが無効になっていると、Hyper-Vを有効化しても仮想マシンが起動しない、またはインストールできないなどの問題が発生します。

設定項目の名称はPCのメーカーやマザーボードによって異なりますが、一般的には以下のような名称です。

  • Intel製CPUの場合: Intel(R) Virtualization TechnologyIntel VT-xVT-d など
  • AMD製CPUの場合: AMD-VSVM Mode など

これらの項目が「Enabled」(有効)になっていることを確認してください。もし「Disabled」(無効)になっている場合は、「Enabled」に変更して設定を保存し、UEFI/BIOSを終了します。設定変更後、OSが起動します。

UEFI/BIOS設定画面への入り方もPCによって異なりますが、PCの起動時にF2、Del、F10、F12キーなどを押すのが一般的です。PCのマニュアルを参照するか、起動時の画面に表示される指示を確認してください。

2.4 Hyper-V有効化後の確認

PCが再起動され、Hyper-Vが有効化されたら、Hyper-Vマネージャーを起動して確認してみましょう。

  1. Hyper-Vマネージャーの起動:
    • Windows検索バーに「Hyper-Vマネージャー」と入力し、表示される項目を選択します。
    • または、コントロールパネルの「管理ツール」の中に「Hyper-Vマネージャー」があります。

Hyper-Vマネージャーが正常に起動し、画面左側のペインにPCのホスト名が表示されていれば、Hyper-Vの有効化は成功です。これで仮想マシンを作成・管理する準備が整いました。

もしHyper-Vマネージャーが見つからない場合や、起動時にエラーが発生する場合は、Hyper-Vの有効化が正しく行われなかったか、システム要件が満たされていない可能性があります。特にUEFI/BIOS設定を再度確認してみてください。

第3章 Hyper-Vマネージャーの基本的な操作

Hyper-Vマネージャーは、Hyper-V環境を管理するための主要なツールです。仮想マシンの作成、設定変更、起動、停止、削除などの操作はすべてこのマネージャーを通じて行います。

Hyper-Vマネージャーを起動すると、通常は以下のようなレイアウトになっています。

  • 左ペイン (ナビゲーションペイン): 管理対象のHyper-Vホスト(通常は自分のPCのホスト名)が表示されます。ホストを選択すると、そのホスト上の仮想マシン一覧などが中央ペインに表示されます。
  • 中央ペイン: 選択したホストや仮想マシンに関する詳細情報が表示されます。ホストを選択しているときは、そのホスト上の仮想マシンの一覧、スナップショット、複製などが表示されます。仮想マシンを選択しているときは、その仮想マシンの状態、設定概要、スナップショットツリーなどが表示されます。
  • 右ペイン (アクションペイン): 選択している項目に対して実行可能な操作が表示されます。例えば、ホストを選択しているときは「新規」(仮想マシン、ハードディスク、仮想スイッチ)、ホストの設定、仮想スイッチマネージャーなどが表示されます。仮想マシンを選択しているときは、「接続」、「起動」、「シャットダウン」、「設定」、「チェックポイント」などが表示されます。

基本的な作業の流れは、左ペインで操作対象を選択し、右ペインのアクションメニューから目的の操作を選択するという形になります。

3.1 新しい仮想マシンの作成

それでは、Hyper-Vマネージャーを使って最初の仮想マシンを作成してみましょう。仮想マシンの作成は「新規」→「仮想マシン」ウィザードを使って行います。

  1. 仮想マシンウィザードの起動:

    • Hyper-Vマネージャーの左ペインで自分のホスト名を選択します。
    • 右ペインのアクションメニューで「新規」→「仮想マシン」を選択します。
    • または、メニューバーの「操作」→「新規」→「仮想マシン」を選択します。
    • 「新しい仮想マシンの作成ウィザード」が起動します。
  2. 開始する前に:

    • ウィザードの概要が表示されます。「次へ」をクリックします。
  3. 名前と場所の指定:

    • 名前: 仮想マシンの識別のための名前を入力します。分かりやすい名前をつけましょう(例: Ubuntu2204-TestVMWin10-Dev など)。
    • 場所: 仮想マシン構成ファイル、チェックポイント、スマートページングファイルなどの保存場所を指定します。デフォルトの場所(通常はC:\ProgramData\Microsoft\Windows\Hyper-V 配下)で問題なければ変更する必要はありません。必要に応じて「仮想マシンを別の場所に保存する」にチェックを入れて任意の場所を指定します。推奨されるのは、OSドライブとは別のドライブ、特に高速なSSDドライブです。
    • 「次へ」をクリックします。
  4. 世代の指定:

    • ここでは、作成する仮想マシンの「世代」を選択します。これは非常に重要な選択です。 後から変更することはできないため、慎重に選びましょう。
    • 第1世代:
      • 従来のBIOSベースの仮想マシンです。
      • SCSIやネットワークアダプターにエミュレーションされた古いハードウェア(レガシーネットワークアダプターなど)を使用できます。
      • 様々なOS(Windows 95以降、多くのLinuxディストリビューションなど)との互換性が高いです。
      • 仮想ハードディスクはVHD形式(最大2TB)を使用できます。
    • 第2世代:

      • UEFIベースの仮想マシンです。
      • SCSIコントローラーやネットワークアダプターに合成デバイス(Hyper-Vに最適化された高速なデバイス)を使用します。レガシーハードウェアのエミュレーションが少ないため、一般的にパフォーマンスが高いです。
      • セキュアブート(Secure Boot)に対応しています。
      • 起動が速いです。
      • 対応OSは限られます。(Windows 8/Server 2012以降の64ビット版、主要な64ビット版Linuxディストリビューションの一部など)。32ビットOSは第2世代ではサポートされません。
      • 仮想ハードディスクはVHDX形式(最大64TB)を使用できます。
    • どちらを選ぶべきか?

      • 新しいOS(Windows 10/11、Windows Server 2016以降、比較的新しい64ビット版Linuxなど)をインストールする場合は、パフォーマンスや機能の面で第2世代を強く推奨します。
      • 古いOSをインストールする場合、または第2世代に対応していないOSをインストールする場合は、第1世代を選択する必要があります。
      • 特に理由がなければ、第2世代を選択するのが現代的な選択です。
    • 適切な世代を選択し、「次へ」をクリックします。
  5. メモリの割り当て:

    • この仮想マシンに割り当てるメモリ容量(RAM)を指定します。単位はMBです。ゲストOSの推奨メモリ容量を参考に、ホストOSや他の仮想マシンが必要とするメモリを考慮して割り当てます。
    • 静的メモリ:
      • 仮想マシンに常に固定されたメモリ容量を割り当てます。仮想マシンの起動時に割り当てたメモリ容量がホストOSから確保され、仮想マシンが実行されている間は解放されません。
      • メリット: メモリ管理がシンプルで予測可能。特定の高性能アプリケーションで安定性が高い場合がある。
      • デメリット: 仮想マシンが実際に使用するメモリ量が少なくても、割り当てた容量分だけホストOSのリソースを消費します。リソース効率は悪くなります。
    • 動的メモリ:
      • 仮想マシンが必要とするメモリ量を動的に増減させます。仮想マシンの負荷に応じて、Hyper-Vが自動的にメモリを割り当て/解放します。
      • 「この仮想マシンに動的メモリを使用します」にチェックを入れ、最小RAM最大RAMRAMバッファーの割合 を設定します。
      • メリット: メモリリソースを効率的に利用できます。特に複数の仮想マシンを同時に実行する場合に、ホストOSの物理メモリを有効活用できます。
      • デメリット: メモリの動的な変化により、一部のアプリケーションで予期しない動作をする可能性があります(まれです)。ゲストOSによっては動的メモリをサポートしていない場合があります(Windows Server 2008 R2 SP1以降、Windows 7 SP1以降、一部のLinux)。
      • RAMバッファー: ゲストOSが要求するメモリ量に対して、Hyper-Vがどれだけ余分なメモリを割り当てるかの割合です。例えばバッファーが20%でゲストOSが1GB要求している場合、Hyper-Vは1.2GB割り当てようとします。
    • どちらを選ぶべきか?
      • 特別な理由がない限り、動的メモリを使用することを推奨します。リソース効率が高く、ホストOSの物理メモリを有効活用できます。ただし、最小RAMはゲストOSが安定して起動・動作できる最低限の容量を設定してください。ゲストOSが動的メモリをサポートしていることを確認してください。
      • 非常に高い負荷がかかる特定のアプリケーションや、動的メモリをサポートしない古いOSの場合は、静的メモリを選択します。
    • 適切な設定を選択し、「次へ」をクリックします。
  6. ネットワークの構成:

    • 仮想マシンをネットワークに接続するかどうか、接続する場合はどの仮想スイッチに接続するかを選択します。
    • 接続しない: 仮想マシンをネットワークから完全に隔離します。
    • 作成済みの仮想スイッチ: あらかじめ作成しておいた仮想スイッチを選択します。ここで選択できるのは、後述の「仮想スイッチマネージャー」で作成した仮想スイッチです。
    • 仮想スイッチの種類については後述しますが、ここでは最も一般的な「外部」仮想スイッチが選択肢にあれば、それを選ぶことで仮想マシンがインターネットやローカルネットワークに接続できるようになります。
    • 現時点で仮想スイッチを作成していない場合は、「接続しない」を選択しておき、後で設定することも可能です。
    • 適切な項目を選択し、「次へ」をクリックします。
  7. 仮想ハードディスクの接続:

    • 仮想マシンのシステムドライブとなる仮想ハードディスクを作成または指定します。
    • 仮想ハードディスクを作成する:
      • 「名前」、「場所」、「サイズ」を指定して、新しい仮想ハードディスクファイル(.vhdxまたは.vhd)を作成します。デフォルトでは仮想マシン名と同じ名前がつけられます。
      • 「場所」は、前述の仮想マシン構成ファイルとは別に、仮想ハードディスクファイルを保存する場所です。容量が大きくなるため、十分な空き容量があるドライブを指定してください。高速なSSDが理想です。
      • 「サイズ」は、作成する仮想ハードディスクの最大容量です。ここで指定するのは「容量可変(動的拡張)」ディスクの最大サイズです。最初からその容量が確保されるわけではありません。
      • 「容量可変」ディスクは、最初は小さなファイルサイズですが、ゲストOSにデータを書き込むにつれてファイルサイズが大きくなっていきます。ストレージ容量を節約できますが、断片化しやすいという特徴があります。
      • 「固定サイズ」ディスクは、作成時に指定した容量のディスクイメージファイルがすべて確保されます。作成に時間はかかりますが、容量可変ディスクよりもパフォーマンスが高い場合があります。ウィザードでは容量可変がデフォルトですが、後で固定サイズに変換することも可能です。
    • 既存の仮想ハードディスクを接続する:
      • すでに作成済みの仮想ハードディスクファイル(.vhdxまたは.vhd)を使用する場合に選択します。
      • 「参照」をクリックして既存のファイルを選択します。
    • 後で仮想ハードディスクを接続する:
      • 仮想マシン作成後に手動で仮想ハードディスクを追加する場合に選択します。
    • ここでは通常「仮想ハードディスクを作成する」を選択します。名前、場所、サイズを指定し、「次へ」をクリックします。
  8. インストールオプション:

    • 作成した仮想マシンにゲストOSをどのようにインストールするかを指定します。
    • オペレーティングシステムを後でインストールする: 仮想マシン作成後に手動でインストールを開始する場合に選択します。通常はこのオプションを選択します。
    • ブート イメージ ファイルからオペレーティングシステムをインストールする: ISOイメージファイルや物理CD/DVDドライブからインストールする場合に選択します。「イメージ ファイル(.iso)」を選択し、「参照」をクリックしてゲストOSのISOイメージファイルを指定します。
    • ネットワークベースのインストール サーバーからオペレーティングシステムをインストールする: ネットワークブート(PXEブート)サーバーからインストールする場合に選択します。
    • ここでは「オペレーティングシステムを後でインストールする」を選択するか、用意したISOイメージファイルを指定して「ブート イメージ ファイルから~」を選択するのが一般的です。
    • 適切な項目を選択し、「次へ」をクリックします。
  9. 完了:

    • これまでの設定内容の概要が表示されます。内容を確認し、「完了」をクリックします。

ウィザードが閉じられ、Hyper-Vマネージャーの中央ペインに新しく作成された仮想マシンが表示されます。状態は「オフ」になっています。

3.2 仮想マシンの基本操作

作成した仮想マシンに対して、以下の基本的な操作を行うことができます。

  • 起動: 仮想マシンを起動します。仮想マシンを選択して右ペインのアクションで「起動」をクリックするか、右クリックメニューから「起動」を選択します。
  • 接続: 起動中の仮想マシンの画面を表示し、キーボード・マウス操作を行うために接続します。仮想マシンを選択して右ペインのアクションで「接続」をクリックするか、右クリックメニューから「接続」を選択します。接続すると、仮想マシン接続ウィンドウが開きます。
  • シャットダウン: 仮想マシンにシャットダウン信号を送って、ゲストOSを正常に終了させます。仮想マシンを選択して右ペインのアクションで「シャットダウン」をクリックするか、右クリックメニューから「シャットダウン」を選択します。ゲストOSが応答しない場合は、後述の「オフ」を使います。
  • オフ: 仮想マシンの電源を強制的に切断します。物理マシンの電源ボタンを長押しして強制終了するのと同じで、ゲストOSの状態が保存されずに終了するため、ファイルシステムにダメージを与える可能性があります。ゲストOSが応答しない場合など、やむを得ない場合にのみ使用します。
  • 一時停止: 仮想マシンの現在の状態(メモリ内容、CPU状態など)を保存して一時停止します。ホストOSをシャットダウンしても状態は維持されます。再開すると中断した状態からすぐに再開できます。
  • 再開: 一時停止中の仮想マシンを元の状態に戻して実行を再開します。
  • リセット: 仮想マシンを強制的に再起動します。物理マシンのリセットボタンを押すのと同じです。ゲストOSの状態は保存されません。
  • 保存: 仮想マシンの現在の状態をファイルに保存し、仮想マシンを停止します。一時停止と似ていますが、保存の場合は仮想マシンは停止します。次に起動すると、保存した状態から再開します。

これらの操作は、Hyper-Vマネージャーの中央ペインで仮想マシンを右クリックして表示されるコンテキストメニューや、右ペインのアクションメニューから実行できます。

第4章 仮想マシンの設定

仮想マシンは作成後でも様々な設定を変更できます。仮想マシンの設定を変更するには、Hyper-Vマネージャーで仮想マシンを選択し、右ペインのアクションメニューまたは右クリックメニューから「設定」を選択します。

仮想マシンの設定画面は、左ペインに設定項目のツリー、右ペインに選択した項目の設定内容が表示される構成になっています。設定項目は大きく「ハードウェア」と「管理」に分かれています。

4.1 ハードウェアの設定

仮想マシンに割り当てられた仮想的なハードウェアに関する設定です。

  • BIOS / ファームウェア (第2世代のみ): 仮想マシンの起動順序(DVD、IDE、レガシーネットワークアダプターなど)を設定します。第2世代の場合はUEFI設定です。セキュアブートの有効/無効もここで設定できます。
  • メモリ: 仮想マシンに割り当てるメモリ容量を設定します。作成時に静的メモリを選択した場合は固定容量、動的メモリを選択した場合は最小RAM、最大RAM、RAMバッファーの割合を設定できます。実行中の仮想マシンに対して動的メモリの設定を変更することも可能ですが、静的メモリから動的メモリへの変更、またはその逆は仮想マシンを停止して行う必要があります。
  • プロセッサ: 仮想マシンに割り当てる仮想プロセッサの数(vCPU数)を設定します。物理CPUのコア数を超えて割り当てることも技術的には可能ですが、通常は物理コア数を超える割り当てはパフォーマンス低下を招く可能性があるため推奨されません。ワークロードに応じて適切なvCPU数を割り当てます。
  • SCSIコントローラー: 仮想SCSIコントローラーの設定です。第2世代仮想マシンはシステムドライブを含め、デフォルトでSCSIコントローラーに接続された仮想ハードディスクを使用します。ここに新しい仮想ハードディスクや仮想DVDドライブを追加できます。ホットアド(仮想マシンの実行中にデバイスを追加)に対応している場合もあります。
    • ハードドライブ: SCSIコントローラーに接続する仮想ハードディスク(VHD/VHDX)を追加・削除・設定します。
    • DVDドライブ (第2世代のみ): SCSIコントローラーに接続する仮想DVDドライブを追加・削除・設定します。ISOイメージファイルをマウントしたり、物理DVDドライブを仮想マシンにパススルーしたりできます。
  • IDEコントローラー (第1世代のみ): 仮想IDEコントローラーの設定です。第1世代仮想マシンはシステムドライブにIDEコントローラーを使用します。
    • ハードドライブ: IDEコントローラーに接続する仮想ハードディスク(VHD/VHDX)を追加・削除・設定します。
    • DVDドライブ: IDEコントローラーに接続する仮想DVDドライブを追加・削除・設定します。ISOイメージファイルをマウントしたり、物理DVDドライブをパススルーしたりできます。
  • ネットワークアダプター: 仮想マシンにネットワークアダプターを追加・削除・設定します。どの仮想スイッチに接続するか、MACアドレス、VLAN IDなどを設定できます。帯域幅管理の設定も可能です。
  • 統合サービス: 仮想マシンにインストールされた統合サービスに関する設定です。統合サービスの有効/無効や、ゲストOSからのシャットダウンや時刻同期などを許可するかどうかを設定します。統合サービスについては後述します。
  • チェックポイント: 仮想マシンのチェックポイント(スナップショット)に関する設定です。チェックポイントを有効にするか、チェックポイントファイルの保存場所などを設定します。
  • セキュリティ (第2世代のみ): 第2世代仮想マシン特有のセキュリティ設定です。セキュアブート、暗号化のサポート(TPMチップが必要)、シールドされた仮想マシン(エンタープライズ環境向け)などの設定を行います。
  • NUMAスパン: 仮想プロセッサがホストのどのNUMAノードに配置されるかなど、高性能システムでの最適化設定です。通常はデフォルト設定のままで問題ありません。

4.2 管理の設定

仮想マシンの動作や管理に関する設定です。

  • 名前: 仮想マシンの名前を変更できます。
  • 構成ファイル保存場所: 仮想マシンの構成ファイル(.vmcx)の保存場所を変更できます。
  • チェックポイント ファイルの保存場所: 仮想マシンのチェックポイントファイル(.vsv, .binなど)や差分ディスクファイル(.avhdx)の保存場所を変更できます。
  • スマート ページング ファイルの場所: 動的メモリ使用時に、物理メモリが不足した場合に一時的に使用されるスマートページングファイルの保存場所を指定できます。パフォーマンス上の理由から、SSDドライブを指定することが推奨されます。
  • 自動開始アクション: ホストOSが起動したときに、仮想マシンをどうするか設定します。
    • 何もしない
    • オペレーティングシステムが停止したときの状態に戻す(前回停止していたら停止したまま、実行中だった実行を開始)
    • 自動的に開始する(遅延を設定可能)
  • 自動停止アクション: ホストOSがシャットダウンまたは再起動するときに、仮想マシンをどうするか設定します。
    • ゲスト オペレーティングシステムをシャットダウンする(推奨)
    • 仮想マシンの状態を保存する
    • 仮想マシンの電源をオフにする(非推奨)
  • 統合サービス: ハードウェア設定の統合サービスと同じ項目です。
  • 複製: 仮想マシンの複製を作成する際に使用する設定です。(Enterprise向け機能)
  • 拡張セッションポリシー: 拡張セッションモードの使用を許可するかどうかを設定します。拡張セッションモードについては後述します。

これらの設定項目を適切に構成することで、仮想マシンのパフォーマンスや動作を最適化し、利用目的に合わせた環境を構築できます。設定変更の多くは仮想マシンが停止している必要がありますが、一部(メモリの動的設定変更など)は実行中でも可能です。

第5章 ゲストOSのインストールと統合サービス

仮想マシンの作成と設定が完了したら、次にその仮想マシンにゲストOSをインストールします。

  1. 仮想マシンへの接続:

    • Hyper-VマネージャーでゲストOSをインストールしたい仮想マシンを選択し、右クリックメニューまたは右ペインのアクションから「接続」を選択します。
    • 仮想マシン接続ウィンドウが開きます。
  2. OSインストールメディアのマウント:

    • 仮想マシン接続ウィンドウが表示されたら、ウィンドウ上部のメニューバーにある「メディア」をクリックします。
    • ISOイメージからインストールする場合: 「DVD ドライブ」→「ディスク」→「イメージの挿入」を選択し、あらかじめ用意しておいたゲストOSのISOイメージファイルを選択します。これにより、仮想マシンの仮想DVDドライブにISOイメージがマウントされます。
    • 物理CD/DVDドライブからインストールする場合: 「DVD ドライブ」→「物理 CD/DVD ドライブ」を選択し、ホストPCに接続されている物理ドライブを選択します。
  3. 仮想マシンの起動:

    • 仮想マシン接続ウィンドウ上部のメニューバーにある「操作」→「開始」を選択するか、ツールバーの開始ボタンをクリックします。
    • 仮想マシンが起動し、マウントしたISOイメージまたは物理ドライブから起動を試みます。
  4. ゲストOSのインストール:

    • 仮想マシン接続ウィンドウ内で、通常の物理PCにOSをインストールするのと同じ手順でゲストOSのインストールを進めます。画面の指示に従って、言語、タイムゾーン、キーボードレイアウト、インストール先ディスクの選択(仮想ハードディスク)、ユーザー情報などを設定します。
    • 仮想ハードディスクは、ゲストOSからは物理的なハードディスクのように見えます。必要に応じてパーティションを作成・フォーマットします。
  5. 統合サービス (Integration Services) のインストール:

    • ゲストOSのインストールが完了し、OSが起動したら、統合サービス をインストールすることが非常に重要です。
    • 統合サービスは、Hyper-VホストとゲストOS間の連携を強化し、仮想マシンのパフォーマンスと使いやすさを向上させるためのドライバーやユーティリティのセットです。
    • 統合サービスが提供する主な機能:
      • オペレーティングシステムシャットダウン: Hyper-VマネージャーからゲストOSを正常にシャットダウンできるようになります。
      • 時刻同期: ゲストOSの時刻をホストOSと同期させることができます。
      • データ交換: ホストOSとゲストOS間で少量のデータを交換できます(例えば、ホストOSからゲストOSにIPアドレスなどの情報を渡す)。
      • ハートビート: Hyper-VホストがゲストOSの応答性を監視できます。
      • バックアップ (ボリュームシャドウコピーサービス – VSS): 実行中のゲストOSのスナップショットベースのバックアップをサポートします。
      • Hyper-Vネットワークアダプター: 仮想ネットワークアダプターのパフォーマンスを向上させるドライバーを提供します。
      • マウス統合: 仮想マシン接続ウィンドウ内でマウスカーソルがシームレスに移動できるようになります。(拡張セッションモードを使わない場合も便利です)
      • ビデオの最適化: ディスプレイアダプターのパフォーマンスを向上させます。
    • 統合サービスのインストール方法:
      • WindowsゲストOSの場合 (Windows Server 2012/Windows 8以降): 統合サービスはOSに組み込まれており、通常は自動的にインストールされます。手動でインストールする必要はありません。最新のアップデートが適用されていることを確認してください。
      • WindowsゲストOSの場合 (Windows Server 2008 R2以前/Windows 7以前): 仮想マシン接続ウィンドウのメニューバーから「操作」→「統合サービス セットアップ ディスクの挿入」を選択します。これにより、仮想CD/DVDドライブに統合サービスが含まれるISOイメージ(vmguest.iso)がマウントされます。ゲストOS内でそのドライブを開き、セットアップを実行します。
      • LinuxゲストOSの場合: 多くのモダンなLinuxディストリビューション(CentOS/RHEL 6.4以降、Ubuntu 12.04/14.04以降、Debian 7以降、SUSE Linux Enterprise Server 11 SP3以降など)では、統合サービス(Hyper-V Integration ServicesまたはLinux Integration Services – LIS)がカーネルに組み込まれているため、明示的なインストールは不要な場合が多いです。ただし、ディストリビューションやバージョンによっては、別途パッケージをインストールする必要がある場合や、特定のバージョンではサポートが限られる場合もあります。各ディストリビューションのドキュメントを確認してください。LTS (Linux Integration Services) のMicrosoft提供バージョンをインストールすることで、パフォーマンスや機能が向上する場合もあります。

統合サービスをインストールまたは最新の状態にすることで、仮想マシンの操作性やパフォーマンスが格段に向上します。特にWindowsゲストOSでは、マウスカーソルが仮想マシン接続ウィンドウの境界をスムーズに越えられるようになるだけでも使い勝手が大きく変わります。

第6章 Hyper-Vの高度な機能

Hyper-Vは基本的な仮想マシンの作成・実行機能に加えて、仮想環境の管理を効率化し、柔軟性や可用性を高めるための様々な高度な機能を提供しています。Windows 10/11のHyper-Vクライアント機能で利用できる主な高度な機能を紹介します。

6.1 チェックポイント (スナップショット)

チェックポイント(旧名:スナップショット)は、仮想マシンの特定の時点での状態(メモリ、設定、ディスクの状態)を保存する機能です。これにより、何か変更を加える前にチェックポイントを作成しておけば、問題が発生した場合にその時点の状態に簡単に戻すことができます。

  • 利用シナリオ:
    • OSやアプリケーションのアップデート、新しいソフトウェアのインストール、設定変更など、リスクのある操作を行う前の「保険」として。
    • 特定の状態の仮想マシンを複数複製してテストを行う場合の「マスターイメージ」として。(ただし、複製にはエクスポート/インポートや差分ディスクの方が適している場合もあります)
    • 開発やテストで、特定の時点の環境に頻繁に戻る必要がある場合。
  • チェックポイントの作成:
    • Hyper-Vマネージャーで仮想マシンを選択します。
    • 右ペインのアクションまたは右クリックメニューから「チェックポイント」を選択します。
    • チェックポイントが作成され、中央ペインの仮想マシンの下にチェックポイントツリーとして表示されます。
  • チェックポイントの適用:
    • Hyper-Vマネージャーのチェックポイントツリーで、適用したいチェックポイントを選択します。
    • 右クリックメニューまたは右ペインのアクションから「適用」を選択します。
    • 確認ダイアログが表示されるので、「適用」をクリックします。仮想マシンは一時的に停止され、選択したチェックポイントの状態に戻ります。現在の状態はオプションとして保存することもできます。
  • チェックポイントの削除:
    • 不要になったチェックポイントは削除して、ストレージ容量を解放する必要があります。
    • Hyper-Vマネージャーのチェックポイントツリーで、削除したいチェックポイントを選択します。
    • 右クリックメニューまたは右ペインのアクションから「チェックポイントの削除」を選択します。
    • 複数のチェックポイントをまとめて削除したい場合は、親になっているチェックポイントを選択して「チェックポイント サブツリーの削除」を選択することもできます。
  • チェックポイントの注意点:
    • ストレージ容量の消費: チェックポイントは、作成後のディスクへの変更を差分ファイル(.avhdx)として保存します。チェックポイントが増えたり、ゲストOS内で多くのデータが書き込まれたりすると、これらの差分ファイルが大きくなり、ホストPCのストレージ容量を圧迫します。定期的に不要なチェックポイントを削除することが重要です。
    • パフォーマンスへの影響: 複数のチェックポイントが存在すると、ディスクへのアクセスが差分ファイルを経由するため、パフォーマンスが若干低下する可能性があります。
    • バックアップの代替ではない: チェックポイントは特定の時点の状態に戻すためのものであり、仮想マシンの完全なバックアップではありません。ホスト側のディスク障害が発生した場合、チェックポイントを含めた全てのデータが失われる可能性があります。重要な仮想マシンは、別途バックアップツールや手法でバックアップを取得する必要があります。
    • 長期保存は非推奨: チェックポイントは本来、短期間の使用を想定しています。長期的に多数のチェックポイントを保持することは、管理が複雑になるだけでなく、前述のストレージやパフォーマンスの問題を引き起こしやすいため非推奨です。

Hyper-Vには「運用チェックポイント」というオプションもあります。これは、ゲストOSのバックアップ機能(VSSなど)と連携して、ゲストOSのアプリケーション整合性を保ったままチェックポイントを作成する機能です。特にサーバーOSなど、実行中のアプリケーションの整合性が重要なゲストOSで有効です。設定画面の「チェックポイント」の項目で「運用チェックポイント」または「標準チェックポイント」(ゲストOSの状態をそのまま保存)を選択できます。

6.2 仮想スイッチマネージャー

仮想スイッチマネージャーは、仮想マシンがネットワークに接続するために使用する「仮想スイッチ」を作成・管理するツールです。仮想スイッチは、物理ネットワークスイッチと同様に、複数の仮想マシンやホストOSを接続し、それらの間のネットワーク通信を制御します。

  • 仮想スイッチマネージャーの起動:
    • Hyper-Vマネージャーの左ペインでホスト名を選択します。
    • 右ペインのアクションメニューまたは右クリックメニューから「仮想スイッチマネージャー」を選択します。
  • 仮想スイッチの種類:
    • 仮想スイッチマネージャーでは、以下の3種類の仮想スイッチを作成できます。
      • 外部 (External): ホストPCの物理ネットワークアダプターにバインドされます。この仮想スイッチに接続された仮想マシンは、ホストPCと同じ物理ネットワークに接続され、インターネットやローカルネットワーク上の他のコンピュータと通信できます。ホストOS自身もこのスイッチに接続して物理ネットワークと通信できます。最も一般的なタイプです。
      • 内部 (Internal): ホストOSと、このスイッチに接続された仮想マシンとの間で通信できます。物理ネットワークには接続されません。ホストOSと仮想マシン間の開発環境やテスト環境などに使用します。
      • プライベート (Private): このスイッチに接続された仮想マシン間でのみ通信できます。ホストOSや物理ネットワークとは完全に隔離されます。完全に閉じたネットワーク環境でテストを行う場合などに使用します。
  • 仮想スイッチの作成:
    • 仮想スイッチマネージャーを開き、「新しい仮想ネットワークスイッチ」を選択します。
    • 作成したいスイッチの種類(外部、内部、プライベート)を選択し、「仮想スイッチの作成」をクリックします。
    • スイッチの名前を入力し、外部スイッチの場合はバインドする物理ネットワークアダプターを選択します。VLAN IDや、ホストOSにネットワークアクセスを許可するかどうかなどの詳細設定も可能です。
    • 「OK」をクリックすると仮想スイッチが作成されます。
  • 仮想スイッチの編集・削除:
    • 作成済みの仮想スイッチを選択し、設定を変更したり削除したりできます。外部スイッチの場合、バインドする物理アダプターを変更したり、詳細設定を調整したりできます。

仮想マシンをネットワークに接続するには、仮想マシンの設定で「ネットワークアダプター」の項目を開き、作成済みの仮想スイッチを選択します。

6.3 仮想ハードディスク (VHD/VHDX)

仮想ハードディスクは、ゲストOSがデータを保存するために使用するファイルです。Hyper-Vでは主にVHD形式とVHDX形式が使用されます。

  • VHD (Virtual Hard Disk): 従来の形式です。最大容量は2TBです。
  • VHDX (Virtual Hard Disk v2): Hyper-V 3.0(Windows Server 2012以降、Windows 8以降)で導入された新しい形式です。
    • 最大容量が64TBに拡張されました。
    • ブロックサイズが大きくなり、容量可変ディスクのパフォーマンスが向上しました。
    • 停電などの障害発生時のデータ破損に対する堅牢性が向上しました。
    • より大きなブロックサイズによるスペース効率の向上。
    • 特別な理由がない限り、VHDX形式を使用することを強く推奨します。
  • 仮想ハードディスクの種類:
    • 容量可変 (Dynamically expanding): 初期サイズは小さく、ゲストOSがデータを書き込むにつれてファイルサイズが大きくなります。ストレージ容量を節約できます。ウィザードでデフォルトで作成される形式です。
    • 固定サイズ (Fixed size): 作成時に指定した容量のファイルがすべて確保されます。作成に時間はかかりますが、容量可変ディスクよりもパフォーマンスが高い場合があります。
    • 差分 (Differencing): 親となる別の仮想ハードディスク(ベースディスク)への変更点のみを記録するディスクです。親ディスクは読み取り専用となり、差分ディスクに書き込みが発生します。ベースディスクを共有して複数の仮想マシンを起動する場合や、チェックポイントで使用されます。
  • 仮想ハードディスクの編集:
    • Hyper-Vマネージャーの右ペインのアクションで「新規」→「ハードディスク」を選択すると、新しい仮想ハードディスクファイルを作成できます。
    • 仮想マシンが使用していない仮想ハードディスクファイルを選択して右クリックメニューから「編集」を選択すると、仮想ハードディスクの編集ウィザードが起動します。
    • 編集ウィザードで可能な操作:
      • 圧縮: 容量可変または差分ディスクで、ゲストOS内で削除されたファイルなどによって生じた未使用領域を解放し、ファイルサイズを小さくします。(事前にゲストOS内でディスククリーンアップやデフラグを行うと効果的です)
      • 拡張: 仮想ハードディスクの最大容量を拡張します。物理ディスクの容量に余裕があれば拡張できます。拡張後、ゲストOS内でディスク管理ツールを使ってボリュームを拡張する必要があります。
      • 変換: VHDからVHDXへ、VHDXからVHDへ、容量可変から固定サイズへ、固定サイズから容量可変へなど、仮想ハードディスクの形式や種類を変換できます。
      • 結合: 差分ディスクを親ディスクと結合して、一つの独立した仮想ハードディスクファイルを作成します。チェックポイントを削除する際にも内部的に結合処理が行われます。
  • パススルーディスク:
    • 仮想マシンに、ホストPCの物理ディスクを直接割り当てる機能です。特定のアプリケーション要件やパフォーマンス要件がある場合に利用されることがありますが、設定が複雑で管理上の注意点も多いため、一般的には仮想ハードディスクを使用することが推奨されます。

6.4 Nested Virtualization (入れ子になった仮想化)

Nested Virtualizationは、Hyper-Vホスト上で実行されている仮想マシンの中で、さらに別の仮想化プラットフォーム(例えば、その仮想マシン上でHyper-VやVMwareなどの仮想化ソフトウェア)を実行することを可能にする機能です。つまり、「仮想マシンの中で仮想マシンを動かす」ことができます。

  • 利用シナリオ:
    • Hyper-Vなどの仮想化環境の学習やテスト環境の構築。物理マシンを用意せずにHyper-Vサーバーのクラスターなどをシミュレートできます。
    • 開発環境で、仮想マシン内にDockerなどのコンテナー環境を構築したり、Hyper-VとWSL2を同時に利用したりする場合。
    • Hyper-VコンテナーやWSL2はNested Virtualizationに依存しています。Windows 10/11上でWSL2を利用する場合、Hyper-Vプラットフォームが有効になっている必要がありますが、これはNested Virtualizationが有効になっているためです。
  • システム要件:
    • Nested VirtualizationをサポートするCPUが必要です。Intel VT-x with EPT (Extended Page Tables) または AMD-V with NPT (Nested Paging) をサポートしている必要があります。多くの新しい世代のIntel Core i5/i7/i9やXeon、AMD RyzenやEpycなどが対応しています。
    • ホストOSのビルドバージョンが特定のバージョン以降である必要があります。(通常、Windows 10 Anniversary Update 以降または Windows Server 2016 以降)
    • Nested Virtualizationを有効にする仮想マシン(L1 VM)に十分なメモリが割り当てられている必要があります。
  • 有効化方法:

    • Nested Virtualizationは仮想マシンの設定GUIからは設定できません。PowerShellコマンドレットを使用して有効化する必要があります。
    • まず、Nested Virtualizationを有効にしたい仮想マシンを停止します。
    • 管理者権限でPowerShellを起動し、以下のコマンドを実行します。

    powershell
    Set-VMProcessor <仮想マシン名> -ExposeVirtualizationExtensions $true

    * <仮想マシン名> の部分を、Nested Virtualizationを有効にしたい仮想マシンの名前に置き換えてください。
    * これにより、仮想マシン内のゲストOSからCPUの仮想化支援機能が利用できるようになります。
    * 注意点:
    * Nested Virtualizationは、通常の仮想化に比べてパフォーマンスが低下する可能性があります。
    * トラブルシューティングが複雑になる場合があります。
    * Nested Virtualizationを有効にした仮想マシン内での仮想化ソフトウェアのサポート状況は、各ソフトウェアベンダーに確認してください。

6.5 Enhanced Session Mode (拡張セッションモード)

拡張セッションモードは、RDP(Remote Desktop Protocol)を介して仮想マシンに接続することで、よりリッチなユーザーエクスペリエンスを提供する機能です。従来の仮想マシン接続(基本セッションモード)では制限されていた機能が利用可能になります。

  • 拡張セッションモードで利用できる機能:
    • 高解像度ディスプレイ: 物理ディスプレイの解像度に合わせて仮想マシンの画面解像度を自動的に調整できます。
    • コピー&ペースト: ホストOSとゲストOS間でテキストだけでなく、画像やファイルもコピー&ペーストできます。
    • オーディオ入出力: ホストPCのスピーカーやマイクをゲストOSで利用できます。
    • ローカルデバイスのリダイレクト: ホストPCに接続されているUSBデバイス、プリンター、スマートカードリーダーなどをゲストOSにリダイレクトして利用できます。
    • ファイル転送: ファイルエクスプローラーを使って、ホストOSとゲストOS間でファイルを簡単にやり取りできます。
  • 利用のための要件:
    • Hyper-Vホスト側で拡張セッションモードが許可されている必要があります。Hyper-Vマネージャーの「Hyper-V の設定」→「拡張セッション ポリシー」で「拡張セッション モードを許可する」にチェックが入っていることを確認します。
    • ゲストOS側で拡張セッションモードがサポートされている必要があります。現在サポートされているのは、Windows Server 2012 R2以降、Windows 8.1以降、Windows 10、Windows 11です。
    • ゲストOSに統合サービスがインストールされており、RDPサービスが実行されている必要があります。
    • ゲストOSがネットワークに接続されている必要はありません。拡張セッションモードはホスト-ゲスト間のVMBusを通じて通信します。
  • 有効化と利用方法:
    • Hyper-VホストとゲストOSが上記の要件を満たしていることを確認します。
    • 仮想マシンを起動し、ゲストOSにログインします。
    • 仮想マシン接続ウィンドウ上部のメニューバーにある「表示」→「拡張セッション」を選択します。
    • または、仮想マシン接続ウィンドウを閉じ、Hyper-Vマネージャーで仮想マシンを選択し、右クリックメニューまたは右ペインのアクションから「接続」を選択します。仮想マシンにログイン可能な状態であれば、「解像度やリソース構成を設定してください」というダイアログが表示されるので、目的の解像度などを選択して接続します。
    • 拡張セッションモードが有効になると、仮想マシン接続ウィンドウのタイトルバーに「拡張セッション」と表示されます。

特にWindowsゲストOSを使う場合に、拡張セッションモードは仮想マシン操作の利便性を劇的に向上させます。ぜひ活用しましょう。

第7章 よくある問題とトラブルシューティング

Hyper-Vを利用する上で、いくつかの問題に遭遇する可能性があります。ここでは、よくある問題とその解決策を紹介します。

7.1 Hyper-Vが有効化できない、機能が見つからない

  • 原因:
    • WindowsのエディションがHyper-Vに対応していない(Homeエディションなど)。
    • システム要件(CPUの仮想化支援機能、SLATなど)を満たしていない。
    • UEFI/BIOS設定で仮想化支援機能が無効になっている。
    • 他の仮想化プラットフォーム(VMware Workstation/VirtualBoxなど)や、特定のセキュリティ機能(デバイスガード、Credential Guardなど)と競合している。
  • 対策:
    • ご使用のWindowsエディションがPro、Enterprise、またはEducationであることを確認します。
    • systeminfo コマンドや Get-ComputerInfo コマンドでシステム要件を満たしているか確認します。
    • PCのUEFI/BIOS設定に入り、「Virtualization Technology」「Intel VT-x」「AMD-V」「SVM Mode」などの項目が有効になっていることを確認します。
    • 他の仮想化ソフトウェア(VMware Workstation, VirtualBoxなど)がインストールされている場合は、アンインストールまたは無効化を試みます。
    • 開発者向け機能としてWSL2やWindows Sandboxを利用している場合、これらはHyper-Vプラットフォームを利用するため、Hyper-V自体は有効化できますが、設定によっては競合が発生することもあります。通常は共存可能ですが、問題が発生した場合は、WSL2やSandboxを一時的に無効にしてみます。

7.2 仮想マシンが起動しない、またはエラーで停止する

  • 原因:
    • システムリソース(メモリ、ストレージ)が不足している。
    • 仮想ハードディスクファイルが見つからない、または破損している。
    • 仮想スイッチの設定に問題がある。
    • UEFI/BIOS設定で仮想化支援機能が無効になっている。
    • 仮想マシンの構成ファイルが破損している。
  • 対策:
    • ホストPCに十分なメモリ空き容量があるか確認します。他のアプリケーションを終了させるか、仮想マシンに割り当てるメモリを減らしてみます。
    • 仮想ハードディスクファイルが存在するか、指定したパスが正しいか確認します。
    • 仮想スイッチマネージャーで仮想スイッチの設定を確認します。特に外部スイッチが正しい物理アダプターにバインドされているか確認します。
    • UEFI/BIOS設定で仮想化支援機能が有効になっているか再度確認します。
    • 仮想マシンの設定画面を開き、設定内容に矛盾がないか、特にハードウェア関連の設定を確認します。
    • 仮想マシン接続ウィンドウを開き、起動時のエラーメッセージを確認します。
    • Windowsのイベントビューアーで、Hyper-Vに関するエラーログを確認します(「アプリケーションとサービスログ」→「Microsoft」→「Windows」→「Hyper-V-VMMS」または「Hyper-V-Worker」など)。

7.3 ゲストOSからネットワークに接続できない

  • 原因:
    • 仮想スイッチの設定に問題がある。
    • 仮想マシンのネットワークアダプターが仮想スイッチに正しく接続されていない。
    • ゲストOSのネットワーク設定(IPアドレス、DNSなど)に問題がある。
    • 物理ネットワークアダプターやホストPCのネットワーク設定に問題がある。
    • ファイアウォール(ホストOS、ゲストOS、または外部のファイアウォール)によって通信がブロックされている。
  • 対策:
    • 仮想マシンが正しい仮想スイッチに接続されているか、仮想マシンの設定で確認します。
    • 仮想スイッチマネージャーを開き、使用している仮想スイッチ(特に外部スイッチ)が正しい物理ネットワークアダプターにバインドされているか確認します。物理アダプターのリンク状態も確認します。
    • 外部スイッチを使用している場合、ホストPCが正常にネットワークに接続できているか確認します。
    • ゲストOS内でIPアドレスが取得できているか(DHCPの場合)、または正しい静的IPアドレスが設定されているか確認します。pingコマンドなどで疎通確認を行います。
    • ゲストOSのファイアウォール設定で、必要な通信(DHCP、DNS、HTTPなど)が許可されているか確認します。ホストOSのファイアウォールも確認します。
    • 外部スイッチでなく内部スイッチやプライベートスイッチを使用している場合は、想定したネットワーク構成になっているか確認します。

7.4 パフォーマンスが悪い

  • 原因:
    • 仮想マシンに割り当てられているリソース(CPU、メモリ)が不足している。
    • ホストPCの物理リソースが不足している(特にメモリやストレージI/O)。
    • 統合サービスがインストールされていない、または古い。
    • 仮想ハードディスクの種類(容量可変)や保存場所(低速なHDD)が原因。
    • チェックポイントが多数存在する。
  • 対策:
    • 仮想マシンに割り当てられている仮想プロセッサ数やメモリ容量を増やしてみます。(ただし、ホストPCの物理リソースに余裕がある範囲で)
    • ホストPC全体のCPU使用率、メモリ使用率、ディスクI/O使用率をタスクマネージャーなどで確認します。ホストPCのリソース自体が不足している場合は、物理リソースを増設するか、同時実行する仮想マシンの数を減らす必要があります。
    • ゲストOSに統合サービスがインストールされており、最新の状態になっているか確認します。
    • 可能であれば、仮想ハードディスクを容量可変から固定サイズに変換したり、高速なSSDストレージに移動したりすることを検討します。
    • 不要なチェックポイントを削除します。
    • ゲストOS内でディスククリーンアップやデフラグを行います。

7.5 チェックポイントのファイル容量が大きくなりすぎる

  • 原因: チェックポイント作成後にゲストOS内で多くのデータが書き込まれたため、差分ディスクファイル(.avhdx)が肥大化している。
  • 対策:
    • 不要になったチェックポイントはこまめに削除します。
    • チェックポイントを削除する前に、ゲストOS内でディスククリーンアップやデフラグを実行すると、差分ディスクの解放される容量が多くなる可能性があります。
    • 仮想ハードディスクの編集ウィザードを使用して、差分ディスクの「圧縮」を実行します。
    • そもそもチェックポイントをバックアップの代替として使用しないようにします。重要な変更やテストの前の「一時的な保険」としてのみ使用し、長期保存は避けます。

これらのトラブルシューティング手法は一般的なものです。問題が解決しない場合は、Hyper-VのイベントログやゲストOSのログを詳しく調査したり、Microsoftのドキュメントやコミュニティフォーラムで同様の問題がないか検索したりすることをお勧めします。

第8章 Hyper-Vの応用的な利用シナリオ

Hyper-Vクライアント機能は、個人開発者やITプロフェッショナル、学習者にとって非常に有用なツールです。いくつかの応用的な利用シナリオを紹介します。

8.1 開発環境 / テスト環境の構築

  • 異なるOSの利用: Windows開発者はLinux環境が必要になったり、Mac開発者はWindows環境が必要になったりすることがあります。Hyper-Vを使えば、Windows上にUbuntuやCentOSなどのLinuxディストリビューション、あるいは別のバージョンのWindowsをインストールして、異なるOS環境での開発やテストを容易に行えます。
  • ソフトウェアの互換性テスト: 開発中のアプリケーションが様々なOSバージョンや構成で正しく動作するかを確認するために、複数の仮想マシンでテスト環境を構築できます。チェックポイントを活用すれば、テスト前の状態にすぐに戻すことができます。
  • スナップショットや差分ディスクの活用: 特定の状態のOSや開発ツールがインストールされた仮想マシンを「マスターイメージ」としてVHDXファイルで保存しておき、新しいプロジェクトを始める際にそのディスクから差分ディスクを作成して仮想マシンを作成すれば、環境構築の手間を省けます。複数人で同じ開発環境を使う場合にも便利です。

8.2 古いアプリケーションの実行環境

  • 新しいOS(Windows 11など)では動作しない古いアプリケーションがある場合、Hyper-Vを使ってWindows XPやWindows 7などの古いバージョンのWindowsを仮想マシンにインストールし、その環境でアプリケーションを実行できます。これにより、新しいPCやOSに移行しても、古いソフトウェア資産を活用し続けることが可能になります。ただし、古いOSのライセンスやサポート期限には注意が必要です。

8.3 セキュリティサンドボックスとしての利用

  • 信頼できないソフトウェアを実行したり、怪しいファイルをダウンロード・開いたりする必要がある場合、インターネットから隔離された仮想マシン(仮想スイッチを「プライベート」または「接続しない」に設定)を「サンドボックス」として利用できます。仮想マシン内で何らかのマルウェアに感染したりシステムが破壊されたりしても、ホストOSや他の環境に影響を与えるリスクを最小限に抑えられます。使い捨ての環境として、テスト後に仮想マシンを削除すれば痕跡も残りません。

8.4 学習環境の構築

  • Windows Serverの役割(Active Directory、DNS、DHCP、IISなど)やLinuxサーバーの構築・運用方法を学びたい場合、物理的なサーバーを用意するのはコストや手間がかかります。Hyper-Vを使えば、一台のPC上に複数の仮想マシンを作成し、サーバーOSをインストールして、実際のネットワーク環境に近い構成を構築して練習できます。Active Directoryドメイン環境、クライアント・サーバー環境、LAMP環境など、様々な環境を自由に構築・破壊して学ぶことができます。
  • 新しいOSやテクノロジー(例えばDockerやKubernetesなど)を試したい場合も、既存の環境を汚さずに安全に試すことができます。

8.5 持ち運び可能な仮想環境

  • 作成した仮想マシンの仮想ハードディスクファイル(.vhdx)や構成ファイルは、他のHyper-V環境にコピーしてインポートすることで、別のPCで実行することが可能です。これにより、開発環境やテスト環境などを容易に持ち運んだり、他のユーザーと共有したりすることができます。特に仮想ハードディスクを容量可変ディスクにしておけば、ファイルサイズを比較的小さく抑えることができます。

第9章 Hyper-Vの管理とメンテナンス

仮想マシンを安定して運用するためには、適切な管理とメンテナンスが必要です。

9.1 仮想マシンのバックアップ

仮想マシンのバックアップは非常に重要です。ディスク障害や誤操作など、予期せぬ事態に備えることで、データの損失を防ぎ、迅速な復旧を可能にします。Hyper-Vクライアント機能では、以下の方法でバックアップやそれに類する操作が行えます。

  • 手動でのファイルコピー:
    • 仮想マシンが停止している状態で、仮想マシン構成ファイル、仮想ハードディスクファイル、チェックポイントファイルなどの関連ファイルをまとめて別の場所にコピーする方法です。最もシンプルな方法ですが、仮想マシンを停止する必要があり、ファイル一貫性の保証が難しい場合があります。
  • エクスポート/インポート:
    • Hyper-Vマネージャーで仮想マシンを選択し、右クリックメニューまたはアクションから「エクスポート」を選択すると、仮想マシンのすべてのファイル(構成、ディスク、チェックポイントなど)を指定したフォルダにまとめてエクスポートできます。
    • エクスポートしたフォルダを別のHyper-Vホストにコピーし、Hyper-Vマネージャーの「操作」メニューまたは右ペインのアクションから「仮想マシンのインポート」を選択することで、仮想マシンを復元または移行できます。これは仮想マシンを別のHyper-Vホストに移動したり、バックアップからの復旧に使用したりするのに便利な機能です。仮想マシンが実行中でもエクスポートは可能ですが、ゲストOSの整合性を保つためには停止してからのエクスポートが推奨されます。
  • Windows Server Backup:
    • Windows Server版のHyper-Vでは、Windows Server Backupなどの機能でHyper-V対応のバックアップが可能です。Windows 10/11クライアント版のWindows BackupではHyper-Vの統合的なバックアップ機能は提供されていませんが、サードパーティ製のバックアップソフトウェアの中には、Hyper-Vクライアント機能の仮想マシンのバックアップに対応しているものもあります。
  • ゲストOS内でのバックアップ:
    • 仮想マシン内のゲストOSにバックアップソフトウェアをインストールし、物理マシンと同様にバックアップを取得することも可能です。これはゲストOS内のデータ整合性を保ったバックアップに適しています。

9.2 PowerShellによるHyper-Vの管理

Hyper-Vマネージャー(GUIツール)は使いやすいですが、PowerShellコマンドレットを使用することで、Hyper-Vの操作を自動化したり、より詳細な設定を行ったりすることができます。ITプロフェッショナルにとっては必須のスキルです。

PowerShellを管理者権限で起動し、以下のコマンドレットを試してみましょう。

  • Get-VM: 現在のHyper-Vホスト上の仮想マシン一覧を表示します。
  • New-VM -Name <VM名> -MemoryStartupBytes <メモリ容量> -NewVHDPath <VHDパス> -NewVHDSizeBytes <VHDサイズ> -Generation <世代>: 新しい仮想マシンを作成します。様々なオプションを指定できます。
  • Start-VM <VM名>: 指定した仮想マシンを起動します。
  • Stop-VM <VM名>: 指定した仮想マシンを停止します(ゲストOSをシャットダウンしようとします)。
  • Restart-VM <VM名>: 指定した仮想マシンを再起動します。
  • Suspend-VM <VM名>: 指定した仮想マシンを一時停止します。
  • Save-VM <VM名>: 指定した仮想マシンの状態を保存して停止します。
  • Remove-VM <VM名>: 指定した仮想マシンを削除します。(仮想ハードディスクファイルは削除されない場合があります)
  • Set-VMProcessor <VM名> -Count <仮想プロセッサ数>: 仮想プロセッサ数を変更します。
  • Set-VMMemory <VM名> -StartupBytes <静的メモリ容量>: 静的メモリ容量を変更します。
  • Set-VMMemory <VM名> -DynamicMemoryEnabled $true -MinimumBytes <最小> -MaximumBytes <最大> -Buffer <バッファ%>: 動的メモリを有効化し、設定を変更します。
  • Get-VMSwitch: 仮想スイッチ一覧を表示します。
  • New-VMSwitch -Name <スイッチ名> -SwitchType <External/Internal/Private> -NetAdapterName <物理アダプター名>: 新しい仮想スイッチを作成します。
  • New-VHD -Path <VHDパス> -SizeBytes <サイズ> -Dynamic: 新しい容量可変仮想ハードディスクファイルを作成します。
  • Mount-VHD -Path <VHDパス>: 仮想ハードディスクファイルをホストOSにマウントします。(ドライブとして認識させます)
  • Dismount-VHD -Path <VHDパス>: マウントした仮想ハードディスクファイルを解除します。

これらはごく一部のコマンドレットですが、PowerShellを使うことで、Hyper-Vマネージャーで可能なほとんどの操作を実行できるだけでなく、繰り返し作業の自動化や複雑な環境構築も効率的に行えます。

第10章 Hyper-V以外の仮想化技術との比較

仮想化技術はHyper-Vだけではありません。他の代表的な仮想化ソフトウェアと比較することで、Hyper-Vの特徴や使い分けをより深く理解できます。

  • VMware Workstation / VMware Fusion:
    • VMware社が提供するホスト型仮想化ソフトウェアです。WorkstationはWindows/Linux向け、FusionはmacOS向けです。
    • 多くのOSをサポートしており、ハードウェア互換性やUSBデバイスのサポートが強力です。エンタープライズ向けのVMware vSphereとの互換性も高いです。
    • 有償ソフトウェアであり、Hyper-Vよりも高価ですが、豊富な機能と高いパフォーマンスを提供します。
    • Type 2ハイパーバイザーであるため、Hyper-V(Type 1)とは基本的な動作方式が異なります。Hyper-VとVMware Workstation/Fusionを同じPCにインストールすると、ハイパーバイザーの競合により、どちらか一方しか正常に動作しない、または特定の機能(WSL2など)が利用できなくなる場合があります。(Windows 10/11では、Hyper-Vを有効にした状態でVMware Workstation 15.5以降を使用する場合、Hyper-Vと共存可能なモードが提供されていますが、パフォーマンスは低下する可能性があります。)
    • 使い分け: 有償でも豊富な機能や高い互換性が必要な場合、macOS環境での仮想化、VMware vSphere環境との連携が必要な場合に選択肢となります。
  • VirtualBox:
    • Oracle社が提供するオープンソースのホスト型仮想化ソフトウェアです。Windows, macOS, Linux, Solarisなど、多くのOS上で動作し、様々なゲストOSをサポートしています。
    • 完全に無償で利用できます。手軽に試せる点が大きなメリットです。
    • USBデバイスのサポートやスナップショット、クローンなどの基本的な機能は備わっています。
    • Type 2ハイパーバイザーであり、Hyper-Vとは競合する場合があります(VMwareと同様、共存は可能になりつつありますが注意が必要です)。
    • エンタープライズ環境での大規模展開や、Hyper-VやVMwareに比べると高度な機能やパフォーマンス、管理ツールは劣る傾向があります。
    • 使い分け: 個人が手軽に仮想化を始めたい場合、様々なホストOSで利用したい場合、コストをかけたくない場合に適しています。
  • WSL 2 (Windows Subsystem for Linux 2):
    • Windows上でLinux環境を動作させるための機能です。Hyper-Vテクノロジー(軽量ユーティリティ仮想マシン)を内部的に利用しています。
    • 仮想マシン上で完全なLinux OSを実行するのではなく、Linuxカーネルとユーザーランドを動作させることに特化しており、Windowsのファイルシステムやネットワークと高い親和性を持っています。
    • Linuxのコマンドラインツールや多くのLinuxアプリケーションをWindows上で実行できます。
    • 開発者向けのツールであり、GUIアプリケーションの実行も可能ですが、完全なLinuxデスクトップ体験を提供するものではありません。
    • 使い分け: Linuxのコマンドラインツールや開発環境が必要な場合に、仮想マシンよりも軽量で手軽な選択肢となります。
  • Docker:
    • OS全体を仮想化するのではなく、「コンテナー」という技術を利用します。ホストOSのカーネルを共有し、アプリケーションとその依存関係を隔離された環境で実行します。
    • 仮想マシンよりもさらに軽量で高速に起動・停止でき、リソース消費も少ないです。
    • アプリケーションの配布やデプロイを効率化するための技術であり、開発者によく利用されます。
    • Windows上でDockerを動作させる場合、Hyper-VやWSL2の仮想化技術が基盤として利用されることがあります(Docker Desktop for Windows)。
    • 使い分け: アプリケーションの実行環境を隔離・標準化したい場合、マイクロサービスやCI/CD環境などで利用されます。OS全体の環境が必要な仮想マシンとは目的が異なります。

Hyper-Vの強みは、Windowsに標準搭載されているため追加コストがかからず、Windows OSやWindows Server環境との親和性が高いことです。また、Type 1ハイパーバイザーとして高いパフォーマンスと安定性を提供します。これらの特徴を踏まえて、他の仮想化技術と比較検討し、目的に合ったものを選ぶことが重要です。

第11章 まとめ:Hyper-Vで広がる可能性

この記事では、Windows標準機能であるHyper-Vについて、その基本的な概念からインストール、設定、操作、そして高度な機能や応用シナリオまで、詳細に解説してきました。

Hyper-Vは、あなたのWindows PC上で独立した仮想環境を簡単に構築できる強力なツールです。開発環境やテスト環境の構築、新しいOSやサーバーソフトウェアの学習、古いアプリケーションの実行、セキュリティサンドボックスとしての利用など、その活用方法は多岐にわたります。

特に、Windows 10/11のPro/Enterprise/Educationエディションをお使いであれば、追加の費用なしでこの強力な仮想化機能をすぐに利用開始できます。本記事の手順を参考に、ぜひHyper-Vを有効化し、最初の仮想マシンを作成してみてください。

仮想化は、現代のITスキルとして非常に重要です。Hyper-Vを通じて仮想化の基本を学ぶことは、クラウドコンピューティング(Azureなど)やコンテナー技術(Docker、Kubernetes)といった、さらに進んだIT技術を理解するための土台となります。

この記事が、あなたがHyper-Vを使った仮想化の世界へ踏み出すための一助となれば幸いです。仮想化の可能性は無限大です。ぜひ、あなたのPC上で様々な環境を試行錯誤し、新しい発見や学びを得てください。

Hyper-Vのさらに詳細な情報や最新の機能については、Microsoft DocsのHyper-Vに関する公式ドキュメントを参照することをお勧めします。また、オンラインコミュニティやフォーラムも、疑問点を解決したり、他のユーザーと情報を交換したりするのに役立ちます。

さあ、Hyper-Vを使って、あなたのデジタルライフとスキルをさらにレベルアップさせましょう!


コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール