Move Hyper-V Virtual Machine in Windows 10

Windows 10 Hyper V Icon Big

Windows 10, Windows 8.1 and Windows 8 come with Client Hyper-V so you can run a supported guest operating system inside a Virtual Machine. Hyper-V is Microsoft's native hypervisor for Windows. It was originally developed for Windows Server 2008 and then ported to Windows client OS. It has improved over time and is present in the latest Windows 10 release as well. Today, we will learn how to move an existing Hyper-V virtual machine to another location.

Note: Only Windows 10 Pro, Enterprise, and Education editions include the Hyper-V virtualization technology.

What is Hyper-V

Hyper-V is Microsoft's very own virtualization solution that allows creating virtual machines on x86-64 systems running Windows. Hyper-V was first released alongside Windows Server 2008, and has been available without additional charge since Windows Server 2012 and Windows 8. Windows 8 was the first Windows client operating system to include hardware virtualization support natively. With Windows 8.1, Hyper-V has got a number of enhancements such as Enhanced Session Mode, enabling high fidelity graphics for connections to VMs using the RDP protocol, and USB redirection which is enabled from the host to VMs. Windows 10 brings further enhancements to the native hypervisor offering, including:

  1. Hot add and remove for memory and network adapters.
  2. Windows PowerShell Direct – the ability to run commands inside a virtual machine from the host operating system.
  3. Linux secure boot - Ubuntu 14.04 and later, and SUSE Linux Enterprise Server 12 OS offerings running on generation 2 virtual machines are now able to boot with the secure boot option enabled.
  4. Hyper-V Manager Down-level management - Hyper-V manager can manage computers running Hyper-V on Windows Server 2012, Windows Server 2012 R2 and Windows 8.1.

Virtual Machine Generations in Hyper-V

When you create a new virtual machine with Hyper-V,  you can choose between two generations of your virtual machine.

Generation 1 is a legacy BIOS/MBR machine. It supports 32-bit operating systems. Its virtual hardware is similar to hardware which was available in all previous versions of Hyper-V.

Generation 2 comes with modern features like UEFI and secure boot, but it doesn't support 32-bit OSes. It features extra features, such as PXE boot, Boot from a SCSI virtual hard disk
Boot from a SCSI virtual DVD, and more.

Note: If you are going to install a 32-bit guest OS in your VM, then choose Generation 1. Once a virtual machine has been created, you cannot change its generation.

Hyper-V Virtual Machine Files

A virtual machine consists of several files, such as configuration files, and virtual disk files that store the guest operating system for a machine. By default, Hyper-V stores all files for your virtual machines on your system partition. You might want to store them on another disk or partition. Last time we reviewed how to set a new default folder for virtual disks. The same can be done for configuration files.

Note: When you create a virtual machine in Hyper-V Manager, you are able to specify a folder to store its files.

If you are not happy with the current folder where your virtual machine is stored, you can move it to another folder or disk. You can use either the Hyper-V Manager tool, or PowerShell.

To Move a Hyper-V Virtual Machine in Windows 10,

  1. Open the Hyper-V Manager from the Start menu. Tip: See How to navigate apps by alphabet in Windows 10 Start menu.  It can be found under Windows Administrative Tools > Hyper - V manager.
  2. Click on your host name on the left.
  3. In the middle pane, click on your virtual machine in the list to select it.
  4. If it is running, then turn off the VM.
  5. In the right pane, click on Move under Actions.
  6. This will open the Move VM Wizard. Click on Next in the following dialog.
  7. Select Move the virtual machine's storage, and click on Next.
  8. On the next page, select Move all of the virtual machine's data to a single location, then click on Next.
  9. Specify the path to the folder you want to move your virtual machine to. You can use the Browse button to quickly find the destination location or create a new directory.
  10. On the next page, verify that everything is correct and click on Finish.

You are done. The VM will be transferred to the selected destination folder. When finished, you close the Hyper-V Manager app.

Alternatively, you can move a Hyper-V VM with PowerShell.

Move Hyper-V Virtual Machine with PowerShell

  1. Turn off the virtual machine you want to move.
  2. Open PowerShell as Administrator.Tip: You can add "Open PowerShell As Administrator" context menu.
  3. Execute the next command to see the list of your machines and their generations.
     Get-VM

  4. Type and execute the following command: Move-VMStorage "VM name" -DestinationStoragePath "Full\Path\to\the\new\folder".
  5. Substitute the VM name portion with the actual virtual machine name you from the step 3. Provide the correct path to the destination folder.

For example,

Move-VMStorage "Windows 10" -DestinationStoragePath "D:\vm"

That's it.

Related articles:

Support us

Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:

If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!

Author: Sergey Tkachenko

Sergey Tkachenko is a software developer who started Winaero back in 2011. On this blog, Sergey is writing about everything connected to Microsoft, Windows and popular software. Follow him on Telegram, Twitter, and YouTube.

Leave a Reply

Your email address will not be published.

Exit mobile version
Using Telegram? Subscribe to the blog channel!
Hello. Add your message here.