以前のエントリでVHDXをProxmoxにインポートしましたが、その逆をやってみます。
結論
qemu-img convertコマンドを使うことで、気軽にHyper-VとProxmoxの相互運用が可能とわかりました。
環境
ほぼ初期状態のWin11のイメージ(VM102)で、64GBのディスクを使用します。
qcow2のサイズ確認
.sh
cd /var/lib/vz/images/102
ls -lh
total 15G
-rw-r----- 1 root root 65G Jun 13 19:14 vm-102-disk-0.qcow2
ダイナミックディスクのため、65GBの容量のうち15GB使用中でした。
変換
.sh
time qemu-img convert -p -f qcow2 -O vhdx vm-102-disk-0.qcow2 win11-onedrive.vhdx
31秒での変換となりました。とても早いです。
(100.00/100%)
real 0m31.075s
user 0m1.266s
sys 0m10.909s
VHDXをHyper-Vでマウント
VHDのタイプ、実使用サイズ、OS上のサイズをねんのため確認します。
.ps1
Get-VHD -Path D:\win11-onedrive.vhdx |
Select-Object -Property vhdtype,filesize,@{
label='OS_Disk_Size'
expression={($_.size/1GB).ToString('F2')}
}
VhdType FileSize OS_Disk_Size
------- -------- ------------
Dynamic 14973665280 64.00
まとめ
- qemu-img convertコマンドを使うことで、気軽にHyper-VとProxmoxの相互運用が可能とわかりました。
- 今回は動的VHDXでしたが、固定にできるかはもう少し調査が必要でした。
参考にさせていただいたサイト
How to Convert Vhd/Vhdx to Qcow2 to Migrate Hyper-V to KVM?
https://www.vinchin.com/en/blog/convert-vhd-vhdx-to-qcow2.html
Get-VHD Reference Module: Hyper-V
https://learn.microsoft.com/ja-jp/powershell/module/hyper-v/get-vhd?view=windowsserver2022-ps