VMware から Hyper-V へ移行する方法
さまざまな理由から、VMwareの仮想マシンをHyper-Vの仮想マシンに変換する必要が生じる場合があります。 例えば、複数のハイパーバイザーが混在する環境を運用している場合や、テストのためにVMwareからHyper-Vへの移行を行う必要がある場合、特定のソフトウェアに対してより合理的なライセンスモデルを採用したい場合などが挙げられます。しかし、これらの2つの仮想化プラットフォームには、いくつかの類似点がある一方で、重要な相違点も存在します。
移行を円滑かつ成功させるためには、VMwareからHyper-Vへの仮想マシン変換プロセスを理解することが重要です。このブログ記事では、VMware仮想マシンをHyper-V仮想マシンに変換するための、最も費用対効果の高い方法とツールについて解説します。
変換ツールと方法の概要
以下は、VMware VMをHyper-Vに変換するためにMicrosoftが提供している、最も広く利用されている方法です:
- Microsoft Virtual Machine Converter (MVMC) の使用。MVMCは、GUI(グラフィカルユーザーインターフェイス)を備えた無料のスタンドアロンツールであり、仮想マシン(および 物理マシンを仮想マシンに変換する)を変換することができます。 これを使用すると、仮想マシンをMicrosoft Hyper-VやAzureに移行でき、VMware ESXi仮想マシンをHyper-V形式の仮想マシンに変換することも可能です。
- PowerShellを使用してVMDKをVHDに変換し、変換された仮想ディスクを新しいHyper-V仮想マシンに接続する方法 。この方法は、仮想ディスクファイルは利用可能であるが、VMファイル(VMX構成ファイルなど)がすべて揃っていない場合に使用できます。 この方法では、VMware Workstation VM と VMware ESXi VM の両方を変換できます。
- System Center Virtual Machine Manager (VMM) を使用した VM の変換。VMM は、VM、ホスト、クラスターの管理を含む、Hyper-V および VMware 環境の一元管理を可能にする商用ソフトウェアソリューションであり、VM 変換機能も提供しています。
VMware から Hyper-V への移行に向けた仮想マシンの準備
VMware 仮想マシンを Hyper-V に変換する前に、エラーを防止し、移行プロセスを円滑に進めるために、以下の手順を実行する必要があります。
- 不要な仮想デバイスを削除し、仮想 CD を取り出します。 仮想フロッピーディスクドライブ や COM コントローラー、LPT コントローラーなどのデバイスは、互換性を向上させ、発生しうる障害を防ぐために削除できます。 Generation-1 Hyper-V VM を作成する場合は、後でこれらのデバイスを追加できます。
注: MVMC 3 は Hyper-V Generation 2 VM をサポートしていません。
- 仮想ハードディスクをクリーンアップします。 VM の仮想ディスク上のスペースを消費している一時ファイルやその他の不要なファイルを削除します。使用されていないプログラムやコンポーネントを削除します。この方法により、移行先の仮想ディスクが動的に拡張される(シンプロビジョニング)場合、ディスク容量と時間を節約できます。
- すべてのVMスナップショットを削除または統合します。 VMにスナップショットが含まれていない場合、VM変換中のエラー発生確率を低減できます。
- オンライン変換(オンラインのみ)の前に、 VMware Tools をアンインストールします。 これにより、VMwareベースのVMをHyper-Vへクリーンに移行できます。Hyper-V VMでは、VMware Toolsスイートは必要ありません。 Hyper-V には、仮想マシンのゲスト OS のパフォーマンスを向上させるために設計された”Integration Services”ユーティリティスイートが提供されています。
VMware から Hyper-V への移行に関する追加の考慮事項
Microsoft Virtual Machine Converter (MVMC) は、VMware Tools をアンインストールする前に、変換対象の仮想マシンのスナップショットを取得し、変換中の状態を保持するためにソースマシンをシャットダウンします。 仮想マシンに接続されているソースディスクが、変換処理が実行されるマシンに正常にコピーされると、仮想マシンは以前の状態に復元されます。その時点で、必要に応じて VMware 内のソースマシンを起動することができます。
MVMC は、オフライン変換中に VMware Tools をアンインストールしません。代わりに、Windows Server ゲストオペレーティングシステムに対してのみ、VMware のサービス、ドライバー、およびプログラムを無効にします。 Linux ゲスト OS でのファイル変換の場合、VMware Tools は無効化もアンインストールもされません。オフラインの仮想マシンを変換する際は、VMware Tools を手動でアンインストールすることを強く推奨します。
Microsoft Virtual Machine Converter を使用した変換
Microsoft Virtual Machine Converter を使用して、VMware ベースの仮想マシンを Hyper-V 仮想マシンに変換する手順について検討しましょう。
入力パラメータは以下の通りです。
- 仮想マシン(仮想ハードウェアバージョン 7)は ESXi 6.5 上で実行されています(ただし、ここで説明するワークフローは他のバージョンやそれ以降の仮想ハードウェアバージョンにも適用されます)。
- 仮想マシンには、スナップショットのない仮想ディスクが 1 つあります。
- VMware Tools スイートはインストールされていません。
変換プロセスを開始するには:
- MVMCをダウンロード 実行可能インストーラー . msi ファイルを使用します。スタンドアロン版 MVMC の最新バージョンは 3.1 です。Windows PowerShell コマンドレットの説明が記載された . doc file もダウンロードできます。
注 :Microsoft Virtual Machine Converter の新しいバージョンについては、Microsoft がスタンドアロン版 MVMC の新バージョンのリリースを終了し、公式サポートも終了したため、 Microsoft System Center Virtual Machine Manager (VMM) の一部としてこのツールを使用できます。
- インストール手順は簡単です。インストーラーを実行し、使用許諾契約に同意し、インストール先ディレクトリを選択して、セットアップウィザードで [インストール] をクリックします。VMの変換中に作成される一時ファイル用のスペースも含め、十分なディスク空き容量があることを確認してください。
- インストールが完了したら、コンバーターを実行してください。 スタート > マイクロソフトバーチャルマシンコンバーター をクリックしてコンバーターを実行してください。
- 開始する前に、短い説明を読むことができます。この画面を表示したくない場合は、このページを再び表示しないチェックボックスを選択してください。続行するには、次へをクリックします。
- マシンタイプ。変換するソースマシンのタイプを選択します。この場合、バーチャルマシンの変換を選択します。”次へ“をクリックします。

- 移行先を選択します。この段階では、Microsoft Azure クラウドへの移行と Hyper-V への移行の2つのオプションがあります。このブログ記事では VMware VM を Hyper-V VM に変換する方法について説明しているため、この場合はHyper-V に移行オプションを選択してください。”次へ“をクリックします。

- 宛先Hyper-Vホストを選択します。この例では、Hyper-V サーバーがローカルホスト(コンバーターとHyper-V サーバーがインストールされていますが同じマシン上で実行中)で実行されています。Microsoft バーチャルマシンコンバーターは、変換された VM をネットワークを介してオフサイトの宛先ホストに保存することもできます。
コンバーターと Hyper-V ホストが異なるマシン上で実行されている場合は、それに応じてファイアウォールが設定されていることを確認してください。リモートアクセスには Windows 管理インストゥルメンテーション を有効にし、宛先マシン上で適切なサービスが開始されている必要があります。
宛先ホストの名前または IP アドレスを選択し、Hyper-V ホストに接続するための十分なアクセス権を持つユーザの資格情報を追加します。(宛先 Hyper-V ホストのローカル管理者およびドメイン管理者はこの種のアクセス権を持っています)。続行するには、次へをクリックします。

- ディスクオプションの設定。変換された仮想ハードディスクを保存するためのネットワークパスを指定します。この手順の場合、VM は同じマシンにインストールされている Hyper-V サーバーに変換され転送されているため、次のネットワークパスを適用します:
\\localhost\c$\Virtual\Hyper-V\convertedシステムディスク(通常は C:)を本番環境で VM を保存するために使用することは避けることをお勧めします。たとえば、Hyper-V ホストがリモートマシンである場合、選択したパスは次のようになります:
\\10.10.10.12\d$\Virtual\Hyper-V変換後に使用する仮想ディスクの種類を選択してください。 仮想ディスクには二つのタイプがあります:固定長ディスク(厚プロビジョニングされたディスクのアナログ)または動的に拡張するディスク(薄プロビジョニングディスクのアナログ)です。この手順では、ストレージスペースを節約するために動的拡張ディスクを選択します。
仮想ハードディスクのフォーマットを選択してください。vhdx は、両方のHyper-V Gen1 および Gen2 仮想マシンによって使用される新しくて進歩的なファイル形式です。この手順の目的のために、.vhdx を選択しました。
次へをクリックして続行してください。

- 接続先サーバーまたはのvCenterソース詳細を指定してくださいESXi サーバー。この例では、ESXiサーバー上の仮想マシンを変換しています。そのため、ESXiサーバーのIPアドレス、ユーザー名、パスワードをこのステップで入力する必要があります。vCenterを使用してESXiホストを集中管理している場合、vCenterの管理用認証情報を利用できます。次へをクリックして進んでください。

- 次に、選択したESXiサーバーから変換する仮想マシンを選択してください。この例では、ESXiホスト上で動作している軽量のWindows仮想マシンを変換します。仮想マシンを選択した後、次へをクリックしてください。

- 仮想マシン接続です。Linux仮想マシンにVMware Toolsがインストールされている場合、コンバータがVMware Toolsをアンインストールするために、ソースVMのrootアカウントのユーザー名とパスワードを提供する必要があります。この例では、VMware ToolsがインストールされていないWindowsマシンを使用しており、これらのフィールドは無効です。ソースマシンの最終状態および目的地マシンの最終状態(オンまたはオフ)を定義してください。次へをクリックします。

- 作業領域を定義します。作業領域は、変換プロセス中に一時ファイルを保存するための一時フォルダーです。より良いパフォーマンスのために、このフォルダーはMicrosoft Virtual Machine Converterをインストールしているマシンに存在するべきです。パスを入力するか、または参照ボタンをクリックして適切なフォルダーを選択してください。その後、次へをクリックします。

- 概要を確認します。指定した構成の詳細をレビューしてください。警告が重要でない場合、それらは変換を妨げません。我々の場合、コンバーターはWindows 10、Windows Server 2016、2019、および新しいWindowsバージョンで問題なく動作しているため、オペレーティングシステムの警告を無視します。あとでメモリ設定を調整できます。 仮想マシン変換プロセスを開始するには、終了をクリックします。

- 仮想マシンの変換が完了するのを待ちます。このプロセスは、ソースVMの仮想ディスクのサイズやネットワーク速度によって時間がかかる場合があります。変換が成功した場合は、仮想マシンコンバーターを終了するために閉じるをクリックします。

- 変換したVMの設定を編集でき、新しいVMがHyper-V マネージャーのVMリストに表示されます。VMを右クリックし、コンテキストメニューから設定を選択します。VMは以前に指定したディレクトリに保存されています。 ネットワークアダプタを削除して、レガシーネットワークアダプタを追加し、古いゲストOSのネットワークを有効にします。その後、適切な仮想スイッチを選択するか、新しいものを作成してVMをネットワークに接続します。

- VMの設定を構成した後、VMを開始し、ゲストOSを構成します。OSが新しい仮想デバイスを認識するまで待ちます。パフォーマンスとユーザーエクスペリエンスを向上させるために、Hyper-Vの統合サービスをインストールするのを忘れないでください。統合サービスを手動でインストールするには、 VMの仮想DVDドライブに
vmguest.isoイメージを挿入し、インストーラーを実行します。インストールが完了したら、VMを再起動し、仮想ISOディスクを排出します。
VMwareからHyper-Vへの信頼できる移行方法を学ぶには、この動画をご覧ください。
VMDKをVHDにPowerShellで変換する
では、VM変換の別のユースケースについて考えてみましょう。VMware VMの仮想ディスクのみを持っている場合、またはVMware Workstation用のVMを持っている場合(ESXi用ではない)は、Microsoft Virtual Machine Converter GUIを使用することはできません。 MVMCをインストールすると、いくつかの便利な PowerShell コマンドレットも提供されます。以下の例では、コマンドラインインタフェース(CLI)を使用してVMDK仮想ディスクをHyper-V形式のディスクに変換する方法、およびその仮想ディスクを使用してHyper-VでVMを実行する方法を学ぶことができます。
VMware Workstationベースの仮想ディスクの変換
- 現在のPowerShellセッションにコンバーターモジュールを追加します。モジュールはMicrosoft Virtual Machine Converterがインストールされているディレクトリにあります。この例では、コンバーターのデフォルトの所在地が使用されています。PowerShellに次のコマンドを入力します:
Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"コンバーターが別のディレクトリにインストールされている場合は、そのディレクトリのパスを
C:\Program Files\Microsoft Virtual Machine Converter\と交換して入力してください。

- VMのディレクトリに移動し、そのディレクトリのファイルを一覧表示します。(VMwareからHyper-Vに移行したいVMはStorageLinuxと呼ばれています。)この例では、VMは
C:\virtual\StorageLinuxにあります。cd C:\virtual\StorageLinuxdirここでVMファイルを確認できます。VMDKファイルの名前を確認しておいてください。これは後の操作で必要になります。この例では、1つの仮想ディスクを持つLinux仮想マシンが使用されています。重要なことに、VMにはスナップショットがなく、VMware Toolsもインストールされていません(下のスクリーンショットを参照)。

- VMwareをHyper-V仮想ディスク形式に変換する時がきました。次のコマンドと引数を使用して、PowerShellでコンバーターを実行します:
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\Virtual\StorageLinux\StorageLinux 3.x kernel 64-bit.vmdk" -DestinationLiteralPath "C:\Virtual\Hyper-V\converted\01" -VhdType DynamicHardDisk -VhdFormat Vhdここで:
-SourceLiteralPath <path>VMware仮想ディスクの変換のためのパスです。-DestinationLiteralPath <path>Hyper-V形式の仮想ディスクを保存するディレクトリへのパスです。-VhdType <type>仮想ディスクのタイプ(動的拡張型または固定型)を定義します。-VhdFormatHyper-V仮想ディスクの形式(VHDまたはVHDX)を定義します。変換プロセスが完了するまでお待ちください。進行状況バーが現在の状態を示します。

- VMDKからVHDに仮想ディスクが正常に変換された場合、次の内容が画面に表示されます:

- 新しいVMを作成し、変換で作成されたVHDディスクを使用します。この部分については、Hyper-V で新しい仮想マシンを作成する方法を説明するブログ記事を参照してください。重要な点は、仮想ディスクを接続することです。 新しい仮想マシンウィザード の適切な段階で、 既存の仮想ハードディスクを使用 を選択し、新しく作成されたVHDファイルの場所を指定してください。

- VMの設定が完了したら、Hyper-Vホストで仮想マシンを実行します。

この方法は、複数の仮想ディスクを持つVMの変換にも使用できます。この場合、変換後に各仮想ディスクをVMに接続する必要があります。
VMware ESXi形式の仮想ディスク変換
最初に、Microsoft Virtual Machine ConverterがインストールされたマシンにESXiホストのデータストアから仮想ディスクファイルをコピーする必要があります。この場合、1つのVMware仮想ディスクは2つのファイルで構成されています: diskname.vmdk と diskname-flat.vmdk です。 . vmdk ファイルは、仮想ディスクの構成情報を含んでいる記述子であり、-flat.vmdk ファイルを指しています。 仮想ディスクのデータ は -flat.vmdk ファイル内に保存されます(生の形式であり、物理ハードディスクドライブに似ています)。 . vmdk ファイルのサイズは数キロバイトですが、-flat.vmdk ファイルのサイズははるかに大きいです。 VMware vSphere クライアントまたは任意の SCP(Secure Copy Protocol)クライアントを使用して、ESXi ホストから VMware 仮想ディスク ファイルをコピーすることが可能です。
VMware vSphere クライアントを使用したファイルのコピー
この方法は、vCenter Server を使用して ESXi ホストを管理している場合に使用できます。
- VMware vSphere クライアントで vCenter にログインします – ウェブブラウザのアドレスバーに vCenter Server の IP アドレスを入力してください。
- ストレージタブ に移動し、VM のファイルがあるデータストアを選択し、VM ディレクトリを選択し、変換すべき仮想ディスクを選択します。
- ディスクを選択した後、 ダウンロード をクリックし、. vmdk および -flat.vmdk ファイルを含む Zip アーカイブを MVMC がインストールされているマシンにセーブします。仮想ディスクファイルのサイズにご注意ください。この例で使用されている VM( Win-test2 は以前に GUI を通じて MVMC で変換されています)は 8 GB のシンプロビジョニング仮想ディスクを持っており、1.64 GB VMFSのデータストアを消費しています。厚型プロビジョニングと薄型プロビジョニング については、別の記事で詳しく読むことができます。
注意 : VMware vSphere クライアントおよび VMware ホストクライアントのウェブインターフェースからは 1 つの VMDK ファイルしか見えませんが、ご注意ください – データストアには vmdk と – flat.vmdk の 2 つのファイルがあります。 SSH クライアントを使用して ESXi ホストにログインし、データストア内の VM ディレクトリでファイルをリストすることで、両方のファイルを見ることができます。

- Zip アーカイブがダウンロードされたら、仮想ディスクファイルを展開します。

- ファイルを展開した後、 – flat.vmdk 仮想ディスクファイルが 8 GB のディスク容量(現在の仮想ディスクの最大プロビジョニングサイズ)を消費していることが分かります。 1.64 GB ではありません。後に、この仮想ディスクを Hyper-V 向けにダイナミックに拡張された仮想ディスクに変換することができます。

WinSCPクライアントを使用してファイルをコピーする
WinSCPは、データ転送にSCP、SFTP(SSH Secure Shell File Transfer Protocol)、FTP、WebDAVプロトコルを使用する無料のアプケーションです。可能であれば、SFTPが好ましいです。あなたは公式サイトからWinSCPをダウンロードする。
WinSCPを実行し、IPアドレス、ポート番号、資格情報を入力してESXiサーバーにログインします。

WinSCPは直感的なGUIを持ち、二つの主要パネルがあります。ファイルとディレクトリにアクセスできます。左のパネルで、変換前のVMDKファイルが保存されているディレクトリを移動します。右のパネルで、ESXiデータストアのVMディレクトリに移動します。
この例では、そのディレクトリへのパスは/vmfs/volumes/SSD2/Win-test2 です。必要な二つの仮想ディスクファイル(. vmdk および- flat.vmdk )を選択し、これらをローカルディレクトリにコピーします。単にファイルをドラッグアンドドロップします。

ESXiからコピーされたVMDK仮想ディスクの変換
ESXiからコピーされたVMware仮想ディスクファイルは、Microsoft Virtual Machine Converterを持つWindowsマシン上にあります。VMwareをHyper-V仮想ディスク形式に変換する必要があります。ESXi VMの仮想ディスクを変換することは、VMware Workstation VMの仮想ディスクを変換することと似ています。主要な違いは、単一のファイルの代わりに、二つのファイル(. vmdk および- flat.vmdk )が存在することです。
- PowerShellを開き、適切なコンバータモジュールがインポートされていることを確認してください。インポートされていない場合は、次のコマンドを入力します:
Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1" - 次に、仮想ディスクを変換するために次のコマンドを入力します。
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\Virtual\Hyper-V\converted\FromESXi\Win-test2.vmdk" -DestinationLiteralPath "C:\Virtual\Hyper-V\converted\Win-test2PS" -VhdType DynamicHardDisk -VhdFormat Vhd– SourceLiteralPath 引数のために. vmdk ファイルへのパス(- flat.vmdk ファイルへのものではありません)を定義します。

- 変換プロセスが正常に完了したら、新しいHyper-V VMを作成し、変換後に使用可能であるVHD仮想ディスクを添付するために既存仮想ディスクオプションを使用します(この記事で説明されています)。その後、VM構成を編集し、仮想マシンを実行します。
一般的な変換エラーと解決策
いくつかのエラーにより、変換プロセスが機能しない場合があります。どのような問題が発生し、どのように解決するかを考えてみましょう。
エントリ 1 はディスクリプターのサポートされていないディスクデータベースエントリです
このエラーは、VMDK フォーマットから VHD フォーマットに仮想ディスクを変換する際に、Microsoft Virtual Machine Converter が一部のディスクデータベースエントリを認識できないことを意味します。エントリの番号は異なる可能性があり – 例えば、1 の代わりに 2、3、4 などが表示されることがあります。この問題を解決するには、仮想ディスクリプタを編集する必要があります。

VMware ワークステーションフォーマットの仮想ディスクの問題を修正する
VMware ワークステーションフォーマットの VMDK 仮想ディスクには埋め込みディスクリプタが含まれています(ディスクリプタはディスクデータが格納された VMDK ファイル内に統合されています)。仮想ディスクリプタを TXT ファイルに抽出するための無料ユーティリティキットをダウンロードする必要があります。それからディスクリプタを編集し、編集したディスクリプタを TXT ファイルから VMDK ファイルに再インポートします。ユーティリティキットの名前は dsfok ツール(DS File Ops Kit)です。ダウンロード可能な dsfok キット こちら。
- – 例として、アーカイブからファイルを抽出します
C:\Virtual\_tools\dsfok - – CMD を実行します(
Win+Rを押して、cmdを入力して、Enterを押します)。 dsfok ツールのディレクトリに移動します:cd C:\Virtual\_tools\dsfok - 以下のパラメーターで
dsfo.exeを実行します:dsfo.exe "C:\virtual\win7x64\win7x64.vmdk" 512 1024 descriptor-win7x64.txtここで:
512バイトはオフセット1024バイトはエクスポートされたデータのサイズDescriptor-win7x64.txtはディスクリプタがエクスポートされるファイルの名前
- ディスクリプタが descriptor-win7x64.TXT ファイルに抽出され、 dsfok ツールのディレクトリに入ります。

- ディスクリプタの . txt ファイルをテキストエディタで編集します(例えば、Notepad++のように正しくレイアウトを認識するものを選びます)。
ddb.toolsInstallType = "1"の部分を見つけて、最初の”d”文字を”#”に置き換えてその部分をコメント化します。この場合、ディスクリプタのフォーマットは侵されず、結果として#db.toolsInstallType = "1"文字列が得られます。コメント化された文字列はディスクリプタの構成を読み込む際には処理されません。編集が完了したらファイルをセーブします。
- 編集したディスクリプタを VMware ワークステーションフォーマットの VMDK ファイルにインポートする必要があります。 このためには、以下のパラメーターで
dsfi.exeを実行します:dsfi.exe "C:\virtual\win7x64\win7x64.vmdk" 512 1024 descriptor-win7x64.txt
- 次に、PowerShellで次のコマンドを実行して VMDK バーチャルディスクを VHD 形式に変換できます:
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\Virtual\win7x64\Win7x64.vmdk" -DestinationLiteralPath "C:\Virtual\Hyper-V\converted\01" -VhdType DynamicHardDisk -VhdFormat Vhdエラーはもう表示されず、変換プロセスが開始されます。

- 仮想ディスクが VHD形式 に変換されると、新しい Hyper-V VM を作成し、仮想ディスクを接続できます(このプロセスは以前のブログ投稿で説明されています)。その後、Hyper-V 上で VM を実行できます。ただし、別の問題が発生することがあります。仮想マシンが読み込まれず、黒い背景に点滅するカーソルが表示される場合は、仮想ディスクのブートセクターを修正する必要があります。
注意 :このウォークスルー例で示されている仮想ディスクには Windows 7 がインストールされています。同じ論理を Windows 10、Windows Server 2016 などの VM に対して使用できます。

- Windows ディストリビューションの ISO インストールイメージを挿入し、仮想 CD/DVD ドライブから起動します。インストールディスクの組み込み修復ツールを使用して、マスターブートレコード (MBR) を含むブートセクターを修正できます。

- Windows インストーラーがロードされたら、” コンピュータの修復 “をクリックします。

- 適切な仮想ディスク上のオペレーティングシステムを選択し、” 次へ “をクリックします。

- コマンドプロンプトを実行し、次のコマンドを実行します:
bootrec /fixmbrbootrec /fixboot仮想マシンを再起動し、仮想ハードディスクから起動します。

- 仮想マシンは正常に起動するはずです。

VMware ESXi 形式の仮想ディスクに関する問題の修正
VMware ESXi から Hyper-V に仮想マシンをエクスポートするときに、類似の問題をどのように解決するかを見てみましょう。Linux VM(VM名は NAKIVO-clone )や Microsoft Virtual Machine Converter に次のエラーが表示されます: The entry 4 is not a supported disk database entry for the descriptor。この問題を解決する方法は前の例で説明したものと似ています。VM の各仮想ディスクの記述子を編集する必要があります。

VMware Workstation 上で動作している VM の仮想ディスクには、組み込み記述子があります(記述子は VMDK ファイルに統合されています)。対照的に、ESXi ホスト上で実行されている VM では、仮想ディスクデータと記述子は 2 つの異なるファイルに保存されます。 VMを変換したい登録されているESXiホストでSSHアクセスを有効にしてください。PuTTYなどのSSHクライアントを使用してESXiコンソールにログインします。
- VMファイルが保存されているディレクトリに進みます。この例では、VMファイルはESXiホストの
/vmfs/volumes/SSD1/NAKIVO-cloneにあります。この場合、データストアの名前はSSD1です。cd /vmfs/volumes/SSD1/NAKIVO-clone - VMディレクトリ内のファイルを一覧表示するには、
ls -alを入力します。以下のスクリーンショットから分かるように、VMには 2 つの仮想ディスクがあります。
- vi (コンソールテキストエディタ)を使用して仮想ディスクのディスクリプタを編集します:
vi NAKIVO-clone.vmdk - 次の文字列を見つけてください:
ddb.toolsInstallType = "4" - 最初の”d”文字を”#”文字に置き換えて文字列を編集します。編集後のセクションは次のようになります:
#db.toolsInstallType = "4"矢印を使用してカーソルを移動します。シンボルを追加するための編集モードに切り替えるには
aを押します。変更を行った後、Escを押して編集モードを終了します。次に:wqと入力し、Enterを押してファイルに変更を保存して終了します。
- ディスクリプタファイルに変更を保存した後、仮想ディスクの一貫性を確認してください:
vmkfstools -e Win7PMM.vmdk
- 2番目の仮想ディスクのディスクリプタを同様に編集します。すべてのVMの仮想ディスクのディスクリプタを編集した後、Microsoft Virtual Machine Converterを使用してVM変換を再度開始します。これで、VMの仮想ディスクはエラーなしに変換可能です。

VMwareからの応答の受信が複数の試みにもかかわらず失敗しました。内部例外を参照してください
このエラーは、ESXiホストがMicrosoft Virtual Machine Converter GUIでソースとして定義されている場合に発生する可能性があります。vCenter Serverを使用してESXiホストを管理している場合、現在のホストを含め、vCenter Serverの名前またはIPアドレスとその資格情報をESXiホストではなく ソース セクションで定義してください。

タスクは完了状態(RanToCompletion、FaultedまたはCanceled)の場合にのみ処理される可能性があります
Microsoft Virtual Machine Converterを使用してESXiからHyper-V形式にVMを変換すると、このエラーが発生することがあります。その場合、仮想ディスクファイル(. vmdk および- flat.vmdk )をコンバータがインストールされているマシンにコピーし、PowerShellで仮想ディスクを変換し、新しいHyper-V VMを作成し、そのVMにディスクを接続します。
VMMでVMware VMをHyper-Vに変換する
System Center Virtual Machine Manager (VMM)は広範なオプションセットを備えた大規模ソリューションで、VMwareの仮想マシンをHyper-Vの仮想マシンに変換することができます。通常、VMMはHyper-VホストとWindowsサーバーがある大規模な環境で使用されます。
要件
- System Center Virtual Machine Manager 2022はvSphere 6.5以降のVMware仮想マシンを変換することがサポートされています。
- ESXiホストをSystem Center Virtual Machine Managerに追加する必要があります
- EFIベースのVMware仮想マシンをGeneration-2のHyper-V仮想マシンに変換することがサポートされています
- VMware Workstationの仮想マシンはVMMで変換することができません
- 仮想IDEコントローラーに接続されたバーチャルハードディスクは変換できません
- 仮想マシンを電源オフにしてVMwareからHyper-Vへの変換プロセスを開始する必要があります
- VMware仮想マシンをHyper-Vフォーマットに変換する前にVMware Toolsをアンインストールしてください
VMMのウィザードを使用して
以下のステップを実行してVMwareの仮想マシンをHyper-Vの仮想マシンに変換してください:
- 仮想マシンとサービス > ホーム > 作成 > 仮想マシンを作成 > 仮想マシンを変換 に移動します。
- 仮想マシンの変換 ウィザードで、最初に ソースの選択 ステップから始めます。参照をクリックし、 仮想マシンのソースを選択 セクションで、変換を意図した VMware仮想マシン をESXiホストから選択してください。次へをクリックしてウィザードの手順を進めます。
- 仮想マシンのアイデンティティの指定 で、必要に応じてマシン名と説明を調整してください。
- 仮想マシンの設定で、変換後に作成されるHyper-Vの仮想マシン向けに必要なプロセッサ数とメモリ設定を指定してください。目的のVMの世代はGeneration1かGeneration2を選択できます。
- ホストを選択 セクションで、VM配置用のHyper-VホストまたはAzure Stack HCIホスト(VMM 2019 UR3以降の場合)を指定してください。”選択したVMネットワークに接続できる利用可能な接続が見つかりません“というメッセージが表示される場合は、ファブリックリソースに移動し、論理ネットワークセクションを見つけてネットワークを設定してください。設定を編集後、仮想マシンの変換を再起動する必要があります。
- パスを選択 で、ホスト上でVMファイルのストレージの所在地を設定してください。 デフォルトのVMパスがリストに提供されています。
- ネットワークの選択 セグメントで、必要に応じて論理ネットワーク、バーチャルネットワーク、およびVLANを選択します。
- プロパティの追加 の下で、必要な設定を構成します。 コンバージョン/デプロイ後に適用されるVMの電源オン/オフのオプションを選択できます。
- サマリー で、設定を確認し、必要に応じてデプロイ後に仮想マシンを開始することを選択します。 スクリプトを表示 をクリックし、このコマンドセットを使用して他のVMware VMをHyper-V VMに変換するためのPowerShellコマンドを含むテキストファイルをセーブすることができます。
- 作成 をクリックして、変換プロセスを開始します。 VMとサービス > ホーム > 表示 > VMs を訪れて、VM の変換の進捗状況と完了を確認します。
New-SCV2V -VMHost <Host> -VMXPath <string> [options] このVMMコンバージョンツールを使用して、System Centerのジョブのリストを開き、VMwareからHyper-Vへのマイグレーションの進捗を表示できます。 変換速度は、VMのサイズ、ネットワーク速度、CPU、メモリ、およびインフラストラクチャ内のサーバーのストレージリソースに依存しています。
PowerShellでVMMでVMware VMをHyper-Vに変換するには、以下のcmdletを使用できます:
スムーズな移行のためのベストプラクティス
-
以下のベストプラクティスに従うことで、VMがVMwareからHyper-Vに正常に移行することを保証できます:
- 移行前の計画を行います。 VM移行の目的を特定します。 VMのゲストオペレーティングシステムがHyper-Vと互換性があることを確認します。 Hyper-V環境に十分なリソース(CPU、メモリ、ストレージ)があることを確認してください。
- VMware環境ではなく、Hyper-V環境でVMを実行した場合の仮想インフラストラクチャの運用コストを計算します。
- 複数のVMを移行する場合、VMの依存関係を評価します。 ネットワーキング、ストレージ、アプリケーション設定などの依存関係を特定して文書化します。 VMが移行された後にもこれらの依存関係を維持する必要があるかもしれません。 Active Directoryやデータベースのようなサービスとの統合を確認してください。
- 既存のVM(ソースVM)のバックアップを行います。 何かがうまくいかない場合、バックアップからVMを回復することができます。
- ダウンタイムを最小限に抑えるために、VM移行を慎重にスケジュールします。
- VMware VMをHyper-Vに移行するための最適なツールを選択します。
- 非クリティカルなVMや小さいサイズのVMから移行を始めます。 このアプローチにより、移行プロセスの動作を確認し、必要に応じて調整を行うことができます。
- VMは一度にすべて移行するのではなく、順次(バッチ単位で)移行してください。これにより、パフォーマンスへの悪影響を最小限に抑え、移行プロセスをより適切に管理することができます。
移行後の手順
移行されたHyper-V VMの設定の一部は、VMの変換および移行中に構成できます。ただし、使用するコンバータアプリケーションによっては、移行後にVMの設定を行う必要がある場合があります。 自動変換ツールはより多くの設定オプションに対応していますが、手動変換の場合は移行後の手順がより多く必要となります。移行されたVMが正常に動作し、新しい環境でも期待通りの機能で引き続き使用できるようにするため、以下の移行後の作業を行うことをお勧めします。
Hyper-V での VM の機能確認
移行された VM が Hyper-V 環境で意図したとおりに機能することを確認してください。これが最優先事項です。
- Hyper-V 上で各移行済み VM を起動し、エラーなく起動することを確認してください。
- ドライバの欠落、ネットワーク設定の不備、サービスの障害などの問題がないか確認してください。
- アプリケーションおよびサービスの機能を検証してください。VM 内のすべての重要なアプリケーション、サービス、データベースが正常に実行されていることを確認してください。
- VM と他の依存システムやネットワーク間の接続性をテストします。
- CPU、メモリ、ストレージの設定が VM のワークロードに適しており、移行前のパフォーマンスベンチマークと一致していることを確認します。
- 移行先の Hyper-V ホスト上のパフォーマンスを監視します。Hyper-V パフォーマンスモニターまたはその他のツールを使用して、CPU、メモリ、ディスク I/O、およびネットワークの使用状況を観察します。
- パフォーマンスのボトルネックや異常が見つかった場合は、対処します。
変換されたVMの設定の最適化
Hyper-Vホスト上の変換済みVMの設定を最適化し、VMのパフォーマンスが最適になるようにします。
- Hyper-V統合サービスがインストールされていない場合は、移行されたVMにインストールします。
- 該当する場合は、Hyper-Vホストのリソースをより効率的に利用するために、ダイナミックメモリを有効にします。
- ネットワーク設定を確認します。VMが正しいHyper-V仮想スイッチに接続されていることを確認します。 新しいネットワークに合わせて、静的 IP アドレスや DNS 設定などの IP 構成を更新します。
- VM の移行前に VMware Tools がアンインストールされていない場合は、アンインストールしてください。
新しい Hyper-V VM のバックアップの作成
VMware から Hyper-V への移行が正常に完了し、移行された VM が正常に動作することを確認したら、Hyper-V ホスト上に存在する移行済み VM をバックアップします。 障害発生時のデータ損失やダウンタイムを回避するために、これらの Hyper-V 仮想マシンをバックアップから復元することができます。バックアップのスケジュールと保存期間の設定を行い、災害復旧計画を策定し、仮想マシンの復旧プロセスをテストしてください。 NAKIVO Backup & Replication を使用して、VMware VM、Hyper-V VM、および Proxmox VE VM などのその他のサポート対象プラットフォームをバックアップします。
結論
Microsoft Virtual Machine Converter (MVMC) は、VMware VM を Hyper-V 形式に変換するために使用できる、最も手頃な価格のツールの 1 つです。これには、GUI ツールと PowerShell 用のコマンドラインツールが含まれています。MVMC GUI を使用すると、ESXi ホスト上で実行されている VM 全体を変換できます。 PowerShell コマンドレットを使用すると、ESXi 形式および Workstation 形式の個々の VMware 仮想ディスクを変換できます。
どの仮想化プラットフォームを使用している場合でも、データ損失やダウンタイムを防ぐために、仮想マシンをバックアップする必要があります。NAKIVO Backup & Replication は VMware VM および Hyper-V VM のバックアップとレプリケーションが可能であり、高度な クロスプラットフォームでの復元 機能により、VMware のバックアップから復元した VM を Hyper-V 上で実行したり、その逆を行ったりすることもできます。