While you can certainly use Vista’s Complete PC Backup to generate a vhd of your machine, it doesn’t make a bootable, usable virtual machine. I didn’t want to lose a bunch of things on my old dev box (I need to reinstall it with Windows Server 2008), but having “just” the vhd for mounting and copying files I forgot that I needed wasn’t as nice as having my old dev box magically transform into a virtual machine that I could boot and continue to use.
SCVMM‘s (System Center Virtual Machine Manager) existing released version (2007) can handle doing a physical-to-virtual (p2v) conversion on most downlevel (pre-Vista) OS’s, but it can’t handle doing so on Vista. However, their 2008 Beta can, so that’s what I installed.
As per the System Requirements, you’ll need 64-bit Server 2008 machine. I created a 64-bit Server 2008 VPC for running SCVMM (both Server and Admin Console). For the actual “host” (target place where the virtual machine will be created), I chose a co-worker’s HyperV-running Longhorn box. I had to do this since my own HyperV was already upgraded to RC1, but the SCVMM 2008 Beta only supports HyperV RC0, which has machine (nawien-pc) was running. I could have run Virtual Server inside the virtual machine and made that the target, but it was faster to just use his existing server.
As a summary, here’s the hosts/pieces are involved:
- jmanning-devold: physical Vista machine, my old dev box
- jmanning-lhs64: virtual Server 2008 machine (under my own HyperV RC1 box), includes SCVMM 2008 Beta (both Admin Console and Server)
- nawien-pc: physical Server 2008 machine, includes HyperV RC0 (where the virtual version of jmanning-devold will be created)
Starting off: once you have SCVMM 2008 Beta installed, you can choose the “Convert physical server” action to start your conversion (note: the “server” part of that may be confusing, but it converts workstation/client OS’s fine as well 🙂
This let me know that I first needed to add a host (target where the virtual machine will be created). As mentioned above, I could have used Virtual Server as well, even inside a virtual machine, but I used Hyper-V instead.
So, I go to add a host:
I use my own credentials in order to connect to the target machine:
Just to give it a shot, knowing it’s stated as not supported, I try my own HyperV machine which is running RC1. It finds it fine, but when actually trying to do the conversion, it fails. That’s expected since RC1 isn’t supported, but at least I know now that for this beta, you really do need RC0.
So, I remove that host and switch over instead to using my co-worker’s instance. Adding it looks much like the above, of course. I’ll spare you the additional screen shots. 🙂
Now, back to the “Convert physical server” action (now that I have a good host added), I select the source machine:
I leave myself as the owner for the new virtual machine that will be created and add a description:
The next screen says it needs to gather a bunch of information from the source system (my existing Vista box) and will install some software to do so. That’s fine with me, so I click the Gather System Information button:
Once it completes, here’s the information it displays:
It apparently does a quick sanity check to make sure the conversion can run fine, and everything appears to pass those checks:
There’s only one drive in the source machine, so it’s nothing to really change here – I keep the defaults for the VHD-to-be-created parameters:
Now it lets me select the processors and RAM for the target virtual machine. The defaults appear to match my physical machine (2 procs, 4GB), so I’m guessing that’s where they got it from (although it could be coincidence).
I don’t need that much for this virtual machine, I just need to be able to run it once in awhile, so I knock it down to 1 proc and 0.5 GB
Now I select the target machine (“host”) for the conversion. Since I only have one host added at the moment, that makes it a pretty simple choice 🙂 I like the interfaces, though – it’s pretty clear that you could manage fleets of virtual machine hosts pretty easily.
It lets me change where the files are written to on the target machine. Since I’m going to move these files off of his box and onto mine, I end up putting them in a new dir called “d:\jmanning”, but here’s the default:
Now I can select the virtual network for the target VM. The default found is fine with me:
Since I’m going to 1) move this VM to my own machine and 2) only use it on occasion, I keep the default of having the VM never turn on automatically.
I get a chance to review the settings before the conversion kicks off:
The conversion “job” kicks off in the background. It’s not clear to me what’s going on, but I notice the “Jobs” button which brings up the details of this (and previous) jobs:
The summary makes it clear that it’s cranking away (at this point in the screen shot, it has started copying the hard drive over the network)
The Details tab gives lots more information on the process. I really like that:
- it includes progress bars for each step
- It includes start and stop times for each step
- It shows the hierarchy of actions needed, including where you’re at in the process
This is the kind of progress UI I’m hoping we can include for install of TFS in the next version 🙂
The copying of the hard drive ends up taking around 20 hours as you can see by the times for step “1.3” (which is fine with me, I just let it run overnight). One step of the process failed (installing the VM components), but that’s not strictly necessary and the overall conversion completed fine:
Connecting to nawien-pc with Server Manager, I see my new virtual machine! Yay!
Sure enough, it starts up and I can login and use it just fine. Yay! Now I can move that VM over to my machine and reimage my old Vista box to Server 2008 without losing anything 🙂