セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ メモ. 手間はかかるが金いらずのV2V: VMwareのWindows VMをHyper-Vへ (その2)
2024年06月11日配信
2024年11月07日更新
執筆者:山内 和朗
前回は、Windowsゲストを実行するVMware ESXi VMのディスクイメージ(VMDK)を、Windows Sysinternalsの「DISK2VHD(Disk2vhd64.exe)」ユーティリティを使用してVHDX化し、物理ディスクまたは共有上のパスに保存しました。今回は、作成したVHDXをHyper-V VMに割り当て、Hyper-V VMとして起動できるようにします。なお、Hyper-V VMへの移行が終わるまで、VMware ESXi VMはそのまま維持することができます。ただし、VMware ESXi VMとHyper-V VMを同じLANに接続すると、IPアドレスが重複する可能性があります。動作確認ができるまで、Hyper-V VMは別のネットワークセグメント(内部タイプの仮想スイッチに接続するなど)に接続して作業を行い、運用環境に切り替える(VMware ESXi VMを停止し、運用環境のLANに接続してHyper-V VMを起動)ことをお勧めします。
前回説明したように、VMware ESXi VMのファームウェアの種類は、UEFIまたはレガシBIOSのいずれかです。UEFIの場合はHyperーVの「第2世代仮想マシン」、レガシBIOSの場合はHyper-Vの「第1世代仮想マシン」に移行することができます。
Hyper-Vホストで「Hyper-Vマネージャー」を開き、「新規>仮想マシン」を選択します。「仮想マシンの新規作成」ウィザードが始まったら、「第1世代」と「第2世代」のいずれか適切な方を選択します(画面1)。ウィザードでは、移行元のVMware ESXi VMに構成に合わせて、メモリとネットワークを割り当てます。「仮想ハードディスクの接続」のページでは「後で仮想ハードディスクを接続する」を選択し、Hyper-V VMを作成します(画面2)。作成後、Hyper-V VMの「設定」を開いて、コア数の調整やセキュアブートの有効化(第2世代仮想マシンの場合)などを行います。
画面1 移行元がUEFIベースの場合は「第2世代」、レガシBIOSベースの場合は「第2世代」を選択する
画面2 仮想ハードディスクはこの時点では接続しない
VHDXを保存した物理ディスクや共有から、Hyper-VホストのVM保存先パス(VMの構成と同じパス下など)にVHDXをコピーします(画面3)。コピーが完了したら、Hyper-V VMの「設定」を開いて、OSディスクをコントローラー「SCSIコントローラー(第2世代の場合)」または「IDEコントローラー(第1世代の場合)の場所「0」に、データディスク(存在する場合)を同コントローラーの場所「1」のように接続していきます。DVDドライブがその場所を既に使用している場合はDVDドライブの場所をずらして設定してください。
画面3 Hyper-V VMの保存先パスなどにDISK2VHDで作成したVHDXファイルをコピーする
画面4 OSディスクのVHDXをSCSI(またはIDE)コントローラーの場所「0」に接続する。データドライブがある場合は、その次の場所(または別のコントローラーの場所使用)
VHDXファイルを指定したら、Hyper-V VMの「設定」の「ファームウェア」を開き、「ハードドライブ」から優先的に起動するようにブート順を調整し、Hyper-V VMを開始します(画面5)。初回起動時、新しいハードウェアが検出、ドライバーが自動的にインストールされ、何度か再起動が行われます。
画面5 Hyper-V VMをOSディスクのVHDXから起動する。初回起動時、新しいハードウェアが検出、ドライバーが自動的にインストールされる
Hyper-V VMが起動すると、インストールされている場合、「VMware Tools」が回復不能なエラーを発生させるかもしれません。Hyper-V VMとして今後、運用するためには、VMware Toolsをアンインストールする必要があります。VMware Toolsのアンインストール方法は、通常のアプリケーションのアンインストール方法と同じで、コントロールパネルの「プログラムのアンインストールまたは変更」(appwiz.cpl)から実行できるのですが、VMware環境でないと正しくアンインストールできない場合があるようです。
画面6 エラーを発生させている「VMware Tools」をシステムからアンインストールする。ただし、通常の方法ではアンインストールできない場合がある
VMware Toolsをアンインストールできない場合は、VMwareの以下のKB文書を参考に、手動でアンインストールしてください。GitHub Gistでbroestls氏が公開しているPowerShellスクリプト「Remove_VMwareTools.ps1」は、このVMwareのKB文書をベースにしたものです。
Unable to upgrade existing VMware Tools(Broadcom)※このページは削除されました。
broestls/Remove_VMwareTools.ps1 (GitHub Gist)
VMware Toolsは、VMware環境でゲストOSを最適化するゲストコンポーネントです。Windowsには、Hyper-Vのゲストコンポーネント(統合サービス)が標準で組み込まれているため、ゲスト用のコンポーネントを改めて追加する必要は全くありません。Hyper-V(およびAzure)上で、WindowsはVMのゲストとして最初から最適化されて実行されます。
画面7 VMware Toolsがアンインストールされ、Hyper-V VMとして稼働させる準備は完全に整った
この後は、移行元のVMware ESXi VMをシャットダウンして停止し、Hyper-V VMを運用ネットワークに接続して切り替えるだけです。移行作業中の変更(アプリケーション用データベースの更新など)を避けるには、イメージ化した時点でVMware ESXi VMを停止し、Hyper-V VMへの移行作業を行ってください。その場合、ダウンタイムは長くなります。
2024年11月07日 | vol.58 はじめてのMicrosoft Graph|Azure&Entra IDスクリプト大作戦(5) |
---|---|
2024年11月06日 | ITニュース. Windows Server 2025(OSビルド26100)の一般提供開始 |
2024年11月05日 | vol.57 Azure REST APIでテンプレートをエクスポート|Azure&Entra IDスクリプト大作戦(4) |
2024年10月31日 | vol.56 はじめてのAzure REST API|Azure&Entra IDスクリプト大作戦(3) |
2024年10月29日 | メモ. AlmaLinux(RHEL系)をVMwareからHyper-VへV2V移行するには |
2024年10月28日 | vol.55 サービスプリンシパルによる非対話型認証|Azure&Entra IDスクリプト大作戦(2) |
2024年10月25日 | メモ. Hyper-Vのもう1つの可用性オプション、Hyper-Vレプリカ |
2024年10月24日 | vol.54 Azure&Entra IDの情報取得、スクリプト大作戦 |
2024年10月22日 | メモ. Windows 11 24H2の新規インストール、正しいはずのパスワードが弾かれる(追加情報あり) |
2024年10月21日 | vol.53 Zabbixにあって、BOMにないもの、代用できるもの|BOMおじさんとZabbix(9) |