かつて山市良と呼ばれたおじさんのブログ

セイテクエンジニアのブログ  かつて山市良と呼ばれたおじさんのブログ  メモ. 手間はかかるが金いらずのV2V: VMwareのWindows VMをHyper-Vへ (その2)

 

 

メモ. 手間はかかるが金いらずのV2V: VMwareのWindows VMをHyper-Vへ (その2)

2024年06月11日配信
2024年07月03日更新
執筆者:山内 和朗

 前回は、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
画面1 移行元がUEFIベースの場合は「第2世代」、レガシBIOSベースの場合は「第2世代」を選択する

 

画面2
画面2 仮想ハードディスクはこの時点では接続しない

 

VHDXファイルをコピーし、Hyper-V VMに接続する

 

 VHDXを保存した物理ディスクや共有から、Hyper-VホストのVM保存先パス(VMの構成と同じパス下など)にVHDXをコピーします(画面3)。コピーが完了したら、Hyper-V VMの「設定」を開いて、OSディスクをコントローラー「SCSIコントローラー(第2世代の場合)」または「IDEコントローラー(第1世代の場合)の場所「0」に、データディスク(存在する場合)を同コントローラーの場所「1」のように接続していきます。DVDドライブがその場所を既に使用している場合はDVDドライブの場所をずらして設定してください。

画面3
画面3 Hyper-V VMの保存先パスなどにDISK2VHDで作成したVHDXファイルをコピーする

 

画面4
画面4 OSディスクのVHDXをSCSI(またはIDE)コントローラーの場所「0」に接続する。データドライブがある場合は、その次の場所(または別のコントローラーの場所使用)

 VHDXファイルを指定したら、Hyper-V VMの「設定」の「ファームウェア」を開き、「ハードドライブ」から優先的に起動するようにブート順を調整し、Hyper-V VMを開始します(画面5)。初回起動時、新しいハードウェアが検出、ドライバーが自動的にインストールされ、何度か再起動が行われます。

 

画面5
画面5 Hyper-V VMをOSディスクのVHDXから起動する。初回起動時、新しいハードウェアが検出、ドライバーが自動的にインストールされる

 

VMWare Toolsをアンインストールする

 

 Hyper-V VMが起動すると、インストールされている場合、「VMware Tools」が回復不能なエラーを発生させるかもしれません。Hyper-V VMとして今後、運用するためには、VMware Toolsをアンインストールする必要があります。VMware Toolsのアンインストール方法は、通常のアプリケーションのアンインストール方法と同じで、コントロールパネルの「プログラムのアンインストールまたは変更」(appwiz.cpl)から実行できるのですが、VMware環境でないと正しくアンインストールできない場合があるようです。

画面6
画面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
画面7 VMware Toolsがアンインストールされ、Hyper-V VMとして稼働させる準備は完全に整った

 

 この後は、移行元のVMware ESXi VMをシャットダウンして停止し、Hyper-V VMを運用ネットワークに接続して切り替えるだけです。移行作業中の変更(アプリケーション用データベースの更新など)を避けるには、イメージ化した時点でVMware ESXi VMを停止し、Hyper-V VMへの移行作業を行ってください。その場合、ダウンタイムは長くなります。

< その1 Linux編(その1) >

blog_subscribe

blog_comment

最新記事