Upgrading to Windows 8

For me, the brightest feature in Windows 8 right now is Hyper-V. I no longer need to dual-boot my laptop between Windows 7 and Windows Server 2008 R2 when I need to run an x64 OS in a virtual machine (Virtual PC only supported x86 VMs). As well as the convenience of being able to do everything from a single host OS, I also get to reclaim 60GB of space on my boot SSD.

My cunning plan to stay productive while setting up the Windows 8 environment involved cloning my existing Windows 7 install to VHD and then run that within Hyper-V. Over time I’ll copy what I need from the drive image into the Win8 environment but for now I can still work. To clone a physical disk to VHD involved the use of Disk2VHD from Microsoft / SysInternals. This is very easy to use and within an hour I had a VHD image of my boot SSD.

The install of Windows 8 was delegated, we have an PXE boot environment set-up in the office so I let the IT guys trial their Windows 8 install on my Thinkpad. Tocks ticked and after a couple of hours the machine was back. I’ve been playing with Windows 8 in bootcamp on my aging Macbook Pro so I know enough to find my way around and configure it. Like many others, I’d love to drive this with a good touchscreen (i.e. NOT the Dell kicking around the office), but mouse and keyboard is working out OK. My first, naïve thought was that everything would play well just like Windows 7 but this is not the case. I have a dock on my desk for the Thinkpad W510 and so I docked it thinking that I would get both monitors fire up… no joy, no picture. Unplugging one of the monitors and I get a picture, both plugged in, nothing. Off to Lenovo for a new video driver, the ‘gold’ drivers aren’t available yet only beta drivers which I installed. Bad idea. This completely screwed up Windows to the point where it eventually went into recovery mode and rolled back to a restore point. A google later and I find a post matching my symptoms. Looks like I need to wait for the Windows 8 drivers to be released…

Getting my VHD to run in Hyper-V was more of an adventure than I planned on too. After setting up a new virtual machine using the VHD, I started it only to get an error stating it was not bootable. Panic. Googling for help led to: http://msmvps.com/blogs/rfennell/archive/2011/07/13/moving-a-vhd-boot-disk-to-hyper-v.aspx

This didn’t quite match my scenario but was close enough…

1. I mounted the VHD in Windows 8 via the Disk Management tool and could see three partitions: the boot partition, the Windows 7 partition and the Windows Server 2008 R2 partition. Only the Windows 7 partition was NTFS, the other showed as raw. I could map a drive to the Windows 7 partition so at least I could access the files, the panic lessened.

2. I removed the two raw partitions and then created a new NTFS partition in the space originally allocated to the boot partition and named it ‘System Reserved’.

3. I added the Windows 7 ISO as the DVD drive to the VM and set the boot order so that it would boot into the installer. When the first dialog screen popped up I hit SHIFT + F10 to get to a command prompt. Unfortunately the Windows 7 partition was mapped to D: and the boot partition mapped to C:. I needed to swap these around.

4. Following steps from TechNet, using the DISKPART tool I could:


>list volume

>select volume 0

>assign letter=T

>select volume 1

>assign letter=C

>select volume 0

>assign letter=D


5. With the drive letters correct I could now create a new boot partition:

> bcdboot C:\Windows /s D:


>select disk 0

>list partition

>select partition 1



6. I rebooted the VM and thankfully it booted into my previous Windows 7 environment.

The VHDs I had set-up under Windows Server 2008 R2 came across into Windows 8 Hyper-V without any problems. I now have my test VMs and my previous development environment all registered and running in Hyper-V:


Apart from the video driver issue, I’m very happy with Windows 8 so far and I love having Hyper-V alongside all my other apps.