Converting a Generation 1 Hyper-V Virtual Machine to Generation 2
    • 05 Sep 2024
    • 4 Minutes to read

    Converting a Generation 1 Hyper-V Virtual Machine to Generation 2


    Article summary

    This article will walk you through the steps to convert a Hyper-V Virtual Machine Profile from Generation 1 to Generation 2.

    Why Convert a VM to Generation 2?

    The primary reason to perform this action is due to the advantages of Gen 2:

    • CPU and memory performace enhancements.

    • Maximize disk usage with .vhdx virtual hard disk.

    • PXE boot with a synthetic network adapter that Gen 1 doesnt support boot from.

    • SCSI support for faster speeds.

    With advantages there are also some disadvantages to Gen 2

    • 32 Bit OS are not supported.

    • Older OS that lack drivers for synthetic hardware or do not support UEFI can't function on Gen 2.

    • Older LInux and Windows VMs will not be optimal on Gen 2.

    Required Permissions

    To use these Skillable Studio features, the user account must be granted specific permissions. If you are unable to access these features, you may not have the proper permissions, please reach out to our customer support team for assistance.

    Best Practice

    • Identify Gen 1 VMs: Use PowerShell to get an overview of which VMs are still Gen 1. The command Get-VM | select vmname, generation lists all virtual machines on the local host and prints their names and generation.

    • Check Guest OS: Ensure the guest OS is not older than Windows Server 2012 R2 or a 32-bit version. You can find out which OS is installed in a VM using WMI: Get-CimInstance -ComputerName <myComputer> -ClassName win32\\_operatingsystem | select Caption, OSArchitecture.

    • Update Guest OS: Update the guest OS to the version of Windows you have intended for the new environment.

    • Convert System Drive to GPT: Convert the system drive to GPT. Since Windows 10 1703, Microsoft provides MBR2GPT.exe for this purpose.

    • Create a New Gen 2 VM: You cannot convert the VM itself. You'll need to create a Gen 2 VM, add a VHDX based off the Gen 1 disk, run mbr2gpt from the install disk.

    Backup your data

    Please note that this process is complicated and requires careful planning. Always ensure you have a backup of your data before proceeding with the conversion

    Capture Disk Changes

    1. Launch the lab profile that contains the virtual machine (VM) that you would like to convert from Generation 1 to Generation 2.

    2. Log in to the VM.

    3. Right-click on the Windows Start icon, and select Powershell (Admin).

    4. Enter the following command and wait for it to finish.

      mbr2gpt.exe /convert /allowFullOS
      

      MBR2GPT.exe is the only Microsoft-supported way to convert a production disk (with existing data) from MBR to GPT without experiencing data loss.

    5. Once the command has finished, select the lab Menu icon in the upper-right of the window and choose Save.

    6. Select Commit my changes and update this lab profile, and then select Next.

    7. In the Update Lab Profile window:

      1. Optionally, enter a note to describe the changes you are making to the Lab Profile.

      2. Select Capture disk changes.

      3. Check the box for the disk you want to make the changes to.

      4. Enter a note to describe the changes you are making to the VM profile.

      5. Choose your storage location (Use Current is the default).

      6. Select OK.

      7. Once the save is complete, you can end your lab instance.

    Create New Virtual Machine Profile

    A new virtual machine profile needs to be created and will use the disk that was created in previous steps.

    Basic Information

    1. Navigate to the Skillable Studio Site Administration page.

    2. In the Virtual Machines section, select Create Virtual Machine Profile.

    3. On the Basic Information tab of the Create Virtual Machine Profile page:

      • Enter a Name for the VM.

      • In the Generation drop-down, select Generation 2, and specify any other settings you might want enabled.

      • Select the Hard Disks tab.

    Hard Disks

    On the Hard Disks tab of the Create Virtual Machine Profile page:

    1. Select + Add Hard Disk.

    2. Select Use an existing virtual hard disk file, then choose Next.

    3. Navigate to the directory where the .vhdx files are for this VM.

    4. Add the Base disk, and any differencing disks up to and including the last differencing disk that you saved after running the mbr2gpt Powershell command previously.

    These steps must be followed exactly as shown. If you reach any issues, please retrace your steps and adhere to the process exactly.

    SCSI Adapter

    1. Select the SCSI Adapters tab.

    2. Ensure that a SCSI adapter is attached to the VM.  If not, select the option to add one.

    3. Select Save and enter a note.

    Attach New VM Profile Lab Profile

    1. Navigate to the Lab Profile where you want to add the new VM.

    2. Select the Edit Settings link.

    3. Navigate to the Virtual Machines tab and select + Add Virtual Machine

    4. Search for the Generation 2 VM that you created in the previous steps and add it to the profile.

    5. After saving, you should now be able to launch the lab containing a Hyper-V Generation 2 VM.


    Was this article helpful?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.