windows 8 - Confused about Hyper-V checkpoints
2014-04
I use Hyper-V on windows 8.1 to set up test environments.
My checkpoint tree looks like this
Base
+Test1
>Now
+Test2
+Test3
Since these are test environments I normally don't want to keep changes when moving from one environment to another. i.e. I just Apply
the checkpoint I want to move to.
The confusion appears when I want to keep changes in one environment. Lets say my tree looks like this:
Base
+Test1
>Now
+Test2
+Changes
+Test3
My questions are:
- How do I merge the
Changes
checkpoint intoTest2
? Do I justDelete
it? - Lets say I don't need the
Test3
environment anymore. How do I remove it? WillDelete
merge it withBase
Currently I merge the changes like this but it seems too complicated:
Apply
theChanges
checkpointBase +Test1 +Test2 +Changes >Now +Test3
Delete Checkpoint Subtree
onTest2
Base >Now +Test1 +Test3
Create a new checkpoint and rename it
Test2
Base +Test2 >Now +Test1 +Test3
I always create and Apply
checkpoints when the VM is shut down. Delete
and Apply
refers to the context menu choices.
I found this article and now I understand it.
The important point for my understanding is that checkpoints are always merged downstream (parent is merged into child).
If there are no checkpoints downstream (Now
is considered a checkpoint in this context), the checkpoint is just deleted without merge.
What confused me was that differential disks, and undo-disks in Virtual PC, merge upstream (child is merged into parent).
So the answer to my questions above are:
- How do I merge the Changes checkpoint into Test2?
Not possible since you can't merge upstream!
What is possible is to merge Test2
into Changes
by Deleting
Test2
!.
Base
+Test1
>Now
+Changes
+Test3
- Lets say I don't need the Test3 environment anymore. How do I remove it?
Test3
don't have any downstream checkpoints so it can just be Deleted
If it has downstream checkpoints which should also be removed, use Delete Chekpoint subtree
.
I was using Windows Server 2008 R2 as my developer machine, hosting my Hyper-V virtual machines. I am now switching over to Windows 8 to run Hyper-V in a client OS, which is my use case anyway.
Are there any gotchas I should be aware of before I attempt to port my existing VMs into Windows 8 Hyper-V? I have a few virtual machines on a virtual network, and I need them to continue working (DC, SQL, SharePoint, etc). Are there any special steps I should take (for instance, exporting my virtual network instead of recreating a new one) to minimize headaches?
Hyper-V for Windows 8 is a newer version of Hyper-V (V3) than Hyper-V for Server 2008. It is not recommended to import VM's created from Windows 8 to Server 2008. However going from Server 2008 to Windows 8 has no problems. If you MUST migrate from Windows 8 to Server 2008 Hyper-V make sure to NOT use the .vhdx files.
Converting .VHD & .VHDX:
- Open Hyper-V
Right click on the VM that you wish to convert, and select Settings:
Select the Hard Drive IDE (usually IDE 0) and then select "Edit":
Select Convert, and then Next
- Select the type of VHD you wish to convert to and then Next
- Select the type of disk: (Fixed Size, Dynamically Expanding) and then Next
- Select the location (NOTE: This does NOT default to last saved location) and then Next
- Select Finish
The use of exporting and importing is the preferred way of migrating VM's between Machines (Server 2008 to Windows 8 in your case).
To do this follow these steps:
Exporting:
- Open Hyper-V Terminal
Right click on the VM that you want to export and select "Export" (make sure the machine is turned off):
Browse to the folder that you wish to save the VM:
Then Select Export.
Hyper-V will then in the background export the VM. This may take a few minutes or even quite a bit of time, depending on the type and size of the VM.
Importing:
- Open Hyper-V Terminal
On the right side, under the "Action" panel select "Import Virtual Machine...":
Select Next
- Browse to the folder where you saved the VM
Select the Exported VM:
Select whether you want to Register, Restore, or Copy the VM
- Register: If you have a virtual machine were you have already put all of the virtual machine files exactly where you want them, and you just need Hyper-V to start using the virtual machine where it is – this is the option you want to choose.
- Restore: If your virtual machine files are stored on a file share / removable drive / etc… and you want Hyper-V to move the files to the appropriate location for you, and then register the virtual machine – this is the option for you.
- Copy: If you have a set of virtual machine files that you want to import multiple times (e.g. you are using them as a template for new virtual machines) this is what you want to choose. This will copy the files to an appropriate location, give the virtual machine a new unique ID, and then register the virtual machine.
Select Finish
This will import the VM into Hyper-V. Again, this may take some time depending on the type/size of the VM and the options selected above.