How to upgrade Win 8 to Win 8.1 on a VHD?

2

2

I currently have Windows 8 installed on a VHD. When I boot into it and try to upgrade to Windows 8.1 from the store, it downloads and then fails during the installation telling me that "You can't upgrade on a Virtual Drive".

Is it possible to perform the upgrade?

row1

Posted 2013-10-18T14:16:30.777

Reputation: 345

1That's unfortunate. I wouldn't think that Windows 8 would care. Interested to hear the outcome. What hypervisor are you using? – kobaltz – 2013-10-18T14:22:00.993

I was running Windows 8 Pro w/Media Center on my actual PC, with Hyper-V on that and a VM also running Windows 8 (I forget which SKU). I first upgraded my PC - it took one or two reboots and Windows Update hotfixes before Hyper-V would run properly again. I'm currently in the process of upgrading my VM to 8.1 and it's going just fine. Are you using Hyper-V or something else? – Mark Allen – 2013-10-19T07:33:34.150

Confirmed, upgrade went through just fine, VM is now running Windows 8.1 and I'm visiting Windows Update etc. Sorry yours didn't work. Note that I had upgraded my host machine first, I don't know if that made the difference or not. – Mark Allen – 2013-10-19T08:03:34.203

I am booting directly into the VHD and not loading it up inside a VM. – row1 – 2013-12-24T10:24:34.250

Answers

2

I asked this Microsoft a few weeks ago and they told me that it is not possible to upgrade a natively booted VHD from Windows 8 to 8.1.

The Setup will fail with this error:

enter image description here

You have to create a new VHD from a 8.1 ISO.

magicandre1981

Posted 2013-10-18T14:16:30.777

Reputation: 86 560

2

@MarkAllen you talk about a VM, I and the asker talk about an NATIVE BOOT VhD! That are 2 different things. Trying to upgrade results in this error: https://dl.dropboxusercontent.com/u/5749744/Bilder/superuser/Win81_Upgrade_VHD.png

– magicandre1981 – 2013-10-19T09:33:16.867

How to get the 8.1 ISO without an MSDN account? – row1 – 2013-10-20T04:06:03.830

@magicandre1981 Aha!! Sorry - that'll teach me to post when I'm tired. – Mark Allen – 2013-10-20T10:51:56.613

@row1 - I think you can use your existing Windows 8 partition to create a recovery USB drive that can be used to do the repair without the ISO, see http://howto.cnet.com/8301-11310_39-57601638-285/how-to-create-a-windows-8-usb-recovery-drive/, and here is how to mount that USB as a drive for Hyper-V to see, http://www.petri.co.il/boot-hyper-v-virtual-machine-usb-drive.htm#

– Liam Westley – 2013-10-21T15:06:44.983

1

I took the upgrade my VHD in Hyper-V route to upgrade my Windows 8 boot to VHD to Windows 8.1.

I've written up a step by step guide (20 steps!) over on my blog,

http://geekswithblogs.net/twickers/archive/2013/10/19/upgrading-windows-8-boot-to-vhd-to-windows-8.1ndashstep-by.aspx,

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

Due to a combination of SDD/HDD during the process it took around 3 hours to complete the process, but it does appear to work fine. Well, I'm posting this from the Windows 8.1 boot to VHD update.

Hope it might help someone else solve this issue.

Liam Westley

Posted 2013-10-18T14:16:30.777

Reputation: 201

I appreciate the effort put into this answer, but I am reluctant to try it. I am using Windows 8 and not Windows 7 and am reluctant to try this as the last time I enabled Hyper-V it caused intermittent issues with my Wi-Fi. – row1 – 2013-10-20T04:09:10.107

It was the effort I used to update my own system ;-) It was Windows 8 I needed to upgrade in which I had to enable Hyper-V, Windows 7 was just my bootstrapping o/s. If Hyper-V caused issues with WiFi you could just enable it for the upgrade, and then disable it afterwards - it's only used for a short time to perform the upgrade, then you don't need it again. – Liam Westley – 2013-10-20T07:17:09.633

The problem I had last time was that it installed some virtual network drivers and they were very hard to get rid of. But it might be worth the effort. – row1 – 2013-10-21T02:21:18.317

0

You could fire it up in a VM, and do the upgrade there. Windows 7/8/8.1 tolerates hw changes surprisingly well.

(Make a backup copy!)

Tarnay Kálmán

Posted 2013-10-18T14:16:30.777

Reputation: 3 457

0

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 -

https://social.technet.microsoft.com/forums/windows/en-US/b9ca72ab-cdc3-4ae8-be6f-1ce9cb18ffb6/upgrading-windows-8-to-81-native-vhd-boot

Quoted as per David's comment request.

I've written up a step by step guide (20 steps!) over on my blog, http://geekswithblogs.net/twickers/archive/2013/10/19/upgrading-windows-8-boot-to-vhd-to-windows-8.1ndashstep-by.aspx, 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.

Another:

Additional possible workaround:

  1. Remove Hyper-V feature from your current native boot configuration.
  2. Make a WIM image of your current native boot config using Windows 8.1 ADK.
  3. Add the Hyper-V feature back.
  4. Deploy the WIM to a new VHD file attached to a virtual machine.
  5. Upgrade the created virtual machine.
  6. Attach the VHD from the virtual machine to the physical boot manager using bootcfg. Looks clumsy but kind of feasible.

Another way:

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 did it:

  1. 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).
  2. Use Macrium Reflect (free version, if you are on a home computer) to clone the vhdx volume to the physical partition.
  3. Add the installation in the physical partition to your boot menu using Bcdboot T:\Windows, where T is the drive letter of the physical partition
  4. Boot from the physical partition, and do the upgrade.
  5. 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 virtual drive.
  6. Delete the original (VHD native boot) boot entry.
  7. Mount the vhdx file from step 5., and give it a drive letter, say U
  8. Add a boot entry for the upgraded installation using Bcdboot U:\Windows
  9. Delete the boot entry created in step 3.
  10. Boot into the upgraded vhdx, and you are done! With fast drives (ssd drives) this goes very quickly. AZona1

Alex S

Posted 2013-10-18T14:16:30.777

Reputation: 811

Please quote the essential parts of the answer from the reference link(s), as the answer can become invalid if the linked page(s) change. – DavidPostill – 2015-08-07T09:09:07.400

@DavidPostill - David - I just tried to copy paste quote from those links and his blog but it becomes a blob of text that is HUGE. The steps are extensive as shown here - Is there some SuperUser or StackExchange guide on how to copy and quote stuff from Rich Formatted Blogs? http://geekswithblogs.net/twickers/archive/2013/10/19/upgrading-windows-8-boot-to-vhd-to-windows-8.1ndashstep-by.aspx

– Alex S – 2015-08-07T09:20:29.243

Much better ;). There is no real formatting guide ... I edited and made two very small changes to make it look a bit more readable (put a return before the lists and they format correctly). – DavidPostill – 2015-08-07T09:36:24.403

Oh, and I've just noticed, the 20 step guide is a direct copy of the other answer (which was written by the blog author). You might want to delete this bit ... :/ You also need to add attributions (links) to the other quotes. See How to reference material written by others.

– DavidPostill – 2015-08-07T09:43:11.280