VMware VM を Hyper-V VM に変換する必要がある場合があります。たとえば、複数のハイパーバイザー環境があるか、テストのために VMware から Hyper-V への移行が必要な場合、特定のソフトウェアにより合理的なライセンスモデルが必要な場合などです。ただし、これら2つの仮想化プラットフォームにはいくつかの顕著な違いがあります。
スムーズで成功する移行のためには、VMware から Hyper-V VM への変換プロセスを理解することが重要です。このブログ投稿では、VMware VM を Hyper-V VM に変換するための最も手頃な方法とツールの一部を説明します。
変換ツールと方法の概要
以下は、Microsoft から利用可能な VMware VM を Hyper-V に変換するための最も広く使用されている方法です:
- Microsoft Virtual Machine Converter (MVMC)。MVMC は、GUI(グラフィカルユーザーインターフェイス)を備えた無料のスタンドアロンツールで、仮想マシン(および物理マシンを仮想マシンに変換することもできます)を変換できます。これを使用して、VM を Microsoft Hyper-V または Azure に移動し、VMware ESXi VM を Hyper-V フォーマットの VM に変換できます。
- VMDK を VHD に変換し、PowerShell を使用して変換された仮想ディスクを新しい Hyper-V VM にアタッチする。仮想ディスクファイルが利用可能であるが VMX 構成ファイルなどのすべての VM ファイルがない場合にこの方法を使用できます。この方法を使用すると、VMware Workstation VM および VMware ESXi VM を変換できます。
- System Center Virtual Machine Manager(VMM)を使用したVMの変換。VMMは、Hyper-VやVMware環境の中央集中管理を可能にする商用ソフトウェアソリューションであり、VM、ホスト、クラスターの管理、およびVM変換機能を提供しています。
VMwareからHyper-Vへの移行の準備
VMware VMをHyper-Vに変換する前に、以下の作業を行って、エラーを防止し、移行プロセスを効率化する必要があります:
- 不要な仮想デバイスを削除し、仮想CDを排出します。 仮想フロッピードライブやCOMやLPTコントローラーなどのデバイスを削除して、互換性を向上させ、可能な混乱を防ぎます。Generation-1 Hyper-V VMを作成する場合は、後でこれらのデバイスを追加できます。
注: MVMC 3はHyper-V Generation 2 VMをサポートしていません。
- 仮想ハードディスクをクリーンアップします。 仮想ディスク上の一時ファイルやその他不要なファイルを削除します。未使用のプログラムやコンポーネントを削除します。このアプローチにより、宛先仮想ディスクが動的に拡張される場合(スリンプロビジョニング)、ディスクスペースと時間を節約できます。
- すべてのVMスナップショットを削除/統合します。 VMにスナップショットが含まれていない場合、VM変換中のエラーの発生確率が低減します。
- オンライン変換(オンラインのみ)の前にVMware Toolsをアンインストールしてください。これにより、VMwareベースのVMをHyper-Vに移行するクリーンな方法が提供されます。Hyper-Vでは、Hyper-V Integration Servicesユーティリティスイートが提供されており、仮想マシンのゲストオペレーティングシステムのパフォーマンスを向上させるよう設計されています。
VMwareからHyper-Vへの移行の追加の考慮事項
Microsoft Virtual Machine Converter(MVMC)は、VMware Toolsをアンインストールする前に変換されるVMのスナップショットを取得し、その後、変換中に状態を保持するためにソースマシンをシャットダウンします。仮想マシンは、変換プロセスが実行されるマシンにソースディスクが正常にコピーされた後、前の状態に復元されます。その時点で、必要に応じてVMwareのソースマシンを起動できます。
MVMCは、オフライン変換中にVMware Toolsをアンインストールしません。代わりに、Windows Serverゲストオペレーティングシステムに対してVMwareサービス、ドライバー、およびプログラムを無効にします。Linuxゲストオペレーティングシステムのファイル変換では、VMware Toolsは無効にされず、アンインストールされません。オフライン仮想マシンを変換する場合は、VMware Toolsを手動でアンインストールすることを強くお勧めします。
Microsoft Virtual Machine Converterを使用した変換
Microsoft Virtual Machine Converterを使用して、VMwareベースのVMをHyper-V VMに変換する場合を考えてみましょう。
入力パラメータは次のとおりです:
- A VM (virtual hardware version 7) is running on ESXi 6.5 (though the explained workflow is true for other/later virtual hardware versions).
- 仮想マシンには、スナップショットのない仮想ディスクが1つあります。
- VMware Toolsスイートがインストールされていません。
変換プロセスを開始するには:
- 実行可能インストーラー .msi ファイルを使用してMVMCをダウンロードします。スタンドアロンのMVMCの最新バージョンはバージョン3.1です。Windows PowerShellのコマンドレットの説明が含まれた .doc ファイルもダウンロードできます。
注意: より新しいバージョンのMicrosoft Virtual Machine Converterを使用するには、MicrosoftがスタンドアロンのMVMCの新しいバージョンのリリースを終了したため、このツールをMicrosoft System Center Virtual Machine Manager(VMM)の一部として使用できます。
- インストールプロセスは簡単です: インストーラーを実行し、ライセンス契約に同意し、インストール先を選択し、セットアップウィザードでInstallをクリックします。VM変換中に作成される一時ファイルのスペースも含め、十分なディスクスペースがあることを確認してください。
- インストールプロセスが完了したら、コンバーターを実行します。Start > Microsoft Virtual Machine Converterをクリックしてコンバーターを実行します。
- Before You Begin画面で、簡単な説明を読むことができます。コンバーターを実行するたびにこの画面を表示したくない場合は、Do not show this page againチェックボックスを選択してください。Nextをクリックして進みます。
- Machine Type。変換するソースマシンのタイプを選択します。この場合、Virtual machine conversionを選択します。Nextをクリックします。
- 目的のHyper-Vホストを選択します。この例では、Hyper-Vサーバーがローカルホストで実行されています(コンバーターとHyper-Vサーバーが同じマシンにインストールされています)。Microsoft Virtual Machine Converterは、変換されたVMをネットワーク経由でオフサイトの宛先ホストに保存することもできます。
コンバーターとHyper-Vホストが異なるマシンで実行されている場合は、ファイアウォールが適切に構成されていることを確認してください。Windows Management Instrumentation
を介したリモートアクセスを有効にし、宛先マシンで適切なサービスが開始されている必要があります。
宛先ホストの名前またはIPアドレスを選択し、Hyper-Vホストに接続するための十分なアクセス権を持つユーザーの資格情報を追加します(宛先Hyper-Vホストのローカル管理者とドメイン管理者にはこの種のアクセス権があります)。 次に進むには、
次へ をクリックします。
コンバーターとHyper-Vホストが異なるマシンで実行されている場合は、ファイアウォールが適切に構成されていることを確認してください。 Windows Management Instrumentation を介したリモートアクセスを有効にし、宛先マシンで適切なサービスが開始されている必要があります。 - Hyper-Vホストの宛先を選択します。この例では、Hyper-Vサーバーはローカルホスト(コンバーターとHyper-Vサーバーがインストールされている同じマシン)上で実行されています。Microsoft Virtual Machine Converterは、ネットワーク上のオフサイトの宛先ホストに変換されたVMを保存することもできます。
コンバーターとHyper-Vホストが異なるマシン上で実行されている場合は、ファイアウォールが適切に構成されていることを確認してください。リモートアクセスはWindows Management Instrumentation経由で有効になっており、宛先マシンで適切なサービスが開始されている必要があります。
宛先ホストの名前またはIPアドレスを選択し、Hyper-Vホストに接続するための十分なアクセス権限を持つユーザーの資格情報を追加します(宛先Hyper-Vホストのローカル管理者とドメイン管理者はこの種のアクセス権限を持っています)。次に、次へをクリックして進んでください。
- 本番環境でのVMの保存には、システムディスク(通常はC:)の使用を避けることが推奨されています。たとえば、Hyper-Vホストがリモートマシンである場合、選択したパスは次のようになります:\\10.10.10.12\d$\Virtual\Hyper-V
変換後に使用される仮想ディスクのタイプを選択してください。仮想ディスクは2種類あります:
固定サイズのディスク
(厚型プロビジョニングディスクのアナログ)または動的拡張ディスク(薄型プロビジョニングディスクのアナログ)。この手順では、ストレージスペースを節約するために動的拡張ディスクが選択されています。
仮想ハードディスクのフォーマットを選択してください:.vhdxは、
Hyper-V Gen1およびGen2 VM
で使用されるより新しい、より進歩的なファイルフォーマットです。この手順では、.vhdxを選択しました。次へをクリックして続行します。
- ソースの詳細を指定して、vCenterサーバーまたはESXiサーバーに接続します。この例では、ESXiサーバー上で実行されているVMが変換されています。したがって、このステップではESXiサーバーのIPアドレス、ユーザー名、およびパスワードを入力する必要があります。vCenterがESXiホストの一元管理に使用されている場合は、管理者資格情報を使用できます。次へをクリックして進んでください。
- 次に、選択したESXiサーバーから変換する仮想マシンを選択します。この例では、ESXiホスト上で実行されている軽量のWindows VMが変換されています。VMを選択したら、次へをクリックします。
- 仮想マシン接続。Linux仮想マシンにVMware Toolsがインストールされている場合、コンバーターがVMware Toolsをアンインストールするために、ソースVMのルートアカウントのユーザー名とパスワードを提供する必要があります。この例では、VMware ToolsがインストールされていないWindowsマシンを使用しており、これらのフィールドは非アクティブです。ソースマシンの最終状態と宛先マシンの最終状態を定義します(オンまたはオフ)。次へをクリックします。
- ワークスペースの定義。ワークスペースは、変換プロセス中に一時ファイルを保存するために使用される一時フォルダーです。より良いパフォーマンスを得るために、このフォルダーはMicrosoft Virtual Machine Converterがインストールされているマシン上にあるべきです。パスを入力するか、参照ボタンをクリックして適切なフォルダーを選択してください。そして、次へをクリックします。
- 要約を確認してください。指定した構成の詳細を確認してください。警告が重大でない場合は、進むことができます – これらは変換を妨げません。この場合、コンバーターがWindows 10、Windows Server 2016、2019、および新しいWindowsバージョンで機能するため、オペレーティングシステムの警告を無視します。後でメモリ設定を調整できます。仮想マシンの変換プロセスを開始するには、完了をクリックしてください。
- VM変換が完了するまで待ちます。プロセスの長さは、ソースVMの仮想ディスクのサイズとネットワーク速度によって異なります。変換が成功した場合は、閉じるをクリックして仮想マシンコンバーターを終了してください。
- さて、VM変換の異なる使用ケースを考えてみましょう。VMware VM仮想ディスクのみを持っている場合や、VMware Workstation用のVM(ESXi用ではない)がある場合、Microsoft Virtual Machine Converter GUIは使用できません。MVMCをインストールすると、いくつかの便利なPowerShellコマンドレットも提供されます。次の例では、コマンドラインインターフェイス(CLI)を使用してVMDK仮想ディスクをHyper-V形式のディスクに変換し、その仮想ディスクをHyper-Vで実行する方法を学ぶことができます。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 \ Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"
- VMの設定を構成した後、VMを起動し、ゲストOSを構成してください。OSが新しい仮想デバイスを認識するまで待ちます。より良いパフォーマンスとユーザーエクスペリエンスを実現するために、Hyper-V Integration Servicesをインストールすることを忘れないでください。Integration Servicesの手動インストールの場合、VMの仮想DVDドライブにvmguest.isoイメージを挿入し、インストーラーを実行してください。インストールが完了したら、VMを再起動し、仮想ISOディスクを排出してください。
PowerShellを使用したVMDKからVHDへの変換
次に、VM変換の異なるユースケースを考えてみましょう。VMwareの仮想ディスクのみを持っている場合、または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\StorageLinux
dir
ここに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> 仮想ディスクのタイプを定義します – 動的に拡大するか固定かのいずれかです。
–VhdFormat Hyper-V仮想ディスクの形式を定義します(VHDまたはVHDX)。
変換プロセスが完了するまで待ちます。進行状況バーは現在の状態を示します。
- VMDKからVHDへの仮想ディスクの変換が正常に完了すると、画面上に以下が表示されるはずです:
- 仮想マシン(VM)を新たに作成し、変換によって作成されたVHDディスクを使用する方法について説明します。この手順については、Hyper-Vで新しい仮想マシンを作成する方法に関するブログ記事を参照してください。重要なポイントは、仮想ディスクとの接続です。新しい仮想マシンウィザードの適切なステージで、既存の仮想ハードディスクを使用するを選択し、新しく作成されたVHDファイルの場所を指定します。
- VMの設定が完了したら、Hyper-Vホスト上で仮想マシンを実行してください。
この方法を使用して、複数の仮想ディスクを持つVMを変換することもできます。この場合、各仮想ディスクは変換後にVMに接続する必要があります。
VMware ESXi形式の仮想ディスクの変換
まず、ESXiホストのデータストアからMicrosoft Virtual Machine Converterがインストールされたマシンに仮想ディスクファイルをコピーする必要があります。この場合、1つのVMware仮想ディスクは2つのファイルで構成されます:diskname.vmdkとdiskname-flat.vmdkです。.vmdkファイルは、仮想ディスクの構成に関する情報を含んでおり、-flat.vmdkファイルを指しています。仮想ディスクデータ自体は、-flat.vmdkファイル(生の形式で、物理ハードディスクドライブと同様に)に格納されています。.vmdkファイルのサイズは数キロバイトですが、-flat.vmdkファイルのサイズははるかに大きくなります。VMware仮想ディスクファイルをESXiホストからコピーするには、VMware vSphereクライアントまたは任意のSCP(Secure Copy Protocol)クライアントを使用できます。
VMware vSphereクライアントを使用したファイルのコピー
この方法は、vCenter ServerでESXiホストを管理している場合に使用できます。
- VMware vSphereクライアントでvCenterにログインする – ウェブブラウザのアドレスバーにvCenter ServerのIPアドレスを入力します。
- 「Storage」タブに移動し、VMのファイルがあるデータストアを選択し、VMディレクトリを選択し、変換すべき仮想ディスクを選択します。
- WinSCPを実行し、IPアドレス、ポート番号、およびrootの資格情報を入力してESXiサーバーにログインします。WinSCPには、ファイルとディレクトリにアクセスできる2つのメインパネルを備えた直感的なGUIがあります。左パネルで、変換前のVMDKファイルが保存されているディレクトリに移動します。右パネルで、ESXiデータストア上のVMディレクトリに移動します。この例では、そのディレクトリへのパスは/vmfs/volumes/SSD2/Win-test2です。必要な2つの仮想ディスクファイル(.vmdkおよび-flat.vmdk)を選択し、それらをローカルディレクトリにコピーします。単にファイルをドラッグアンドドロップします。ESXiからコピーされたVMDK仮想ディスクを変換する
ESXiからコピーされたVMware仮想ディスクファイルは、今やMicrosoft Virtual Machine Converterを備えたWindowsマシン上にあります。VMwareをHyper-V仮想ディスク形式に変換する必要があります。ESXi VMの仮想ディスクを変換することは、VMware Workstation VMの仮想ディスクを変換するのと似ています。主な違いは、1つのファイルではなく2つのファイル(.vmdkおよび-flat.vmdk)があることです。PowerShellを開き、適切な変換モジュールがインポートされていることを確認します。されていない場合は、次のコマンドを入力します:
Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"
Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"
-
zipアーカイブがダウンロードされたら、仮想ディスクファイルを抽出します。
- ファイルを抽出した後、-flat.vmdk仮想ディスクファイルが8 GBのディスクスペース(現在の仮想ディスクの最大プロビジョニングサイズ)を消費していることがわかり、1.64 GBではありません。後で、この仮想ディスクをHyper-V用の動的に拡張する仮想ディスクに変換できます。
WinSCPクライアントを使用したファイルのコピー
WinSCPは、SCP、SFTP(SSHセキュアシェルファイル転送プロトコル)、FTP、WebDAVプロトコルを使用したデータ転送のための無料アプリケーションです。可能であればSFTPが好まれます。公式ウェブサイトからWinSCPをダウンロードできます。
WinSCPを起動し、IPアドレス、ポート番号、およびroot資格情報を入力してESXiサーバーにログインします。
WinSCPには、ファイルおよびディレクトリにアクセスできる2つの主要パネルがある直感的なGUIがあります。左パネルで、変換前のVMDKファイルが保存されているディレクトリに移動します。右パネルで、ESXiデータストアのVMディレクトリに移動します。
この例では、そのディレクトリへのパスは/vmfs/volumes/SSD2/Win-test2です。必要な2つの仮想ディスクファイル(.vmdkおよび-flat.vmdk)を選択し、ローカルディレクトリにコピーします。ファイルをドラッグアンドドロップするだけです。
ESXiからコピーされたVMDK仮想ディスクの変換
ESXiからコピーされたVMware仮想ディスクファイルは、Microsoft Virtual Machine Converterを使用してWindowsマシンに配置されています。VMwareをHyper-V仮想ディスク形式に変換する必要があります。ESXi VMの仮想ディスクの変換は、VMware Workstation VMの仮想ディスクの変換に似ています。主な違いは、単一のファイルではなく、2つのファイル(.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は、descriptorのサポートされていないディスクデータベースエントリです。
このエラーは、VMDK形式からVHD形式への仮想ディスクの変換時に発生し、Microsoft Virtual Machine Converterがディスクデータベースの一部のエントリを認識できないことを意味します。エントリ番号は変動する可能性があります – たとえば、1の代わりに2、3、4などが表示される場合があります。この問題を修正するには、仮想ディスクの記述子を編集します。
VMware Workstation形式の仮想ディスクの問題を修正する
A VMDK virtual disk of a VMware Workstation format has an embedded descriptor (the descriptor is integrated into the VMDK file with the disk data). You need to download a free utility kit to extract the virtual disk descriptor to a TXT file. You can then edit the descriptor and import the edited descriptor from the TXT file back into the VMDK file. The name of the utility kit is dsfok tools (DS File Ops Kit). You can download the dsfok kit here.
- アーカイブからファイルを抽出し、たとえば、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 Workstation形式のVMDKファイルに再インポートする必要があります。これを行うには、次のパラメータで
dsfi.exe
を実行します。dsfi.exe "C:\virtual\win7x64\win7x64.vmdk" 512 1024 descriptor-win7x64.txt
- 次に、VMDK仮想ディスクをVHD形式に変換するために、PowerShellで次のコマンドを実行します。
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 /fixmbr
bootrec /fixboot
仮想マシンを再起動し、仮想ハードディスクからブートしてください。
- あなたのVMは現在正常にブートするはずです。
バイナリディスクの問題を修正するために、VMware ESXiフォーマットのバイナリディスクを修正しましょう。
VMware ESXiからHyper-Vに仮想マシンをエクスポートする際に、同様の問題を解決する方法を調べてみましょう。Linux VM(VM名はNAKIVO-clone)を使用して、Microsoft Virtual Machine Converterが次のエラーを返します:エントリ4は、記述子のサポートされているディスクデータベースエントリではありません。この問題を修正する方法は、前の例で説明した方法と似ています。VMの各仮想ディスクの記述子を編集する必要があります。
VMがVMware Workstation上で実行されている場合、仮想ディスクには埋め込みの記述子があります(記述子はVMDKファイルに統合されています)。一方、VMがESXiホスト上で実行されている場合、仮想ディスクデータと記述子は別々のファイルに保存されます。ESXiホスト上でSSHアクセスを有効にし、変換したいVMが登録されているホストにログインします。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からの応答を複数回試みたが失敗しました。内部例外を参照してください
このエラーは、Microsoft Virtual Machine ConverterのGUIでESXiホストがソースとして定義されている場合に発生することがあります。vCenter Serverを使用してESXiホストを管理している場合、現在のホストを含めて、ソースセクションでvCenter Serverの名前またはIPアドレスと資格情報を定義してください。
A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled)
マイクロソフトの仮想マシンコンバーターを使用して、ESXiからHyper-V形式へのVMをコンバートする際に、このエラーが発生することがあります。この場合、仮想ディスクファイル(.vmdkおよび–flat.vmdk)をコンバーターがインストールされたマシンにコピーし、PowerShellで仮想ディスクをコンバートしてから、新しいHyper-V VMを作成し、そのVMにディスクをアタッチします。
VMMでのVMware VMからHyper-Vへのコンバート
System Center Virtual Machine Manager (VMM)は、広範なオプションを持つ大規模なソリューションであり、VMware VMをHyper-V VMにコンバートすることができます。VMMは通常、Hyper-VホストとWindowsサーバーを持つ大規模な環境で使用されます。
要件
- System Center Virtual Machine Manager 2022は、vSphere 6.5以降のVMware VMのコンバートをサポートしています。
- ESXiホストはSystem Center Virtual Machine Managerに追加する必要があります
- EFIベースのVMware VMをGeneration-2 Hyper-V VMにコンバートすることがサポートされています
- VMware Workstation VMはVMMでコンバートできません
- 仮想IDEコントローラに接続された仮想ハードディスクはコンバートできません
- ソースVMは、VMwareからHyperVへのコンバートプロセスを開始する前にオフにする必要があります
- VMware VMをHyper-V形式にコンバートする前に、VMware Toolsをアンインストールしてください
VMMのウィザードを使用する
VMware VMをHyper-V VMにコンバートするために、以下の手順を実行してください。
- ナビゲートして VMs and Services > Home > Create > Create Virtual Machines > Convert Virtual Machine.
- Convert Virtual Machine ウィザードでは、Select Source ステップから始めます。Browse をクリックし、Select Virtual Machine Source セクション内で、ESXi ホストから変換する予定の VMware VMs を選択します。ウィザードの各ステップで Next をクリックして続行します。
- Specify Virtual Machine Identity で、マシン名と説明を必要に応じて調整します。
- Virtual Machine Configuration で、変換後に作成される Hyper-V VM のプロセッサ数とメモリ設定を指定します。Generation1 または Generation2 を選択できます。
- Select Host セクションで、VM の配置先となる Hyper-V ホストまたは Azure Stack HCI ホスト (VMM 2019 UR3 以降の場合のみ適用) を指定します。メッセージ “No available connection to selected VM Network can be found” が表示された場合は、Fabric Resources に移動し、Logical networks セクションを検索してネットワークを構成します。これらの設定を編集した後、VM の変換を再起動する必要がある場合があります。
- Select Path で、ホスト上の VM ファイルのストレージ場所を構成します。リストには既定の VM パスが表示されます。
- Select Networks セグメントで、必要に応じて論理ネットワーク、仮想ネットワーク、VLAN を選択します。
- プロパティの追加の下で、必要な設定を構成します。変換/展開後に適用されるVMのPower On / Power Offオプションを選択できます。
- 概要で設定を確認し、必要な場合は展開後に仮想マシンを起動するように選択します。 スクリプトを表示をクリックして、このセットのコマンドを使用してさらにVMware VMをHyper-V VMに変換するためのPowerShellコマンドのテキストファイルを保存できます。
- 作成をクリックして変換プロセスを開始します。 VMとサービス > ホーム > 表示 > VMを訪れることで、VMの変換の進行状況と完了を確認できます。
このVMM変換ツールを使用して、VMwareからHyper-Vへのマイグレーションの進行状況を表示するために、System Centerのジョブのリストを開くことができます。変換速度は、インフラストラクチャのサーバーのVMのサイズ、ネットワーク速度、CPU、メモリ、およびストレージリソースに依存します。
PowerShellでVMMを使用してVMware VMをHyper-Vに変換するには、次のコマンドレットを使用できます:
New-SCV2V -VMHost <ホスト> -VMXPath <文字列> [オプション]
結論
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で実行したり、その逆も可能です。
Source:
https://www.nakivo.com/blog/how-to-convert-vmware-vm-to-hyper-v/