本連載第4〜6回まで、3回に分けてHyper-Vの仮想マシンで設定可能な項目や詳細設定を見てきました。今回は、Hyper-Vの仮想マシン設定画面には表示されない、隠れた設定ともいえる「構成バージョン」について学び直します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Hyper-V」が初めて搭載された「Windows Server 2008」から、最新の「Windows Server 2025」までの間、Windows Serverは実に7回もバージョンアップされています。当然のことながら、Hyper-VもWindows Serverのバージョンアップとともに機能強化されてきました。
例えば、現在では当たり前の機能である「ライブマイグレーション」機能は、Windows Server 2008のHyper-Vでは実装されおらず、「Windows Server 2008 R2」のHyper-Vで実装された機能です。
また、本連載第6回でも触れた「チェックポイント」機能ですが、「運用チェックポイント」は「Windows Server 2016」のHyper-Vからの実装であり、「Windows Server 2012 R2」では「標準チェックポイント」のみが使用可能でした。
こうした新機能はHyper-Vホストでサポートされていれば、当然のことながらそのHyper-Vホスト上で作成された仮想マシンでも原則的には使用可能となります。
ここであえて「原則的には」と記述したのは理由があります。以下の画面1は、「Windows Server 2019」のHyper-V上で作成した仮想マシン「Test-VM01」で、標準チェックポイント設定を運用チェックポイントに変更した際のエラー画面になります。
Windows Server 2019のHyper-V上の仮想マシンであるにもかかわらず、運用チェックポイントが設定できない原因ですが、表示されているエラーには「仮想マシンがアップグレードされていないため設定変更できない」と記されています。
「何をアップグレードする必要があるのか」、というのが今回の主題である「構成バージョン」になります。
構成バージョンとは、仮想マシンがHyper-Vホストが提供する機能をどのバージョンまでサポートしているかを表すバージョン番号であり、Hyper-Vホストのバージョンごとに対応する構成バージョンが設定されています。
例えば、Windows Server 2019のHyper-Vにおいて、Hyper-Vの全機能を利用できる仮想マシンの構成バージョンは「9.0」です。この「9.0」というバージョンは、Windows Server 2019のHyper-V上で仮想マシンを新規作成する際、デフォルト(既定)で適用されます。
つまり、Windows Server 2019のHyper-V上で「Hyper-Vマネージャー」を使用して仮想マシンを作成、もしくはWindows PowerShell(以下、PowerShell)の「New-VM」コマンドレットで後述する「-Version」オプションを指定せずに仮想マシンを作成する場合、自動的に構成バージョン「9.0」の仮想マシンとなります。
New-VMコマンドレットの詳細は、別連載「Windows PowerShell基本Tips」の第119回を参照してください。
構成バージョンは、Hyper-Vマネージャーであれば仮想マシンの「要約」タブに表示されています(画面2)
PowerShellの「Get-VM」コマンドレットでは「Version」欄で確認できます(画面3)。
画面1で運用チェックポイントを設定できなかったTest-VM01の構成バージョンは、画面3で確認できる通り、「5.0」です。これは、Windows Server 2012 R2のHyper-Vで作成された仮想マシンの構成バージョンになります。
運用チェックポイントをサポートする構成バージョンは「6.2」以降であるため、仮想マシンの構成バージョンをアップグレードする必要がある、ということになります。
構成バージョンは、Hyper-Vに機能が追加されるたびにバージョンが上がっていくため、Windows Serverのバージョンアップとともに更新されていきます。また、各バージョンのHyper-Vではサポートされる構成バージョンが限定されるため、仮想マシンの構成バージョンを合わせることが必要になります。
現在稼働しているHyper-Vホストがサポートする構成バージョンを確認したい場合は、PowerShellの「Get-VMHostSupportedVersion」コマンドレットを使用します(画面4)。
Windows Server 2025のHyper-V環境でGet-VMHostSupportedVersionコマンドレットを実行すると、構成バージョン「8.0」からサポートされ、既定は「12.0」であることが分かります。
名前を参照すると、構成バージョン「8.0」はWindows Server 2016からサポートされており、「12.0」はWindows Server 2025でサポートされた構成バージョンであることも併せて確認できます。同じように、Windows Server 2019のHyper-V環境で確認した結果が画面5になります。
Windows Server 2019では、Windows Server 2012 R2のHyper-Vでサポートされる構成バージョン「5.0」が使用可能であることが分かります。画面4のWindows Server 2025のHyper-Vでは「8.0」未満は非サポートであり、それらの構成バージョンの仮想マシンをそのまま使用するためにはWindows Server 2019などのサポートされるHyper-Vを使用しなければなりません。
なお、各バージョンのWindows ServerのHyper-Vがサポートする構成バージョンは、以下のMicrosoft公式ドキュメントをご確認ください。
仮想マシンの構成バージョンによって、使用可能な機能に違いがあることは前述の通りです。どの機能がどの構成バージョンで使用できるのかは、Microsoft公式ドキュメントをご確認ください。
前述の例では運用チェックポイントを取り上げましたが、Windows Server 2025でサポートされた「GPUパーティション分割」は構成バージョン「12.0」がサポートされる最小構成バージョンとなります。つまり現時点では、GPUパーティション分割は、Windows Server 2025のHyper-Vでしか使用できない機能となります。
【注】GPUパーティション分割は、Windows ServerのHyper-VではWindows Server 2025からサポートされますが、Microsoftのインフラストラクチャソリューション「Azure Local」では「2311.2」からサポートされています。Azure Localの詳細は、以下のMicrosoft公式ドキュメントでご確認ください。
従って、Windows Server 2025のHyper-V上で構成バージョン「8.0」の仮想マシンを稼働させた場合、GPUパーティション分割や構成バージョン「8.3」以降でサポートされる機能は使用できません。機能をフルに使用するには、後述する「構成バージョンのアップグレード」を実施する必要があります。
仮想マシンの構成バージョンは、Hyper-Vマネージャーから簡単にアップグレードできます。
Hyper-Vマネージャーから停止状態の仮想マシンを選択し、右クリックメニューから「構成バージョンのアップグレード」を実行します(画面6)。もちろん、操作ウィンドウに表示されている「構成バージョンのアップグレード」を選択しても問題ありません。
構成バージョンのアップグレードに関する警告が表示されるので、問題がなければ「アップグレード」をクリックします(画面7)。以上でアップグレードが完了します。
PowerShellでアップグレードする場合は、「Update-VMVersion」コマンドレットを使用します(画面8)。
Hyper-Vマネージャーでのアップグレード作業と同様に警告が表示され、「Y」キーで応答することでアップグレードが実行されます。
画面8はWindows Server 2019のHyper-V環境のため、構成バージョン「5.0」は「9.0」にアップグレードされました。
なお、構成バージョンのアップグレードは、Hyper-Vマネージャー、PowerShellコマンドレットを問わず、“実行したHyper-Vホストの既定のバージョン”にアップグレードされます。バージョン指定をすることはできません。
構成バージョンアップグレード時には、警告として「以前のバージョンのみをサポートするHyper-Vホストで実行できない」と表示されます。
構成バージョンをダウングレードすることで実行可能になるのではないか、と思われるかもしれません。しかし、構成バージョンのアップグレードは不可逆であり、ダウングレードはできません。従って、構成バージョンのアップグレードは、以前のバージョンのHyper-Vホストに移動する可能性がないことを確認の上、慎重に実施してください。
仮想マシンをHyper-Vマネージャーから新規作成した場合、仮想マシンの構成バージョンはHyper-Vホストの既定の構成バージョンで作成されます。
Hyper-Vホストのサポート構成バージョンと仮想マシンの構成バージョンがずれる理由としては、以下のものが考えられます。
(1)New-VMコマンドレットで仮想マシンを作成する際、「-Version」オプションで構成バージョンを指定した
(2)古いHyper-Vホストで作成した仮想マシンをインポートした
(1)については、別連載「Windows PowerShell基本Tips」の第119回(New-VMコマンドレット)では触れなかった「-Version」オプションを使用することで、あえて以前のバージョンのHyper-Vホストでも動作可能な仮想マシンを作成できます(画面9)。
(2)のインポートについては、仮想マシンのバックアップとリストアに関する回で詳細に解説する予定です。簡単に説明しておくと、別のHyper-Vホストで作成した仮想マシンのファイル群をコピーし、そのHyper-Vホスト上で仮想マシンを動作可能にする作業がインポートになります。
そのため、例えばWindows Server 2016で作成した仮想マシンをWindows Server 2025にインポートした場合、構成バージョンは「8.0」でインポートされます。
構成バージョンは、Hyper-Vホストのサポートするバージョンの既定値にそろえることが推奨となりますが、運用環境に合わせて柔軟に対応することも可能です。
Hyper-Vホスト上での仮想マシンは、構成ファイルと仮想ハードディスクから成り立っており、保存先フォルダは本連載第2回で解説したHyper-Vホストの既定のフォルダ、もしくは本連載第3回で解説した仮想マシン作成時に指定するフォルダに格納されます。
構成バージョン「5.0」の仮想マシンの構成ファイルを参照すると、以下の画面10のようにXML形式のテキストファイルとして保管されており、テキストエディタで参照可能です。
対して構成バージョン「6.2」以降の仮想マシンは、拡張子「.vmcx」というバイナリファイルで保存されるように変更されています(画面11)。
この変更により、仮想マシンの構成ファイルの読み書きについて高速化が図られ、また構成ファイルが保管されている記憶域に障害が起こった際、データ破損の確率を低減する効果があるとされています。そういった意味でも、構成バージョンはできるだけ新しいバージョンを採用すべきでしょう。
Microsoft MVP for Cloud and Datacenter Management(2012-2025)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.