This tool is now available with the source code on CodePlex : http://vmmove.codeplex.com
Hyper-V Virtual Machine Mover is a tool that allows to attach or detach Virtual Machines without having to export them.
This utility is meant to work on Hyper-V RTM only. It has NOT been tested on Hyper-V for Windows Server 2008 SP2 nor Windows Server 2008 Hyper-V R2.
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.
Download Hyper-V VM Move
Version 126.96.36.199 (2009/05/10) Added support for VMs without snapshots, fixed issue while attaching VM with VHDs not in the "Virtual Hard Drive" directory.
Version 188.8.131.52 (2009/03/28) Added support for remote operation.
Version 184.108.40.206 (2009/02/20) Initial Release.
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.