There were a bunch of solutions outlined here on Microsoft Technet discussions and I dont wish for people to miss out on these options, so I am posting the link.
There some options around Hyper-V and others around V2P2V.
I hope this helps someone who comes here, so please dont give me negative. Thanks.
I found a few solutions here -
Quoted as per David's comment request.
I've written up a step by step guide (20 steps!) over on my blog,
but if you want the short version it's this,
- Boot into Windows 7 – make a copy of your Windows 8 VHD, to become Windows 8.1
- Enable Hyper-V in your Windows 8 (the original boot to VHD partition)
- Create a new virtual machine, attaching the copy of your Windows 8 VHD
- Start the virtual machine, upgrade it via the Windows Store to Windows 8.1
- Shutdown the virtual machine Boot into Windows 7 – use the bcedit tool to create a new Windows 8.1 boot to VHD option
(pointing at the copy)
- Boot into the new Windows 8.1 option
- Reactivate Windows 8.1 (it will have become deactivated by running under Hyper-V)
- Remove the original Windows 8 VHD, and in Windows 7 use bcedit to remove it from the boot menu
Some other Options:
V2P2V is quick and easy. See post by skunk123punk and my post. Once
you get it down, it is fast and painless. Hyper-V is not the only
working way. I have upgraded from 8 to 8.1 using hyper-v per Liam
Westley's blog and upgraded from one version of Windows 10 Tech
Preview to another using V2P2V. V2P2V is MUCH easier.
Additional possible workaround:
- Remove Hyper-V feature from your current native boot configuration.
- Make a WIM image of your current native boot config using Windows 8.1 ADK.
- Add the Hyper-V feature back.
- Deploy the WIM to a new VHD file attached to a virtual machine.
- Upgrade the created virtual machine.
- Attach the VHD from the virtual machine to the physical boot manager using bootcfg. Looks clumsy but kind of feasible.
Agree with skunk123punk above. Go from VHD native boot to physical
boot, do the upgrade, then go back to VHD native boot. Here is how I
- Create a partition on a local disk matching the size of your original vhdx file. This local disk should not be the disk containing
the original vhd or vhdx boot file. The process fails when a
partition on the disk containing the vhd or vhdx boot file is used
(booting in step 4. below will fail, in my experience).
- Use Macrium Reflect (free version, if you are on a home computer) to clone the vhdx volume to the physical partition.
- Add the installation in the physical partition to your boot menu using Bcdboot T:\Windows, where T is the drive letter of the physical
- Boot from the physical partition, and do the upgrade.
- Go from physical boot back to VHD native boot. Create a vhdx file with the size matching the physical partition. Mount the vhdx file
and use Macrium Reflect to clone the physical partition to the new
- Delete the original (VHD native boot) boot entry.
- Mount the vhdx file from step 5., and give it a drive letter, say U
- Add a boot entry for the upgraded installation using Bcdboot U:\Windows
- Delete the boot entry created in step 3.
- Boot into the upgraded vhdx, and you are done! With fast drives (ssd drives) this goes very quickly. AZona1