Hyper-V から Proxmox への仮想マシンの移行方法:ステップバイステップガイド
Proxmox VEは、あらゆる規模の組織にとって信頼性の高い仮想環境ですが、他の仮想化ソリューションからProxmox VEへ仮想マシンを移行するのは困難な場合があります。最新バージョンでは、ProxmoxはVMware ESXiからProxmox VEへの移行を部分的に自動化するウィザードを追加しました。 しかし、Hyper-VからProxmoxへの移行には手動での作業が必要です。このブログ記事では、Hyper-VからProxmoxへのVM移行の詳細な手順と、移行の設定方法について解説します。
移行に向けた Microsoft Hyper-V 仮想マシンの準備
Proxmox VE への移行に備えて環境を整えるには、まず移行予定の Hyper-V VM のゲスト OS に VirtIO ドライバーをインストールする必要があります。VirtIO ドライバーは、Proxmox VM の仮想デバイス用のドライバーセットであり、パフォーマンスとユーザーエクスペリエンスを向上させます。これは、 VMware ToolsProxmoxホスト上でVMを起動した後に問題が発生するのを防ぐため、移行プロセスを開始する前にVirtIOドライバをインストールする必要があります。
VirtIOドライバをインストールするには:
- をダウンロード 最新の安定版VirtIOドライバー または 最新のISO ~から構築する 公式情報源また、このISOイメージはQEMUゲストエージェントのインストールにも必要です。
- VirtIOドライバーを含むダウンロードしたISOイメージを、ソースとなるHyper-V仮想マシンの仮想CD/DVDドライブに挿入します。この例におけるソースVMの名前は Win10テスト (ゲストOSはWindows 10です)。これは、20 GBのVHDX仮想ディスクを1つ持つGeneration 2 VMです(動的ディスクで、事前割り当てはされていません。これは シンプロビジョニング (ディスク)にオペレーティングシステム(OS)とデータが格納されている。
- 開く
Hyper-V Manager. Hyper-V から Proxmox VE へ移行したい仮想マシンを右クリックし、コンテキストメニューでSettings.
- の左ペインで VMの設定 ウィンドウで、[
DVD Driveオプション。右側のペインで、[クリック]Image file、ヒットBrowseそして、VirtIOドライバーのイメージファイルを選択します。この例では、ファイル名はvirtio-win-0.1.240.isoクリック
OK設定を保存するには。
- ソースVMを起動し、ネイティブHyper-Vを使用してそのVMに接続します VMConnect ツール。VMを右クリックし、[
Connect. - Windows エクスプローラーを開く (このPC) ゲストOSで、ISOイメージが挿入されているDVDドライブを開きます。DVDイメージのルートフォルダにある、Windows用のVirtIOドライバのインストールファイルを探します。. 内のインストーラファイルを選択します。MSI お使いのWindowsのバージョンに応じてフォーマットが異なります(
virtio-win-gt-x64.msiまたはvirtio-win-gt-x86.msi).
- お使いのWindowsのバージョン(64ビットまたは32ビット)に対応した実行ファイルを実行し、インストールウィザードの指示に従ってVirtIOドライバーをインストールしてください。
- インストール QEMU ゲストエージェント. インストーラーは、VirtIOドライバーを含むISOイメージ内の
guest-agentディレクトリ。お使いのWindowsバージョンに対応したインストーラーファイルを実行してください(当方ではqemu-ga-x84_64.msi(ゲストOSとしてWindows 10 64ビットを使用しているため)。
- 次の PowerShell コマンドを使用して、ソースとなる Hyper-V 仮想マシンのゲスト OS でゲストエージェントが実行されていることを確認してください:
Get-Service QEMU-GA
また、Windowsのグラフィカルユーザーインターフェースで、QEMUゲストエージェントサービスの状態を確認することもできます。
services.mscスナップイン。を右クリックしてMy ComputerまたはThis PCアイコンをクリックManageそして、その コンピュータの管理 ウィンドウで、[移動] を選択し、Services and Applications>Services. 確認してくださいQEMU Guest Agentサービス – このサービスは、automaticスタートアップの種類。
- Hyper-V ホスト上のソース VM をシャットダウンします。
- 仮想マシンに チェックポイント (スナップショット)がある場合は、それらを削除してください。この例の仮想マシンにはチェックポイントがありません。
Hyper-V 仮想マシンのエクスポート
Hyper-V から Proxmox VE へ移行したいソースの Hyper-V VM をエクスポートするには、 right-click VMを選択してクリック Export コンテキストメニューで。

エクスポートしたVMのファイルを保存する場所を指定し、[]をクリックします Export.

ファイルは次の場所にエクスポートされます H:エクスポート済み この例では、Hyper-V ホスト上で。
VMファイルをProxmoxサーバーに転送する
エクスポートされたHyper-V仮想マシンの仮想ディスクをコピーする (VHD または VHDX) を Proxmox ホストに接続します。仮想ディスクは Virtual Hard Disks エクスポートされたVMのサブディレクトリ(VMのエクスポート時に指定されたディレクトリ内)。使用方法: WinSCPSSH経由で動作するSCPおよびSFTPクライアントは、WindowsマシンからLinuxマシン(Proxmoxホストを含む)へファイルをコピーするのに便利です。
- WinSCPで新しいセッションを作成し、Proxmoxホストにログインしてください。
- エクスポートしたHyper-V仮想マシンのVHDまたはVHDX仮想ディスクをProxmoxホストにコピーします。ドラッグ&ドロップするだけで & WinSCPにファイルをドラッグ&ドロップします。

- Proxmoxホスト上のHyper-V仮想マシンのコピーされた仮想ディスクを確認し、ファイルに整合性があり、破損していないことを確認してください。Proxmoxホストでコンソール(ターミナル)を開き、次のコマンドを実行してください:
qemu-img check -r all /home/user1/Downloads/Win10test.vhdx
Proxmox で新しい仮想マシンを作成する
Proxmoxで新しいVMを作成します。Proxmox VEのWebインターフェースを使用して行うことができます。
- [ ] 内の Proxmox ホストを選択してください データセンター,
right-clickそれを選んでクリックCreate VMコンテキストメニューから。この新しいVMの設定を行い、移行プロセスでインポートした仮想ディスクを使用するようにします。
- Proxmoxの仮想マシン作成ウィザードが開きます。
General. VM名を入力してください(例:Win10-migrated)。VM IDの値はデフォルトのままにしておいても構いません。今回の例では、VM IDは101です。OS. 選択 いかなるメディアも使用しないでください. ゲストOSの種類: Microsoft Windows; バージョン: 10/2016/2019.System. その ファームウェア セクションで、[選択] をクリックしますOVMF (UEFI)BIOS。この場合、そのデバイスに基づいてEFIディスクを追加する必要があります。q35また、(ソースVMのように)仮想TPMがない場合、VirtIO SCSI singleウィザードの提案通り、SCSIコントローラとして選択しました。Gen-2 Hyper-V VMを移行するため、UEFIを選択しました。Disks. デフォルトのパラメータはそのままにし、仮想ディスクのサイズを1 GBに設定してください(これは新しいVMを作成するために使用する一時的な仮想ディスクであり、後で削除します)。CPU, Memory, Network: 任意の値を選択してください。ソースVMと同じCPUおよびメモリを設定することも可能です。

- 新しいProxmox VMが作成されたら、そのVMに移動してください
Hardware設定で、先ほど作成した1GBの一時的な仮想ハードディスクを選択し、Hard Disk (ide0)この場合は、[クリック]Detach. 仮想ディスクを取り外した後、ディスク名はUnused Disk 0私たちの場合。
- 1 GBの一時仮想ディスクを削除します。[
Unused Disk 0をクリックしてRemove.
VHDX ファイルを QCOW2 形式に変換する
Proxmox ホスト上の Hyper-V 仮想ディスク (VHD または VHDX) を、Proxmox 独自の (KVM) 形式に変換して、より多くの機能(シンプロビジョニングなど)を利用できるようにします。Proxmox ホストでコンソール(ターミナル)を開き、root 権限で次のコマンドを実行します:
qemu-img convert -f vhdx -O qcow2 -o preallocation=off /var/lib/vz/dump/disk.vhdx /var/lib/vz/images/VMID/disk.qcow2
場所:
-f vhdx 入力形式(VHDX)を指定するために使用されます。
-O qcow2 は、出力形式(QCOW2)を指定するために使用されます。
-o preallocation=off – 宛先の仮想ディスクファイルに対してシンプロビジョニングを有効にする(ディスクは実際のデータ量に応じた容量のみを占有する)。
/var/lib/vz/dump/disk.vhdx がソースのVHDXファイルです。
/var/lib/vz/images/VMID/disk.qcow2 は保存先です(VMIDをProxmox上の実際のVM IDに置き換えてください)。
この例では、変換するための正確なコマンドは Hyper-V to Proxmox 仮想ディスク形式(VHDX から QCOW2 へ)の変換手順は以下の通りです:
qemu-img convert -f vhdx -O qcow2 -o preallocation=off ./Win10test.vhdx /var/lib/vz/images/101/Win10-converted.qcow2
仮想ディスクの変換が完了するまでお待ちください。その結果、新しいファイルが作成されます。変換が完了しました Win10test.vhdx ~へ Win10-converted.qcow2

新しい仮想ディスクを認識するために、Proxmoxのストレージを再スキャンします:
qm rescan

仮想ディスクを再スキャンすると、変換された仮想ディスクがProxmoxのWebインターフェースに表示されます。
Proxmox VMへの仮想ディスクのマウント
変換したディスクを Unused Disk 以前に作成した仮想マシンのステータス(以下を追加します) Win10-converted.qcow2 ~へ Win10-migrated (今回の場合はVM)。これはProxmoxのWebインターフェースから行うことができます。
- 使用していないディスクをダブルクリックします(
Unused Disk 0) を選択して、VMに接続します。
- 選択
IDE(またはSATA). インポートおよび変換した仮想ディスクをSCSIコントローラに接続すると、このVMのゲストOS起動中にBSOD(Windowsのブルースクリーン)が表示されます。IDEまたはSATAディスクから起動すると、WindowsはProxmox VMの仮想ハードウェア用のドライバをインストールします。その後、仮想ディスクの設定を変更して、SCSIディスクコントローラを使用するように設定できます。
- 先ほど作成した新しい1GBの一時SCSIディスクを追加してください。SCSIコントローラで動作させるために必要なドライバをインストールするには、SCSIコントローラに接続された一時ディスクを作成する必要があります。
Hyper-V to Proxmox移行 (Windows 10 へ移行済み)、[ ] に移動して、Hardwareセクションで、[クリック]AddそしてクリックHard Disk.
- 前述の手順に従って仮想ディスクのパラメータを選択しますが、今回はSCSIバス/デバイスを選択してください。

- 起動順序を編集します。仮想マシンを選択し、[
Options>Boot order. ダブルクリック 起動順序 または選択Boot OrderをクリックしてEdit.
- 変換、インポートされ、このVMに接続された仮想ディスクを有効にするには、該当するチェックボックスを選択してください。デフォルトでは、新しいディスクは起動順序リストで選択されていない状態になっています。
- インポートして有効化したディスクを、起動リストの一番上に移動します。

- VMの電源を入れ、VMコンソールに接続します。Hyper-VからProxmoxへの移行用に作成したVMを選択し、[クリック]します。
Startそして、クリックしてくださいConsoleこれでゲストOSが起動するはずです。
- のハードウェアを確認してください デバイスマネージャー ゲストのWindows OSの。を右クリックして
My ComputerまたはThis PCアイコンをクリックManageそして選択してくださいDevice Managerあるいは、次のコマンドを実行することもできます。devmgmt.mscコマンドラインからスナップインを実行する。2つのディスクドライブが表示されるはずです。1つは変換/インポートされた仮想ディスク(この例では、IDEコントローラに接続された20GBのシンプロビジョニングディスク)、もう1つは1GBの一時的なSCSI仮想ディスクです。
標準のSATA/AHCIコントローラとVirtIO SCSIコントローラが表示されるはずです。IDEまたはSATAディスクからWindowsを起動した後、VMにSCSIコントローラがインストールされると、SCSIコントローラを使用するためのドライバがインストールされます。これらのドライバにより、SCSIコントローラに接続されたディスクからオペレーティングシステムを起動できるようになります。すべてが正常に動作していることを確認するために、VMを再起動してください。

- Proxmoxに移行したVMをシャットダウンしてください。
- IDEコントローラに接続されている仮想ディスクを取り外します。
Hardware移行したVMのセクションで、[クリック]Detach. これは ハードディスク (ide0) 今回の例では(20 GB)。
- このディスクをダブルクリックします(現在、この20GBのディスクは未使用のディスクです――
Unused Disk 0) をクリックして添付してください。
- この仮想ディスクをSCSIコントローラ(バス/デバイス)に接続し、[クリック] をクリックします
Add.
- 20GBの仮想ディスクは現在
Hard Disk (scsi1). このVMでは、依然として1GBの一時的なSCSIディスクが動作しています。
- 仮想マシンの起動順序を編集します。仮想マシンに移動します
OptionsそしてダブルクリックするBoot Order前述の通り。- 最近SCSIコントローラに接続されたWindows 10がインストールされた仮想ディスクを選択してください(
Win10-converted.qcow2(この場合)。 - 起動順序を編集し、このインポートしたディスク(Windows 10 搭載の Hyper-V から)をリストの一番上に移動します。
- 最近SCSIコントローラに接続されたWindows 10がインストールされた仮想ディスクを選択してください(
- 仮想マシンを起動します。これで、Windows 10 ゲスト OS が SCSI 仮想ディスクから起動するはずです。
- ゲストOSが起動したら、
Device Managerそして、ディスクとストレージコントローラを確認します。すると、2台のSCSIディスクと2つのSCSIコントローラが表示されます(下のスクリーンショットを参照)。このケースでは、各SCSIディスクがそれぞれ別のSCSIコントローラに接続されています。現時点において、デバイスマネージャーに表示されている構成は正しいものです。
- 問題がなければ、仮想マシンをシャットダウンしてください。
- VMを再起動してください。ゲストOSが正常に起動し、すべてが正常に動作する場合は、Proxmox VMから一時的な1GBのSCSI仮想ディスクを切り離して削除できます(
rm /var/lib/vz/images/101/vm-101-disk1.qcow2) および、ソースの Hyper-V ホストからコピーした VHDX 仮想ディスクを削除します (rm/home/user1/Downloads/Win10-test.vhdx).
NAKIVO による移行後の仮想マシン保護の確保
Hyper-V から Proxmox への移行が完了したら、専用のバックアップソリューションを使用して、Proxmox 環境内の仮想マシンを保護することをお忘れなく。移行前に元の Hyper-V 仮想マシンが保護されていた場合でも、変換後の仮想マシンは Proxmox VE では自動的に保護されません。
NAKIVO Backup & Replication Hyper-V、Proxmox、VMware vSphere、およびNutanixの仮想環境におけるVM保護に対応しています。NAKIVOのソリューションは、 Proxmox向けエージェントレスバックアップ 仮想マシン(VM)。設定は簡単です。Proxmoxのホストまたはクラスタをインベントリに追加し、バックアップジョブを作成するだけです。
仮想マシン全体を復元できるほか、個別のファイルやオブジェクトを迅速に復元するための詳細な復元も可能です。データは元の場所または任意の場所に復元できます。また、仮想マシンのバックアップをエクスポートし、別の仮想化プラットフォームで復元することも可能です。
NAKIVO Backup & Replication 対応:
Incremental backups前回のバックアップ以降に変更されたデータのみをコピーすることで、ストレージ容量の消費を抑えることができます。増分バックアップと定期的な完全バックアップを組み合わせることで、バックアップチェーンの信頼性を高めることができます。Application-aware backupsバックアップデータがクラッシュ一貫性とアプリケーション一貫性を満たしていることを確認してください。アプリケーションが実行中であってもVMをバックアップし、必要に応じてデータを適切に復元してください。Backup encryption. 転送中および保存中のバックアップを暗号化し、. ニーズに応じて、ソース側、ネットワーク、およびバックアップリポジトリの暗号化を設定します。Backup immutability. 不変性を利用して、バックアップをランサムウェアから保護します。このデータは、ランサムウェアによって変更、改ざん、または削除されることはありません。Multiple backup locations. 柔軟なバックアップポリシーを導入し、以下の手順に従ってください。 3-2-1バックアップルールNAKIVOのソリューションでは、ローカルディスク、NASデバイス、SMBおよびNFS共有、テープ、ならびにAzure Blob、AWS S3、その他のS3互換オブジェクトストレージを含むクラウドへのバックアップ保存に対応しています。
結論
Hyper-Vの仮想マシンをProxmoxに移行するには、ソースとなる仮想マシンにVirtIOドライバをインストールして準備し、新しいProxmox仮想マシンを作成し、エクスポートした仮想ディスクを変換して、その変換済みディスクをProxmox仮想マシンにインポートする必要があります。SCSI仮想ディスクはより高いパフォーマンスを提供しますが、正常に動作させるには追加の設定が必要です。 また、IDEまたはSATA仮想ディスクコントローラに接続された仮想ディスクから起動し、ドライバをインストールするために一時的なSCSIディスクを追加してから、ブートディスクをSCSIコントローラに接続する必要があります。以下のような高度なバックアップソリューションを使用してデータを保護することを忘れないでください。 NAKIVO Backup & Replication.