Guía para Migrar de VMware a Hyper-V de Forma Segura

A Complete Guide to Migrating from VMware to Hyper-V: Step-by-Step Instructions for Any Skill Level

Índice

Introduction: What’s Changed Since 2020

Since the original article was written in 2020, the VMware and Hyper-V landscape has undergone significant changes.

Key Changes

  1. Discontinuation of Microsoft Virtual Machine Converter (MVMC)
    • Official support ended in 2017.
    • The tool referenced in the 2020 article is no longer available.
  2. Major Shifts at VMware
    • December 2023: Broadcom acquired VMware.
    • Perpetual licenses discontinued; full transition to subscription-only model.
    • Minimum purchase requirement of 72-core license (starting April 10, 2025).
    • Many organizations reported price increases of 3-6x.
  3. Emergence of New Migration Tools
    • Windows Admin Center VM Conversion extension (introduced in 2025).
    • Enhancements in System Center Virtual Machine Manager 2025.
    • Evolution of third-party tools.

Migration Options (2025 Edition)

Features:

  • Latest tool released as public preview in 2025.
  • Completely free and agentless.
  • Intuitive GUI-based operation.
  • Supports migrating up to 10 VMs simultaneously.

Method 2: System Center Virtual Machine Manager (SCVMM) 2025

Features:

  • Comprehensive enterprise solution.
  • Direct integration with VMware vCenter Server.
  • Supports parallel conversion of up to 100 VMs.
  • Requires licensing fees.

Method 3: PowerShell Cmdlets (Free)

Features:

  • Enables automation through scripting.
  • Requires technical expertise.
  • Highly flexible.

Method 4: StarWind V2V Converter (Free Third-Party)

Features:

  • Free with robust functionality.
  • Minimizes downtime through direct conversion.
  • CLI support added in June 2025 version (v9).

Pre-Migration Checklist

Essential Items to Verify

  • [ ] Uninstall VMware Tools
    • Always remove VMware Tools before migration.
    • If left installed, the VM may fail to boot.
  • [ ] Delete Snapshots
    • Delete or consolidate all snapshots.
    • Snapshots will cause conversion failures.
  • [ ] Power Off the VM
    • Online conversion is not currently supported.
    • Always power off the VM before starting.
  • [ ] Check Disk Space
    • Ensure at least twice the source VM size is available.
    • Even with Dynamic VHDX, substantial temporary space is required.
  • [ ] Document Network Settings
    • IP address, subnet mask, gateway.
    • DNS settings, VLAN tag information.

Step 1: Prepare Windows Admin Center

1-1. Install Windows Admin Center

# Run PowerShell as Administrator
# Download the latest version of Windows Admin Center
Invoke-WebRequest -Uri "https://aka.ms/wacdownload" -OutFile "WindowsAdminCenter.msi"

# Run the installation
msiexec /i WindowsAdminCenter.msi /qn

1-2. Install the VM Conversion Extension

  1. Open Windows Admin Center (https://localhost:6516).
  2. Click the “Settings” button in the top right.
  3. Select “Extensions” from the left pane.
  4. Search for “VM Conversion Extension” in the “Available extensions” tab.
  5. Click “Install”.

Step 2: Set Up Prerequisites

2-1. Install PowerCLI

# Run PowerShell Core as Administrator
Install-Module -Name VMware.PowerCLI -Scope AllUsers -Force

# Disable certificate warnings (for test environments only)
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

2-2. Install Required Components

# Install Microsoft Visual C++ Redistributable
# Download the latest version
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

# Also install 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. Set Up VMware VDDK

  1. Log in to the Broadcom Support Portal (account required).
  2. Download VMware Virtual Disk Development Kit 8.0.3.
  3. Extract the downloaded file.
  4. Copy the extracted folder to:
C:\Program Files\WindowsAdminCenter\Service\VDDK\

Step 3: Perform the Migration

3-1. Connect to vCenter

  1. Connect to the Hyper-V server in Windows Admin Center.
  2. Select “Extensions” -> “VM Conversion” from the left pane.
  3. Click “Connect to vCenter”.
  4. Enter the following information:
    • vCenter FQDN: vcenter.yourdomain.local
    • Username: administrator@vsphere.local
    • Password: ********

3-2. Select and Synchronize VMs

  1. Select the VMs to migrate from the list (up to 10).
  2. Click “Synchronize”.
  3. Specify the data storage path: Example: C:\VMConversion\TempData
  4. Wait for synchronization to reach 100%.

3-3. Execute the Migration

  1. Go to the “Migrate” tab.
  2. Select the VMs to migrate.
  3. Click “Migrate”.
  4. Check the box to preserve static IP addresses if needed.
  5. Click “Proceed” to start the migration.

Step 4: Post-Migration Tasks

4-1. Install Hyper-V Integration Services

# After starting the VM, run in PowerShell
Enable-VMIntegrationService -VMName "Migrated_VM_Name" -Name "Guest Service Interface"

4-2. Reconfigure the Network

  1. Open Hyper-V Manager.
  2. Go to VM Settings -> Network Adapter.
  3. Select the virtual switch.
  4. Set the VLAN ID if required.
# Convert Dynamic VHDX to Fixed VHDX (improves performance)
Convert-VHD -Path "C:\VMs\VM_Name.vhdx" -DestinationPath "C:\VMs\VM_Name_Fixed.vhdx" -VHDType Fixed

Method 2: Direct Conversion with PowerShell (For Advanced Users)

Using the ConvertTo-MvmcVirtualHardDisk Cmdlet

# Import the MvmcCmdlet module (if MVMC is installed)
Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"

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

Using the Convert-VHD Cmdlet (Hyper-V Standard)

# Note: Convert-VHD does not directly support VMDK.
# You must first convert to VHD, then to VHDX.

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

Troubleshooting

Common Problems and Solutions

Problem 1: Migrated VM Won’t Start

Causes and Solutions:

  • VMware Tools still present → Start in Safe Mode and remove it.
  • Boot configuration issue → Verify Generation 1/2 selection.
  • Driver issue → Reinstall Hyper-V Integration Services.

Problem 2: Network Not Recognized

Resolution Steps:

# Remove the old NIC in Device Manager
devmgmt.msc

# Add a new network adapter
Add-VMNetworkAdapter -VMName "VM_Name" -SwitchName "Virtual_Switch_Name"

Problem 3: Disk Not Recognized

Solution:

# Change the disk policy (run on the VMware side beforehand)
Set-StorageSetting -NewDiskPolicy OnlineAll

Problem 4: Performance Degradation

Optimization Steps:

  1. Convert Dynamic VHDX to Fixed VHDX.
  2. Switch to 4K sector size.
  3. Optimize the VM’s memory settings.
# Check and change to 4K sector size
Get-VHD -Path "C:\VMs\VM.vhdx" | Select-Object LogicalSectorSize
Set-VHD -Path "C:\VMs\VM.vhdx" -PhysicalSectorSizeBytes 4096

Best Practices

Pre-Migration Preparation

  1. Create a Full Backup
    • Full backup in VMware.
    • Copy and store the VMDK files separately.
  2. Test in a Staging Environment
    • Always test before moving to production.
    • Verify application functionality.
  3. Plan for Downtime
    • Estimate migration time (30-60 minutes per GB).
    • Prepare a rollback plan.

Post-Migration Optimization

Optimize Hyper-V Settings

# Enable Dynamic Memory
Set-VMMemory -VMName "VM_Name" -DynamicMemoryEnabled $true \
    -MinimumBytes 2GB -StartupBytes 4GB -MaximumBytes 8GB

# Configure Checkpoints
Set-VM -VMName "VM_Name" -CheckpointType Production

Monitoring and Performance Tuning

Monitor with Performance Monitor.

Adjust resources as needed.

Conclusion

As of 2025, migrating from VMware to Hyper-V can be accomplished reliably with the right tools and procedures. The new VM Conversion extension in Windows Admin Center offers an accessible, user-friendly, and free solution particularly well-suited for those new to the process.

Due to VMware’s licensing changes following the Broadcom acquisition, many organizations are evaluating a move to Hyper-V. By following the steps outlined in this guide, you should be able to complete the migration safely and without data loss.

The key is thorough preparation and always validating in a test environment before applying changes to production.

Last Updated: September 18, 2025

The following article is from 2020. As mentioned above, the Microsoft Virtual Machine Converter (MVMC) it relies on is likely no longer usable due to its discontinuation. The article is preserved to show how the process has evolved.

We will make an OS running on VMware bootable on Hyper-V. To do this, you need the Microsoft Virtual Machine Converter, provided by Microsoft, so let’s download and install it. Installation is as simple as downloading and running the file. Afterward, you can confirm that files have been added to the following folder.

C:\Program Files\Microsoft Virtual Machine Converter\

In this folder, there is a file called MvmcCmdlet.psd1, which is a PowerShell data file. You can view its contents with a text editor. This means we will be using PowerShell for the conversion.

Now, let’s start PowerShell. Right-click and select “Run as administrator”. The command to enter is shown below. It imports the necessary file we just mentioned.

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

Next, enter the command to perform the conversion.

ConvertTo-MvmcVhd -SourceLiteralPath "Path_to_source_vmdk_folder+filename" -DestinationLiteralPath "Path_to_create_vhdx_vhd_file+filename" -VhdFormat Vhdx

On my computer, a specific example of the command is as follows.

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

The source vmdk file is named Windows 7, but it has been upgraded to Windows 10. The source file was about 30GB, and the conversion took some time. A VHDX file was created in the specified destination as instructed by the command.

Next, we’ll check if the converted file can be imported and booted correctly. Click on the “New Virtual Machine Wizard” in Hyper-V and follow the wizard’s steps. When you get to the “Connect Virtual Hard Disk” section, check “Use an existing virtual hard disk” and specify the location of the vhdx file we just created.

This time, the conversion and boot were successful, but I have often encountered errors during the conversion process itself.

If you like this article, please
Follow !

¡Comparte esta publicación!
Índice