Hyper-V

Hyper-Vとは、Microsoftの仮想化ソフトウェアです。Hyper-Vとは 【 Windows Server 2008 Hyper-V 】 【 Microsoft Hyper-V Server 】 - IT用語辞典 e-Words

導入

Windows 8の場合

Windows 8でHyper-Vを利用するには、エディションがPro以上であることと、ハードウェアは以下の要件を満たさねばなりません。

Run virtual machines on Windows 8 with Client Hyper-V - Windows Help

Windows 10、11の場合

以下の要件を満たさねばなりません。

  • OS:Windows 10 (Pro or Enterprise) または Windows 11 (Pro or Enterprise)
  • プロセッサ:
    • 64-bit
    • Second Level Address Translation (SLAT) 対応
    • VM Monitor Mode Extension (VMX) 対応
  • メモリ:4GB以上
Check requirements for Windows - Install Hyper-V in Windows and Windows Server | Microsoft Learn

Hyper-Vの有効化

GUIからは、【コントロール パネル → プログラム】にある[Windows の機能の有効化または無効化 (Turn Windows Features on or off)]を開き、[Hyper-V]を有効化します。Enable Hyper-V - Install Hyper-V in Windows and Windows Server | Microsoft Learn

Hyper-Vを有効化すると、次のものも有効になります。

  • Hyper-V プラットフォーム
    • Hyper-V Hypervisor
    • Hyper-V サービス
  • Hyper-V 管理ツール
    • Hyper-V GUI 管理ツール
    • Windows PowerShell 用 Hyper-V モジュール

また、

  • 仮想マシン管理サービス (Hyper-V Virtual Machine Management) … vmms.exe
  • Hyper-V ホスト コンピューティング サービス … vmcompute.exe

がサービスに登録され、常駐します。

有効化時に「変更を完了できませんでした。コンピューターを再起動してやり直してください。エラー コード: 0x800F0916」として失敗することがありますが、再起動せず再試行することで成功することもあります。

Hyper-Vの設定

右ペインの操作にある[Hyper-V の設定]から、そのサーバーに対する基本的な設定をできます。

仮想ハード ディスク

仮想ハード ディスクのファイルが保存されるフォルダーです。既定でC:\ProgramData\Microsoft\Windows\Virtual Hard Disksです。

仮想マシン

仮想マシンの構成ファイルが保存される既定のフォルダーです。既定でC:\ProgramData\Microsoft\Windows\Hyper-Vです。

ウイルス対策ソフトウェア

ホストのウイルス対策ソフトウェアが悪影響を及ぼすことがあるため、Hyper-Vが検査対象から除外されるように設定が必要な場合があります。 Hyper-V ホストに推奨されるウイルス対策の除外 - Windows Server | Microsoft Learn デスクトップ仮想化環境への対応について | ESETサポート情報 | 法人向けサーバー ・ クライアント用製品 | キヤノン サーバー仮想化環境への対応について | ESETサポート情報 | 法人向けサーバー ・ クライアント用製品 | キヤノン

仮想スイッチ (Virtual Switch)

仮想マシンと物理ネットワーク、または仮想マシン同士を接続するための、仮想的なネットワークスイッチ (network switch / スイッチングハブ) です。

  • プライベート … 仮想マシン同士の接続のみ
  • 内部 … [プライベート]の接続に加え、ホストとの接続も可能
  • Default Switch … [内部]の接続に加え、外部ネットワークとの接続も可能。ホストに[vEthernet (Default Switch)]の名前のネットワーク デバイスとして作成される
  • 外部 … 物理ネットワーク アダプタを仮想化し、物理ネットワークに直接接続。

基本的にDefault Switchを使用します。外部スイッチを作成して接続すると高速化できる可能性がありますが、問題を発生させる恐れがあります。仮想スイッチの種別と用途:Windows 10 Hyper-V入門 - @IT 塩田紳二 (2020/08/17)

仮想マシンの作成

Hyper-V マネージャーを起動します。そのとき左ペインにホストOSがサーバーとして表示されていなければ、管理者権限でHyper-V マネージャーを起動し直します。

左ペインでサーバーを選択すると、そのサーバに対する操作が右ペインに表示されます。

管理者権限のないアカウントでの利用

[Hyper-V Administrators]グループにアカウントを追加することで、管理者権限のないアカウントでも操作できるようになります。それにはでコンピュータの管理を起動し、【コンピューターの管理 (ローカル) → システム ツール → ローカル ユーザーとグループ → グループ】にある[Hyper-V Administrators]のプロパティを開き、[所属するメンバー]に対象のアカウントを追加します。山市良のえぬなんとかわーるど(アーカイブ): 忘れがちだけど HyperーV の操作には管理者権限が必要 (2015/12/01)

新規

一部のOSは簡単にインストールできるようクイック作成 (Quick Create) から提供されており、希望のOSがそれに含まれているならば、その機能で作成します。それには仮想マシンを何も選択していない状態で、メニューの【操作 → クイック作成】を選択します。Windows 10上でWindows 10無料試用版やUbuntuを動かそう! 「Hyper-V」のクイック作成でお手軽仮想マシンを作る - いまさら聞けないWindows 10のTips - 窓の杜 清水理史 (2018/11/05)

任意のOSをインストールするなら、仮想マシンを何も選択していない状態でメニューの【操作 → 新規 → 仮想マシン】を選択します。そうすると[仮想マシンの新規作成ウィザード]が開きますので、ウィザードの指示に従い作成します。Create a virtual machine in Hyper-V | Microsoft Learn

Windows 11をインストールするならば、そのシステム要件を満たすため[トラステッド プラットフォーム モジュールを有効にする]をチェックします。

仮想マシンの移動

対象の仮想マシンのコンテキストメニューの[移動]から、その仮想マシンに関するデータを移動できます。そのとき「'アクセスが拒否されました。' ('0x80070005')」として移行に失敗するならば、仮想マシンに関するデータへのアクセス権のあるアカウントでHyper-Vを起動し直して再試行します。

仮想マシンの状態やチェックポイントが意図したように表示されないならば、仮想マシンを何も選択していない状態で、メニューの【操作 → 最新の情報に更新】を実行します。

仮想マシンの起動

対象の仮想マシンのコンテキストメニューの[起動]から、その仮想マシンを起動できます。ただしこの状態では仮想マシンの画面は見えず操作もできないため、その必要があるならば[接続]します。

接続

仮想マシン接続 (Virtual Machine Connection) の実体はvmconnect.exeであり、接続方法には

  • 基本セッション モード (basic session mode)
  • 拡張セッション モード (enhanced Session mode)

の2種類があります。

基本セッション モード (basic session mode)

拡張セッション モード (enhanced Session mode)

ホストのデバイスやリソースを、ゲストへリダイレクトできます。仮想マシンを起動したときに拡張セッションでの接続を求めるダイアログが表示されたら、これを閉じることで基本セッションで接続できます。 「Hyper-V」の“拡張セッション”ってなに? 仮想マシンからホストPCのリソースを使おう - いまさら聞けないWindows 10のTips - 窓の杜 清水理史 (2018/11/14) Use local resources on Hyper-V with VMConnect | Microsoft Learn Windows 仮想マシンとデバイスを共有する | Microsoft Learn

利用条件

拡張セッション モードは、公式にはOSがWindows 8.1以降またはWindows Server 2012 R2以降で、リモート デスクトップ サービスが有効なゲストに対して利用できます。よってそれ以外では、xrdpなどで接続します。リモート接続エクスペリエンス - 生成とゲストでの HYPER-V 機能の互換性 | Microsoft Learn

拡張セッション モードを使用するには、[Hyper-V の設定]で[拡張セッション モード ポリシー]と[拡張セッション モード]が有効になっている必要があります。

仮想マシン接続で拡張セッションへの切り替えボタンがグレーアウトして押せないならば、利用できる状態になっていません。

VMConnect で Hyper-V でローカル リソースを使用する | Microsoft Learn

トラブル対処法

Ubuntuに拡張セッションでの接続を試みたものの何も表示されず、基本セッションに切り替えたときに

Oh no! Something has gone wrong.

A problem has occurred and the system can't recover. Please log out and try again.

と表示されるならば、[自動ログイン]を無効にします。それは設定の[ユーザー]の[認証とログイン]にあります。

終了

ゲストをホストから終了するには、下表の方法があります。

終了方法 動作 データ
停止 強制終了 未保存のデータは喪失
一時停止 CPUを停止 保持
シャットダウン ※1 ゲストOSへ終了を指示 OSが正常に終了すれば、データは残る
保存 メモリの状態を保存し停止 実行時の状態が残る

※1 ゲストで正常に処理されるならば、ゲスト上でのシャットダウンと同じ

チェックポイント (checkpoint)

かつてはスナップショットと呼ばれていた機能であり、VirtualBoxのスナップショットに相当します。 チェックポイントの使用 | Microsoft Learn 新しいHyper-Vは「チェックポイント」が変わる!:vNextに備えよ! 次期Windows Serverのココに注目(5)(1/3 ページ) - @IT 山市良 (2015/01/29)

自動チェックポイント (Automatic checkpoints) は仮想マシンの起動時にチェックポイントが作成、終了時にそれが削除される機能です。これにより作業中に不具合が発生しても、起動時の状態に戻せます。

Hyper-V マネージャーではチェックポイントのツリーが折りたたまれているために、1つしかないように見えることがあります。よってそのような状況では左端のアイコンを注視します。

チェックポイントの種類

  • 運用チェックポイント … メモリの状態を含めず保存。データの整合性チェックポイント
  • 標準チェックポイント … メモリの状態も含めて保存。アプリケーションの整合性チェックポイント

チェックポイントの適用

チェックポイントの状態に戻す処理です。対象のチェックポイントのコンテキストメニューを開き、[適用]を選択します。

エクスポート/インポート

エクスポート

対象の仮想マシンのコンテキストメニューの[エクスポート]から、その仮想マシンに関するデータを指定場所へコピーできます。仮想マシンをエクスポートする - 仮想マシンをエクスポートおよびインポートする | Microsoft Learn

インポート

仮想マシンを何も選択していない状態で、メニューの【操作 → 仮想マシンのインポート】からインポートできます。インポートする対象として、エクスポートしたフォルダを指定します。仮想マシンをインポートする - 仮想マシンをエクスポートおよびインポートする | Microsoft Learn

インポートの種類
種類 インポート方法 インポートに使用したファイル 複製
仮想マシンをインプレースで登録する 既存の仮想マシンを先に削除して、置き換える 削除や他のインポートに使用できない インポートできない
仮想マシンを復元する 既存の仮想マシンを先に削除して、置き換える 削除や他のインポートに使用できる 異なる環境へインポートできる
仮想マシンをコピーする 新規に登録する 削除や他のインポートに使用できる 同じ環境にインポートできる

[仮想マシンをコピーする]でインポートすることで、仮想マシンのクローンを作成できます。

ディスプレイ

仮想マシン接続で接続しているときにホストOS上での表示サイズを変更するには、ゲストOSの解像度を変更します。リモート デスクトップ接続では、接続時のダイアログで解像度を指定します。

ファイル共有

ホストのipconfigで仮想スイッチのIPアドレスを確認し、ゲストからはそのアドレスに対しSMBで接続できます。ホストへの接続には内部ネットワークに接続できる仮想スイッチが必要なため、ゲストのネットワーク アダプターにはそれを指定します。

複数のダウンロードサイトから、まとめて検索