
かつて山市良と呼ばれたおじさんのブログ
セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ vol.68 VMのゲストOSイメージで物理サーバーを起動して評価する|Windows Server 2025大特集(5)
2024年12月12日配信
2025年04月23日更新
執筆者:山内 和朗
Windows Server 2025をHyper-Vの仮想マシン(VM)で評価していて、物理ハードウェアに依存する機能を試してみたいという場合、VM環境ではそれを実現できないことがあります。例えば、Windows Server 2025から利用可能になったWi-Fi接続やBluetooth接続などです。物理環境にインストールしたくないけど、試してみたい、そんなときに、「ネイティブブートVHDX」を使用すると便利です。
「セイテク・シス管道場 第3回」開催のお知らせ: 2025年1月21日に、オンラインセミナー「セイテク・シス管道場 第3回」を開催します。現在、連載中のWindows Server 2025の評価に役立つ情報をデモ満載でお送りする予定です。このセミナーは終了しました。アーカイブ視聴の申し込みはこちらから。 |
Windows 7およびWindows Server 2008 R2から利用可能になった「ネイティブブートVHDX(Native-boot VHDX)」という知る人ぞ知る機能があります。この機能は、ローカルマウントしたVHD/VHDXにWindowsをインストールして物理マシンを起動したり、VMで作成したVHD/VHDXイメージをブート構成データ(BCD)に登録して物理マシンを起動したりできるものです(※VHD形式の使用は現在サポートされていません)。
ネイティブブートVHDXでは、起動したOS環境で休止状態がサポートされない、BitLockerドライブ暗号化を使用できない、OSのインプレースアップグレードができない、BitLockerドライブ暗号化で保護されたドライブ上にはVHDXファイルを配置できないなどいくつか制約事項はありますが、それ以外はハードディスクやSSDにインストールされたOS環境と変わりません。OSのインストールを含むVHDXファイルを作成済みであれば、インストール作業は不要ですし、削除も簡単です。
VHDX (ネイティブ ブート) による Windows の展開|Windows ハードウェア開発者(Microsoft Learn)
今ここに、Windows Server 2022を実行する物理サーバー(コンピュータ名: WS2022HV01)のHyper-V VMにゲストOSとしてWindows Server 2025 Standard Evaluation(180日評価版)日本語版を新規インストールした環境があります。このVMのVHDXファイルを使用して、物理サーバーを起動してみましょう(画面1)。
画面1 今回の目標は、現在、Windows Server 2022の物理サーバーで動作しているHyper-V VMのWindows Server 2025のイメージを利用して、この物理サーバーを起動すること
最初に前準備として、Hyper-V VMのゲストOS(Windows Server 2025)側で新しいボリュームの自動マウント機能を無効にしてからシャットダウンしておきます。それには、コマンドプロンプト(cmd.exe)を開いて、次のコマンドラインを実行します(画面2)。
C:¥> DISKPART DISKPART> AUTOMOUNT DISABLE DISKPART> EXIT C:¥> shutdown /s /t 0 |
この前準備は、新しいバージョンのWindowsのファイルシステムの変更が、物理環境に影響を与えるのを防止するために重要なことです。このバージョンでは確認していませんが、新しいバージョンのWindowsで起動したときに、ReFSボリュームのバージョンが自動的にアップグレードされ、旧バージョンで認識されなくなるという経験があります。*1 そういった問題を回避するために、物理サーバーのローカルディスクが自動マウントされないようににする対策です。
画面2 新しいボリュームの自動マウントを無効にしてからシャットダウンする
*1 Windowsは読み書き可能な状態でReFSボリュームをマウントすると、既定のReFSバージョンに自動的にアップグレードします。読み取り専用でマウントすれば、旧バージョンのWindowsのReFSボリュームのReFSバージョンがアップグレードされることはありません。ReFSのバージョンは、Windows Server 2016のReFS 3.1、Windows Server 2019のReFS 3.4、Windows Server 2022のReFS 3.7、Windows Server 2025のReFS 3.14のように、Windowsのバージョンとともに新しいバージョンに更新されてきました(ReFSのバージョンは、fsutil fsinfo refsinfo ドライブ文字: で確認可能)。NTFSボリュームでは通常、そのような問題は発生しません。
Hyper-V VMを停止したら、VHDXファイルのコピーを作成するか、そのVHDXファイルを親とする差分ディスクを作成して、十分な空き領域のあるボリューム上のパスに配置します(画面3)。このとき、VHDXファイルは、Windowsのインボックスドライバーでアクセスできる場所(C:ドライブ上のパスなど)に配置してください(差分ディスクを使用する場合は、親ディスクを含めて)。VHDXファイルは容量固定/容量可変/差分のすべてに対応していますが、容量可変/差分タイプのVHDXファイルを利用する場合は、現在の容量ではなく、ディスクに割り当てた最大サイズに拡張しても十分な空き領域がある必要があります。
画面3 Hyper-V VMのVHDXファイルのコピーを作成するか、それを親とする差分ディスクを作成して、十分な空き領域のある場所に配置する
最後に、コマンドプロンプト(cmd.exe)を開いて、BCDEDITコマンドでネイティブブートVHDXのエントリを追加し、物理サーバーを再起動します(画面4)。{XXXXXXXX-...-XXXXXXXXXXXX}の部分はBCDEDIT /copy実行時に返されたGUID(identifier)に、VHDXファイルのパスは実際のパスに置き換えてください。VHDXファイルのパスを指定する際には、ドライブ文字:を[]で囲むことが重要です。これにより、ドライブ文字への依存性がなくなります。
C:¥> BCDEDIT /copy {current} /d "Windows Server 2025 Evaluation (VHD)" エントリは {XXXXXXXX-...-XXXXXXXXXXXX} に正常にコピーされました。 C:¥> BCDEDIT /set {XXXXXXXX-...-XXXXXXXXXXXX} device vhd="[C:]¥temp¥ws2025vm01_childvm01.vhdx" C:¥> BCDEDIT /set {XXXXXXXX-...-XXXXXXXXXXXX} osdevice vhd="[C:]¥temp¥ws2025vm01_childvm01.vhdx" |
画面4 BCDEDITコマンドでネイティブブートVHDX用のエントリを登録し、物理サーバーを再起動する
ブート構成データ(BCD)にネイティブブートVHDXのブートエントリを追加したので、次回起動時にはローカルコンソールに「Windowsブートマネージャー」が表示されます。ネイティブブートVHDXのエントリを選択すると、初回起動時に「デバイスを準備しています(XX%)」と表示され、新たに検出されたデバイスのインストールが行われて一度再起動されます。この初回再起動後、再びWindowsブートマネージャーが表示されたら、再度、ネイティブブートVHDXのエントリを選択してください。
なお、Windows 10/11とのマルチブート環境の場合は青い背景(タッチパネル対応)の「オペレーティングシステムの選択」画面が表示されます。ネイティブブートVHDX用のエントリを選択して起動すると、VHDXファイルがローカルマウントされてそこからOSが起動するようになります(画面5)。なお、容量可変/差分タイプのVHDXファイルの場合、最大サイズまで拡張できるだけの十分な空き領域がないと、STOPエラー「VHD BOOT HOST VOLUME NOT ENOUGH SPACE」で起動に失敗します(画面6)。その他にも、環境によって(BitLockerドライブ暗号化が有効になっている場所にVHDXファイルを配置した場合など)はSTOPエラー「VHD BOOT INITIALIZATION FAILED」で起動に失敗することがあります。ネイティブブートVHDXは必ず成功するわけではないことに留意してください。無理に解決しようとせず、あきらめて環境をクリーンアップすることをお勧めします。
画面5 「Windowsブートマネージャー」でネイティブブートVHDX用のエントリを選択して起動する
画面6 空き領域不足でネイティブブートVHDXによる起動に失敗したときのブルースクリーン(BSoD)画面
画面7は、Hyper-V VMのVHDXファイルからネイティブブートVHDXを使用して物理サーバーを起動したときのOS環境です。「ディスクの管理」スナップインで確認すると、VHDXファイルがローカルマウントされているのが分かります(ディスクのアイコンが水色)。また、自動マウントを無効にしておいたので、物理サーバーのローカルディスクが自動マウントされることがなく、それにより物理環境を誤って変更(破壊)してしまうこともありません。「デバイスマネージャー」を確認すると、複数のデバイスがエラーとなっていますが、これは物理サーバー用のデバイスドライバーをインストールすることで解消できるでしょう。デバイスドライバーを入手すればよいのですが、元々のC:ドライブのパーティションを任意のドライブ文字マウントして(NTFSボリュームなので問題はありません)、エラーとなっているデバイスに対して「ドライバーの更新」を実行し、「コンピューターを参照してドライバーを検索」で「マウント先ドライブ文字:¥Windows¥System32¥DriverStore」から検索してインストールするのが早いです。エラーを解消できるかどうかは、今後、この物理サーバーをWindows Server 2025にアップグレードできるかどうかの判断材料になるはずです。
画面7 ネイティブブートVHDXで起動したWindows Server 2025.物理ハードウェアは、先ほどまでWindows Server 2022が動作していた環境と同じ
Windows Server 2025の物理サーバーでの試用が終わったら、ネイティブブートVHDXの環境は簡単に削除されます。現在、ネイティブブートVHDXで起動した状態からであれば、次のコマンドラインで完了します。
C:¥> bcdedit /delete {current} C:¥> shutdown /r /t 0 |
ネイティブブートVHDXで起動していない場合、つまり、元々インストールされていた環境で起動している場合は、次のように実行します。bcdeditコマンドでネイティブブートVHDXのGUID(identifier)を確認した上で、次のコマンドラインを実行します。
C:¥> bcdedit ... Windows ブート ローダー -------------------------------- ... |
新規インストールでネイティブブートVHDX環境を構築するには
ネイティブブートVHDXは、既存のWindowsインストールを壊すことなく、最新OSを物理マシンで評価でき、簡単に削除できるので便利です。既にWindowsがインストールされている環境(例えばWindows 11デバイス、ただしVHDXファイルの配置先ではBitLockerドライブ暗号化が無効である必要があります)に、新規インストール時にネイティブブートVHDX環境を構成してインストールすることも可能です。それには、Windows Server 2025のインストールメディア(DVDまたはブータブルUSBメディア)で物理マシンを起動し、「Windows Serverセットアップ」が開始したら「Shift+F10」キーを押してコマンドプロンプトを開きます。
コマンドプロプトでは、ローカルディスクの十分に空きのある場所を確認し、次のようにDISKPARTコマンドを実行してVHDXファイルを作成し、アタッチします。この例は、C:のルートに容量可変タイプの40GBディスクを作成しています。
「Windows Server セットアップ」に戻り、「セットアップ オプションの選択」まで進んだら、「セットアップの以前のバージョン」に切り替えます。このまま新しいセットアップで進めると、再起動直前に「Windows Server のインストールが失敗しました」と表示され失敗することを確認しています。
セットアップの以前のバージョンで通常通り新規インストールを進めます。ただし、「Windows Serverのインストール先を指定してください。」のページでは、VHDXファイルの割り当てたディスクサイズを参考に、VHDXファイルの領域(ドライブ # の割り当てられていない領域)を選択することを忘れないでください。これで、ネイティブブートVHDX環境にWindows Server 2025がインストールされます。
なお、この方法でインストールすると、最後にインストールしたWindows Server 2025(Windows Server)が既定のブート選択になるため、元のWindows 11で起動したい場合は、起動時の「Windowsブートマネージャー」で30秒以内に選択してください。
|
Windows Server 2025大特集(1)|...|(5)