VMDK(VMware)をVHD、VHDX(Hyper-V)に変換する

VMwareからHyper-Vへの移行完全ガイド – 初心者でも必ず成功する詳細手順

はじめに:2020年から大きく変わった状況

2020年の記事執筆時から、VMwareとHyper-Vを取り巻く環境は劇的に変化しました。

主な変化点

  1. Microsoft Virtual Machine Converter (MVMC) の廃止
    • 2017年に正式サポート終了
    • 2020年の記事で使用していたツールは現在使用不可
  2. VMwareの大変動
    • 2023年12月:BroadcomがVMwareを買収
    • 永続ライセンスの廃止、サブスクリプションモデルへ完全移行
    • 最小72コアのライセンス購入要件(2025年4月10日から)
    • 価格が3〜6倍に上昇する事例も多数
  3. 新しい移行ツールの登場
    • Windows Admin Center with VM Conversion extension(2025年最新)
    • System Center Virtual Machine Manager 2025の機能強化
    • サードパーティツールの進化

移行方法の選択肢(2025年版)

方法1:Windows Admin Center with VM Conversion extension【推奨・無料】

特徴:

  • 2025年にパブリックプレビューとして登場した最新ツール
  • 完全無料、エージェントレス
  • GUIで直感的に操作可能
  • 一度に10台までのVMを移行可能

方法2:System Center Virtual Machine Manager (SCVMM) 2025

特徴:

  • エンタープライズ向けの最も包括的なソリューション
  • VMware vCenter Serverとの直接統合
  • 最大100台のVMの並列変換サポート
  • ライセンス費用が必要

方法3:PowerShellコマンドレット(無料)

特徴:

  • スクリプトによる自動化が可能
  • 技術的な知識が必要
  • 柔軟性が高い

方法4:StarWind V2V Converter(無料サードパーティ)

特徴:

  • 無料で高機能
  • 直接変換でダウンタイムを最小化
  • 2025年6月版(バージョン9)でCLIサポート追加

事前準備チェックリスト

必ず確認すべき項目

  • [ ] VMwareツールのアンインストール
    • 移行前に必ずVMware Toolsを削除
    • 削除しないと起動しない場合があります
  • [ ] スナップショットの削除
    • すべてのスナップショットを削除または統合
    • スナップショットがあると変換に失敗します
  • [ ] VMの電源オフ
    • オンライン変換は現在サポートされていません
    • 必ず電源を切ってから作業開始
  • [ ] ディスク容量の確認
    • 変換元VMのサイズ×2以上の空き容量を確保
    • Dynamic VHDXでも一時的に大きな容量が必要
  • [ ] ネットワーク設定のメモ
    • IPアドレス、サブネットマスク、ゲートウェイ
    • DNS設定、VLANタグ情報

方法1:Windows Admin Center(最新・推奨)による移行手順

ステップ1:Windows Admin Centerの準備

1-1. Windows Admin Centerのインストール

# PowerShellを管理者として実行
# Windows Admin Centerの最新版をダウンロード
Invoke-WebRequest -Uri "https://aka.ms/wacdownload" -OutFile "WindowsAdminCenter.msi"

# インストール実行
msiexec /i WindowsAdminCenter.msi /qn

1-2. VM Conversion extensionのインストール

  1. Windows Admin Centerを開く(https://localhost:6516)
  2. 右上の「設定」ボタンをクリック
  3. 左ペインで「拡張機能」を選択
  4. 「利用可能な拡張機能」タブで「VM Conversion Extension」を検索
  5. 「インストール」をクリック

ステップ2:前提条件のセットアップ

2-1. PowerCLIのインストール

# PowerShell Coreを管理者として実行
Install-Module -Name VMware.PowerCLI -Scope AllUsers -Force

# 証明書警告を無効化(テスト環境のみ)
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

2-2. 必要なコンポーネントのインストール

# Microsoft Visual C++ Redistributableのインストール
# 最新版をダウンロード
Invoke-WebRequest -Uri "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "vc_redist.x64.exe"
Start-Process -FilePath "vc_redist.x64.exe" -ArgumentList "/quiet" -Wait

# Visual C++ Redistributable 2013もインストール
Invoke-WebRequest -Uri "https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe" -OutFile "vcredist2013_x64.exe"
Start-Process -FilePath "vcredist2013_x64.exe" -ArgumentList "/quiet" -Wait

2-3. VMware VDDKのセットアップ

  1. Broadcom Support Portalにログイン(要アカウント)
  2. VMware Virtual Disk Development Kit 8.0.3をダウンロード
  3. ダウンロードしたファイルを解凍
  4. 解凍したフォルダを以下にコピー:
C:\Program Files\WindowsAdminCenter\Service\VDDK\

ステップ3:移行の実行

3-1. vCenterへの接続

  1. Windows Admin CenterでHyper-Vサーバーに接続
  2. 左ペインで「拡張機能」→「VM Conversion」を選択
  3. 「Connect to vCenter」をクリック
  4. 以下の情報を入力:
    • vCenter FQDN: vcenter.yourdomain.local
    • ユーザー名: administrator@vsphere.local
    • パスワード: ********

3-2. VMの選択と同期

  1. VM一覧から移行するVMを選択(最大10台)
  2. 「Synchronize」をクリック
  3. データ保存パスを指定:
    例: C:\VMConversion\TempData
  4. 同期が100%完了するまで待機

3-3. 移行の実行

  1. 「Migrate」タブに移動
  2. 移行するVMを選択
  3. 「Migrate」をクリック
  4. 静的IPアドレスを維持する場合はチェックボックスをオン
  5. 「Proceed」をクリックして移行開始

ステップ4:移行後の作業

4-1. Hyper-V統合サービスのインストール

# VMを起動後、PowerShellで実行
Enable-VMIntegrationService -VMName "移行したVM名" -Name "Guest Service Interface"

4-2. ネットワークの再設定

  1. Hyper-Vマネージャーを開く
  2. VMの設定→ネットワークアダプター
  3. 仮想スイッチを選択
  4. VLANが必要な場合はVLAN IDを設定

4-3. ディスクの最適化(推奨)

# Dynamic VHDXをFixed VHDXに変換(パフォーマンス向上)
Convert-VHD -Path "C:\VMs\VM名.vhdx" -DestinationPath "C:\VMs\VM名_Fixed.vhdx" -VHDType Fixed

方法2:PowerShellによる直接変換(上級者向け)

ConvertTo-MvmcVirtualHardDiskコマンドレットの使用

# MvmcCmdletモジュールのインポート(MVMCがインストール済みの場合)
Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"

# VMDK to VHDX変換
ConvertTo-MvmcVirtualHardDisk `
    -SourceLiteralPath "C:\Source\VM.vmdk" `
    -DestinationLiteralPath "C:\Destination\VM.vhdx" `
    -VhdType DynamicHardDisk `
    -VhdFormat Vhdx

Convert-VHDコマンドレットの使用(Hyper-V標準)

# 注意:Convert-VHDはVMDKを直接サポートしていません
# 一度VHDに変換してからVHDXに変換する必要があります

# VHD to VHDX変換
Convert-VHD -Path "C:\VMs\Source.vhd" -DestinationPath "C:\VMs\Destination.vhdx"

トラブルシューティング

よくある問題と解決方法

問題1:変換後VMが起動しない

原因と対策:

  • VMware Toolsが残っている → Safe Modeで起動して削除
  • ブート設定の問題 → Generation 1/2の選択を確認
  • ドライバーの問題 → Hyper-V統合サービスを再インストール

問題2:ネットワークが認識されない

解決手順:

# デバイスマネージャーで古いNICを削除
devmgmt.msc

# 新しいネットワークアダプターを追加
Add-VMNetworkAdapter -VMName "VM名" -SwitchName "仮想スイッチ名"

問題3:ディスクが認識されない

対策:

# ディスクポリシーの変更(VMware側で事前に実行)
Set-StorageSetting -NewDiskPolicy OnlineAll

問題4:パフォーマンスが低下した

最適化手順:

  1. Dynamic VHDXをFixed VHDXに変換
  2. 4Kセクターサイズに変更
  3. VMのメモリ設定を最適化
# 4Kセクターサイズの確認と変更
Get-VHD -Path "C:\VMs\VM.vhdx" | Select-Object LogicalSectorSize
Set-VHD -Path "C:\VMs\VM.vhdx" -PhysicalSectorSizeBytes 4096

ベストプラクティス

移行前の準備

  1. 完全バックアップの取得
    • VMwareでのフルバックアップ
    • VMDKファイルのコピー保管
  2. テスト環境での事前検証
    • 本番環境前に必ずテスト
    • アプリケーションの動作確認
  3. ダウンタイムの計画
    • 移行時間の見積もり(GB単位で30分〜1時間)
    • ロールバック計画の準備

移行後の最適化

Hyper-V設定の最適化

# 動的メモリの有効化
   Set-VMMemory -VMName "VM名" -DynamicMemoryEnabled $true `
       -MinimumBytes 2GB -StartupBytes 4GB -MaximumBytes 8GB
   
   # チェックポイントの設定
   Set-VM -VMName "VM名" -CheckpointType Production

監視とパフォーマンスチューニング

  • パフォーマンスモニターでの監視
  • 必要に応じてリソース調整

まとめ

2025年現在、VMwareからHyper-Vへの移行は、適切なツールと手順を使えば確実に成功します。特に新しいWindows Admin Centerの VM Conversion extensionは、初心者でも使いやすく、無料で利用できる優れたソリューションです。

Broadcomによる買収後のVMwareのライセンス変更により、多くの組織がHyper-Vへの移行を検討しています。この記事の手順に従えば、データ損失なく、安全に移行を完了できるはずです。

重要なのは、事前準備を怠らないこと、そして必ずテスト環境で検証してから本番環境に適用することです。

参考リンク

最終更新日:2025年9月18日

以下の記事は2020年のものです。上記のようにMicrosoft Virtual Machine Converter (MVMC) の廃止により使用不可となった可能性が高いです。進化の過程を残すために記事はそのままにしておきます。

VMwareで起動しているOSをHyper-Vで起動できるようにします。
そのためにはMicrosoftが提供するMicrosoft Virtual Machine Converterが必要ですのでダウンロードしてインストールしましょう。
インストールはダウンロードして実行するだけです。
その後下記のフォルダにファイルが追加されているのが確認できます。

C:\Program Files\Microsoft Virtual Machine Converter\

このフォルダにMvmcCmdlet.psd1というファイルが存在しており、これはPowerShellのデータファイルでメモ帳で中身を確認できます。つまり、PowerShellを利用して変換することになります。

それではPowerShellを起動しましょう。その際、右クリックして「管理者として実行する」をクリックします。入力するコマンドは下記になります。先ほど示した必要ファイルをインポートします。

import-module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"

次に変換するコマンドを入力します。

ConvertTo-MvmcVhd -SourceLiteralPath "変換元のvmdkファイルがあるフォルダ+ファイル名" -DestinationLiteralPath "vhdx,vhdファイルを作成するフォルダ+ファイル名" -VhdFormat Vhdx

自分のパソコンでは下記のコマンドが具体例となります。

ConvertTo-MvmcVhd -SourceLiteralPath "C:\Users\minok\Documents\Virtual Machines\Windows 7 x64\Windows 7 x64.vmdk" -DestinationLiteralPath "C:\ProgramData\Microsoft\Windows\Hyper-V\Windows10.vhdx" -VhdFormat Vhdx

変換元のvmdkファイルがWindows7となっていますがWindows10にアップグレードしてあります。
変換元ファイルが約30GBで多少時間を要しました。
指定先にコマンドの命令通りVHDXファイルが作成されました。

次は変換したファイルを正常にインポートして起動できるかどうか確認します。
Hyper-Vの「仮想マシンの新規作成ウィザード」をクリックし、ウィザードにしたがって進めていきます。「仮想ハードディスクの接続」項目に進んだら、「既存の仮想ハードディスクを使用する」にチェックをして、場所を先ほど説明したインポート先のvhdxファイルに指定します。

今回は正常に変換し、起動することができましたが、変換作業の時点でエラーになることも多々ありました。

コメント

タイトルとURLをコピーしました