This utility is meant to work on Hyper-V RTM only. It has NOT been tested heavily on Hyper-V for Windows Server 2008 SP2 nor Windows Server 2008 Hyper-V R2.

This tool was originally published here : http://www.jaylee.org/page/Hyper-V-Virtual-Machine-Mover.aspx

This utility can also work remotely, particularly with Hyper-V Server 2008.

Here is a list of facts to know before using this tool :
  • A VM can only be detached if it is in the "Saved" or "Stopped" state.
  • It is not necessary to stop the Hyper-V service and all modifications are detected live by the service.
  • A VM can only be imported if it contains at least on HDD on the IDE 0 controller.
  • All the VM files must be under the same directory, HDD and snapshots.
  • All files that are modified are backed-up next to the original files; All other files are not modified nor moved.
  • .NET 3.5 must be installed.
  • Both command line and GUI tools must run "as administrator".
  • For remote operations, the current user must be an member of the administrators group of the remote system.

This utility comes in two flavors, a command line tool and an GUI.

The Command Line utility

The command line utility supports two commands. The first to detach a virtual machine :

    vmmove d "my vm" "myserver"


The server parameter is optional. If omitted, the tool will perform the operation on the local machine.

Now to attach a VM :

    vmmove a "C:\Hyper-V\MyVM" "myserver"


The server parameter is also optional here. The path specified is always considered as a local path for the target Hyper-V service even if it is a remote machine.

The GUI Utility

The GUI utility allows to perform both attach and detach operations visually, but only on the local machine. Remote operations may be added in a future version of the tool.

Last edited Jun 30, 2010 at 1:20 AM by jlaban, version 4