Disk2vhd ツールを利用した P2V 化
目次
本記事はマイクロソフト社員によって公開されております。
いつも弊社製品をご利用いただきまして誠にありがとうございます。Windows プラットフォーム サポートの栗木です。
今回は、Disk2vhd ツール を利用し、物理環境の物理ディスクから Hyper-V で使用できる仮想ディスクを作成する P2V 化についてご紹介いたします。仮想環境で実行することにより、ハードウェア要因の問題を切り分けられたり、問題を引き起こしている可能性のあるソフトウェアのアンインストールが容易になり、スムーズに問題を解決できる可能性がございます。
Disk2vhd ツールは VSS に対応しているため、OS を起動させた状態で実行可能ではございますが、VSS に対応していないアプリケーションや実行時の負荷などを考慮すると、Windows PE/RE (プレインストール環境/回復環境)で実施いただいたほうが安全ため、Windows PE/RE での P2V 化の手順をご紹介いたします。回復環境が利用できない場合は、後述する 回復環境が利用できない環境での変換方法 より仮想ディスクを作成してください。
Windows プレインストール環境 (Windows PE)
https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/winpe-intro
Windows 回復環境 (Windows RE)
https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/windows-recovery-environment--windows-re--technical-reference
注意点:
本記事は検証目的として Disk2vhd による P2V 化手順をご案内しております。Disk2vhd ツールは Windows 標準ツールではございませんのでサポート内容については使用許諾を確認し、ご理解いただいた上でご利用ください。
P2V 化の流れ
- ドライブにラベル名を付与
- Disk2vhd ツールの zip ファイルをダウンロード・展開
- Windows PE (WinPE) メディアの作成
- Disk2vhd ツールで仮想ディスクを作成
- Hyper-V で起動
1. ドライブにラベル名を付与
Windows PE/RE で起動すると、ドライブ レターが通常の OS 起動時と異なる可能性がございます。そのため、ラベル名を変更し、ラベル名から判別できるようにします。すでに OS が通常起動できないエラー状態にある場合は、こちらの手順はできませんので、スキップしてください。
2. Disk2vhd ツールの zip ファイルをダウンロード・展開
以下の Web サイトから Disk2vhd ツールをダウンロードし、USB メモリ等の外部ストレージに展開します。
Disk2vhd - Sysinternals | Microsoft Learn
https://learn.microsoft.com/en-us/sysinternals/downloads/disk2vhd
3. Windows PE (WinPE) メディアの作成
P2V 化したいシステムに Windows RE がインストールされている場合(A)や Windows OS のインストール メディアがある場合(B)は、以下の方法で、Windows RE を起動できます。(A)、(B)に該当する場合は、Windows PE (WinPE) メディアの作成をする必要ありませんのでこちらの手順はスキップできます。
A. コマンドプロンプト(管理者権限)から Windows RE を起動
reagentc /boottore && shutdown /r /t 0 /f
B. インストール メディアから コンピューターを修復する を選択し、Windows RE を起動
上記の方法で、Windows RE を起動できない場合は、次の手順より、Windows PE (WinPE) メディアを作成してください。
1. 作業用の Windows 10/11 環境にて Windows ADK をインストール
Windows ADK のダウンロードとインストール
https://learn.microsoft.com/ja-jp/windows-hardware/get-started/adk-install
2. 以下の Web サイトを参考に WinPE のブートメディアを作成
起動可能な Windows PE メディアの作成
https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/winpe-create-usb-bootable-drive
4. Disk2vhd ツールで仮想ディスクを作成
1. Windows PE/RE で、コマンド プロンプトを実行
Windows PE は、自動的にコマンド プロンプトが起動し、wpeinit の自動実行が完了するとプロンプトが戻ります。プロンプトが戻るまで、5~10 分程かかる場合がございます。
Windows RE では、トラブルシューティング -> コマンド プロンプトを選択することにより、コマンドプロンプトを実行できます。
2. Disk2vhd ツールを実行し、設定を変更
※実行時には使用許諾が表示されますので、同意 (Agree) していただいた上でご利用ください。
・ “Use Vhdx” のチェックをつけます。
・ “Use Volume Shadow Copy” のチェックを外します。
・ “VHD File name” にvhdx の保存先とファイル名を指定します。
・ 仮想ディスクに変換したいボリュームにチェックをつけます。
名前が、\\?\Volume から始まるボリュームがある場合は、必ずチェックをお願いします。上述いたしましたが、OS を通常起動した場合とドライブ レターが異なる場合がありますので Label を参考に必要なボリュームを選択してください。例えば、システム ディスクである C ドライブが D ドライブにアサインされていることがあります。
出力先にネットワークドライブを指定したい場合は、後述の ネットワークドライブにドライブレターを割り当てる方法 を参考に IP アドレスの設定とファイルサーバーへの接続を先に実行してください。
3. Create をクリックして、仮想ディスクを作成
選択したボリュームが複数の物理ディスクにある場合は、複数の仮想ディスクが連番のファイル名で作成されます。
正常に完了しましたら、Close をクリックし、ツールを終了させ、コマンド プロンプトで wpeutil shutdown
を実行してシステムをシャットダウンします。
5. Hyper-V で起動
BIOS 環境
Disk2vhd ツールは、BIOS 環境用に作られているため、もともとの物理端末が BIOS 環境であれば、次の PowerShell コマンドにより、Disk2vhd で作成した仮想ディスクを指定し、Hyper-V 仮想マシンを作成・起動することができます。メモリのサイズやプロセッサーの数は、ご希望の値に変更してください。
New-VM -Name "TestVM" -MemoryStartupBytes 4GB -Generation 1 -VHDPath "D:\path\to\vhd\test.vhdx"
Set-VM -Name "TestVM" -StaticMemory -ProcessorCount 4
Start-VM -Name "TestVM"
New-VM (Hyper-V) | Microsoft Learn
https://learn.microsoft.com/en-us/powershell/module/hyper-v/new-vm
Set-VM (Hyper-V) | Microsoft Learn
https://learn.microsoft.com/en-us/powershell/module/hyper-v/set-vm
Start-VM (Hyper-V) | Microsoft Learn
https://learn.microsoft.com/ja-jp/powershell/module/hyper-v/start-vm
UEFI 環境
UEFI 環境の場合は、そのままの状態では OS の起動ができないことがございます。その場合には、Hyper-V 仮想マシンを作成した後に、OS が起動できるようにシステム パーティションの初期化処理を Windows PE/RE で実施する必要があります。
1. Hyper-V 仮想マシンを作成
第 2 世代の仮想マシンとして、Disk2vhd で作成した仮想ディスクを指定して、Hyper-V 仮想マシンを作成・起動します。
New-VM -Name "TestVM" -MemoryStartupBytes 4GB -Generation 2 -VHDPath "D:\path\to\vhd\test.vhdx"
Set-VM -Name "TestVM" -StaticMemory -ProcessorCount 4
Start-VM -Name "TestVM"
仮想マシン起動後に、以下のような画面が表示されている場合は、システム パーティションの初期化が必要なので、次の手順に進んでください。
2. Windows PE/RE で起動
Windows OS のインストール メディア の ISO ファイル、または Windows PE の ISO ファイルを仮想マシンのディスク ドライブに追加し、起動します。ISO ファイルがない場合は、上述したWindows PE (WinPE) メディアの作成 へ戻り、ISO ファイルを作成してください。
Add-VMDvdDrive -VMName "TestVM" -Path "D:\path\to\InstallMedia\or\WinPE\disk.iso"
Start-VM -Name "TestVM"
仮想マシン起動時に “Press any key to boot from CD or DVD” のメッセージが表示されるので、任意のキー入力してください。
3. コマンド プロンプトから diskpart ツールを起動
Windows PE メディアから起動した場合は、自動的にコマンド プロンプトが起動します。Windows OS のインストール メディアから起動した場合は、Shift+F10 キーを入力するとコマンド プロンプトを起動できます。
コマンド プロンプトが起動したら、diskpart
を実行してください。
4. diskpart ツールでシステム パーティションの初期化
まず、list disk
コマンドで現在のディスクを確認し、sel disk (ディスク番号)
を実行し、ディスクを選択します。
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 238 GB 0 B *
DISKPART> sel disk 0
Disk 0 is now the selected disk.
次に list part
コマンドでシステム パーティションを確認し、sel part (パーティション番号)
コマンドを実行し、システム パーティションを選択します。
DISKPART> list part
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 System 100 MB 1024 KB
Partition 2 Reserved 16 MB 101 MB
Partition 3 Primary 127 GB 117 MB
Partition 4 Recovery 563 MB 127 GB
DISKPART> sel part 1
Partition 1 is now the selected partition.
format quick fs=fat32 label="System"
コマンドを実行して、パーティションをフォーマットします。
DISKPART> format quick fs=fat32 label="System"
100 percent completed
DiskPart successfully formatted the volume.
assign
コマンドでフォーマットしたボリュームにドライブレターを割り当て、list vol
コマンドを実行して、システム ボリュームのドライブ レターを確認します。この例では、E ドライブと確認できます。
DISKPART> assign
DiskPart successfully assigned the drive letter or mount point.
DISKPART> list vol
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ------------ ----- ---------- ------- --------- -------
Volume 0 D DVD_ROM UDF DVD-ROM 295 MB Healthy
Volume 1 C OS NTFS Partition 127 GB Healthy
Volume 2 NTFS Partition 563 MB Healthy
* Volume 3 E SYSTEM FAT32 Partition 100 MB Healthy Hidden
exit
コマンドで diskpart ツールを終了します。
DISKPART> exit
Leaving DiskPart...
5. ブート ファイルの作成
コマンド プロンプトで bcdboot (Windows のドライブレター)\Windows /s (システム パーティションのドライブ レター):
でブート ファイルを作成します。
X:\windows\system32>bcdboot c:\Windows /s e:
Boot files successfully created.
これで作業は完了したので、wpeutil shutdown
コマンドを実行してシステムをシャットダウンします。
ISO イメージをアンマウントし、Hyper-V 仮想マシンが起動できるか確認してください。
回復環境が利用できない環境での変換方法
1. 以下の Web サイトから Disk2vhd ツールをダウンロードし、任意のパスに展開します。
Disk2vhd - Sysinternals | Microsoft Learn
https://learn.microsoft.com/en-us/sysinternals/downloads/disk2vhd
2. disk2vhd64.exe を実行し、設定を変更
※実行時には使用許諾が表示されますので、同意 (Agree) していただいた上でご利用ください。
・ “Use Vhdx” のチェックをつけます。
・ “Use Volume Shadow Copy” のチェックをつけます。
・ “VHD File name” にvhdx の保存先とファイル名を指定します。
・ 仮想ディスクに変換したいボリュームにチェックをつけます。
名前が、\\?\Volume から始まるボリュームがある場合は、必ずチェックをお願いします。
3. Create をクリックして、仮想ディスクを作成
選択したボリュームが複数の物理ディスクにある場合は、複数の仮想ディスクが連番のファイル名で作成されます。 正常に完了しましたら、Close をクリックし、ツールを終了させます。
Windows PE/PE でネットワークドライブにドライブレターを割り当てる方法
ネットワークドライブに保存するためには、IP アドレスの設定を行った上で、接続を行います。ただし、システムに搭載されているネットワークインターフェースカード (NIC) が WinPE に含まれている標準ドライバーで認識できる必要がございます。認識されない場合は、個別にハードウェアベンダー様より提供されているドライバーを適用した状態で Windows PE メディアを作成してください。
1. コマンドプロンプトにて netsh コマンドを利用して IP アドレスを設定
netsh int ipv4 show int ※ 対象のネットワークアダプターの Idx の番号を確認します。 netsh int ipv4 set address “Idx の番号” static “IP アドレス” “サブネットマスク” “ゲートウェイ” “メトリック(省略可)”
2. Net コマンドにてファイルサーバーに接続
net use “ドライブ文字:” “共有パス” /user:“接続するアカウント” “パスワード”
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。