none
Upgrading Windows 8 to 8.1 [Native VHD Boot]

    Question

  • Hey folks,

    I've got Windows 8 RTM running in a native VHD on my Dell Latitude E6430. I just tried to initiate the upgrade to Windows 8.1 by extracting the Windows 8.1 ISO with 7-Zip, and launching setup.exe from the extracted folder. Unfortunately, when I tried to initiate the upgrade, I got an error message saying "You can't install Windows on a virtual drive." Does anyone know what this means?

    Obviously, I already have Windows 8 running in a native VHD, so I would expect to be able to perform an upgrade of the operating system, just as if it were installed directly onto a physical partition. Is it only possible to do new installations of Windows 8? Is it not possible to perform an upgrade of an operating system running in a native VHD?

    Cheers,

    Trevor Sullivan


    If this post was helpful, please click the little "Vote as Helpful" button :)

    Trevor Sullivan
    Trevor Sullivan's Tech Room
    Twitter Profile


    Monday, September 16, 2013 12:03 AM

Answers

  • Phone the MS support directly.

    http://support.microsoft.com/contactus/?ln=en-us


    "A programmer is just a tool which converts caffeine into code"

    Friday, September 27, 2013 7:51 PM

All replies

  • Upgrading Win8 to 8.1 when it is booted from a VHD is not supported:

    http://social.technet.microsoft.com/Forums/windows/en-US/6b62d77c-2782-435f-bdb8-03091230aad3/cannot-upgrade-from-win8-to-win-81-rtm-on-vhd


    "A programmer is just a tool which converts caffeine into code"

    Monday, September 16, 2013 5:02 AM
  • We have standardized our entire company on Windows 8 in a native boot and now we will have to reinstall all of them from scratch for what is basically a service pack?

    Native boot promised to behave just like a normal harddisk except for the limitations in 

    http://technet.microsoft.com/en-us/library/dd799282(v=ws.10).aspx#BKMK_limitations

    Please provide a workaround!


    AvG

    Wednesday, September 18, 2013 3:18 PM
  • I checked that entire topic and couldn't find any workaround (deleting cversions.ini got me just a tiny bit further in the installation)

    I also checked the upgrade paths and it didn't specify anywhere that native boot is a special (unsupported) case: http://technet.microsoft.com/en-us/library/jj203353.aspx#paths

    I have 2 questions:

    1) Is there a workaround to allow Windows 8 on a native boot vhd to be upgraded to 8.1 with the ISO?
    2) Will it be possible to upgrade Windows 8 on a native boot vhd to 8.1 later by using the Store?


    AvG

    Wednesday, September 18, 2013 4:04 PM
  • 8.1 is a more than a Sp, it is technically a new Windows version which was released as an free update because of the terrible market share of Win8.

    "A programmer is just a tool which converts caffeine into code"

    Wednesday, September 18, 2013 5:06 PM
  • I don't think it matters if we call 8.1 an update, upgrade, servicepack, full-blown-new-release or new version. I know the kernel changed from 6.2 to 6.3 so that would make it a new release. 

    The first fact is that in the documents about limitations of native boot there is nothing that mentions that updating is not possible.
    The second fact is that in the documents about upgrade path for windows 8.1 there is nothing that mentions that updating is different for a native boot.
    Those 2 facts make it a logical assumption that Windows 8 in a native boot should be upgradeable to 8.1, yet this is blocked by the setup-process. I tested this in a Hyper-V environment where a vhd is also used and that upgrade works just fine

    Unfortunately that means I have to repeat my 2 previous questions:

    1) Is there a workaround to allow Windows 8 on a native boot vhd to be upgraded to 8.1 with the ISO?
    2) Will it be possible to upgrade Windows 8 on a native boot vhd to 8.1 later by using the Store?


    AvG

    Thursday, September 19, 2013 9:20 AM
  • I've asked MS for clarification. remind me in a few days if I haven't replied.

    "A programmer is just a tool which converts caffeine into code"

    Thursday, September 19, 2013 6:45 PM
  • Just got word back from someone at Microsoft. They claim that the Windows team confirmed that it was not possible to perform an upgrade of Windows 8 to 8.1 that is configured for native VHD boot or Windows ToGo.

    If we take a look at the "limitations" of Native VHD Boot on the TechNet documentation, here is what we find (see below). I don't see anything in there that relates to upgrading the operating system. Seems like a huge gap in the documentation to me.

    How is someone supposed to make a decision to use Native VHD Booting, if they aren't given advance knowledge that upgrading will be unsupported?

    http://technet.microsoft.com/en-us/library/hh825689.aspx

    Native VHD support has the following limitations:

    • Native VHD disk management support can attach approximately 512 VHD files concurrently.
    • Native VHD boot does not support hibernation of the system, although sleep mode is supported.
    • VHD files cannot be nested.
    • Native VHD boot is not supported over Server Message Block (SMB) shares.
    • Windows BitLocker Drive Encryption cannot be used to encrypt the host volume that contains VHD files that are used for native VHD boot, and BitLocker cannot be used on volumes that are contained inside a VHD.
    • The parent partition of a VHD file cannot be part of a volume snapshot.
    • An attached VHD cannot be configured as a dynamic disk. A dynamic disk provides features that basic disks do not, such as the ability to create volumes that span multiple disks (spanned and striped volumes), and the ability to create fault-tolerant volumes (mirrored and RAID-5 volumes). All volumes on dynamic disks are known as dynamic volumes. 
    • The parent volume of the VHD cannot be configured as a dynamic disk.

    If this post was helpful, please click the little "Vote as Helpful" button :)

    Trevor Sullivan
    Trevor Sullivan's Tech Room
    Twitter Profile


    Thursday, September 19, 2013 8:18 PM
  • I asked MS and got the same link. I've asked them to update the article to include this limitation. so there is no way. You must create a new VHD from the 8.1 ISO.

    "A programmer is just a tool which converts caffeine into code"

    • Proposed as answer by LBarbera Friday, October 18, 2013 8:33 AM
    Friday, September 20, 2013 4:59 AM
  • I asked MS and got the same link. I've asked them to update the article to include this limitation. so there is no way. You must create a new VHD from the 8.1 ISO.

    "A programmer is just a tool which converts caffeine into code"

    So it will not even be possible after the update appears in the store? That is not a lack of documentation, that is a bug! It is already crazy that you cannot upgrade from 7 to 8.1, but now I cannot even upgrade from 8 to 8.1.

    Rapid release cycles were a nice idea and so is native boot. There is no reason these 2 cannot be combined when you consider that tools like dism can even work on offline images


    AvG

    Monday, September 23, 2013 7:57 AM


  • So it will not even be possible after the update appears in the store?

    yes, you won't be able to upgrade.

    "A programmer is just a tool which converts caffeine into code"

    Monday, September 23, 2013 7:09 PM
  • No upgrade path on a native boot means I will have to reinstall 50 machines manually. All of them have different software installed so automating is impossible. Is there at least a technical explanation for this? It basically makes native boot useless now that we have a rapid release cycle.

    I could only come up with this workaround: Upgrade the native-boot-vhd in hyperv and then use it for native boot again

    1) Copy the VHD to a very fast spare machine with HyperV and the 8.1 iso (maybe it would be faster to add a 2nd native boot vhd locally that is preconfigured for running just hyperv but not all my machines have SLAT)
    2) Attach the VHD to HyperV and boot it as a virtual
    3) Go through all the hardware-changes and log in as local admin
    4) Attach the 8.1 iso and perform an upgrade (maybe only until the first reboot?)
    5) Copy the VHD back to the original machine, boot it from there as native boot

    I would however love to see this workaround: Boot a PE-environment, attach the VHD, mount the ISO, use dism or setup to perform an offline upgrade.

    This last solution could even be scripted and would make native boot perfect again, instead of useless as it is now (I am not going to clean-install all my machines and all their software and settings every year from now on!)

    So that leaves me with 2 questions:
    0) What is the technical reason for this lack of upgradability?
    1) Would my workaround (upgrading in hyperv) work?
    2) Is there any option for an offline upgrade?


    AvG

    • Proposed as answer by Exotic Hadron Monday, November 18, 2013 11:51 AM
    Thursday, September 26, 2013 9:56 AM
  • I have no idea what is the technical reason. MS didn't tell me why they don't allow it.

    "A programmer is just a tool which converts caffeine into code"

    Thursday, September 26, 2013 7:10 PM
  • Sounds like I am reaching a dead end here. Where would be the best place to communicate this directly with Microsoft?

    AvG

    Friday, September 27, 2013 10:08 AM
  • Phone the MS support directly.

    http://support.microsoft.com/contactus/?ln=en-us


    "A programmer is just a tool which converts caffeine into code"

    Friday, September 27, 2013 7:51 PM
  • Here it  is - Windows 8.1 official release day and I too, am getting this same exact error message when trying to update my VHD hosted Windows 8 to 8.1.  :(  I had to set my system up this way so I could dual boot Windows 7 Pro & Windows 8 Pro.  I'm a systems admin / support tech and cannot be without my dual boot scenario... just can't, no two ways about it.

    What a shame.  It's no wonder Microsoft is having problems gaining traction with Windows 8 when they make it so difficult, especially for the techies, who would otherwise be out singing their praises.  sigh... :(

    I've already installed the 8.1 update on my Surface Pro and it looks great.  Too bad I'll have to start investigating ways on jumping through some additional hoops to get 8.1 running in my VHD configuration.  It just doesn't make sense.  I was under the impression running on a VHD was no different than native.  It really shouldn't be.  But what do I know.

    Stuck on 8 for now I guess!  :(

    Thursday, October 17, 2013 6:22 PM
  • I am even having problems updating from 8 to 8.1 on a laptop with only Windows 8 installed, natively, as the sole OS on the system (no VHD in the mix).  Apparently, the only platform you can update to 8.1 is a tablet with a touch screen, at least this has been my experience thus far, and until I experience otherwise, this is all I can assess. The process went smoothly on my Surface Pro, so maybe it's only the Surface Pro you can update to 8.1?  What a buggy roll out!  Will Microsoft ever get it right?
    Thursday, October 17, 2013 7:24 PM
  • Just discovered this issue myself. I dual native boot Windows 7 Enterprise and Windows 8.0 pro both in VHD format. Makes backup real easy. This limitation is most unfortunate. I don't understand why there isn't a workaround for this!
    Thursday, October 17, 2013 8:36 PM
  • same config, same problem for me too...

    Thursday, October 17, 2013 8:49 PM
  • Same for me... Microsoft fix this please asap!
    Friday, October 18, 2013 8:01 AM
  • I also had this problem, but upgrading it in hyperv was successful (in the same physical machine).

    Friday, October 18, 2013 8:25 AM
  • I have the same problem and I am very disappointed about this. PLEASE MICROSOFT change this behaviour.

    Microsoft fix this please asap!

    Friday, October 18, 2013 9:39 AM
  • Same here. Very disappointed about being proverbially "kicked while already down".

    My expectation would certainly have been that you can upgrade from Win 8 (on VHD) to Win 8.1 (on VHD).

    Especially given the first class support for VHD and the sheer benefit from a large IT management point of view.

    Busy with re-installation sequences now... thanks for nuffin.

    Friday, October 18, 2013 10:58 AM
  • I also had this problem, but upgrading it in hyperv was successful (in the same physical machine).


     Hmm... This might prove to be a useful piece of information. If you create a Windows to Go on an external USB HDD (Need Enterprise which there is a 90 day eval) you might be able to attach the .VHD within Hyper-V and then do the update? I think I might have to give this a try.
    • Proposed as answer by FreeJAC1310 Friday, October 18, 2013 11:32 AM
    Friday, October 18, 2013 11:31 AM
  • Could you explains this a little more? So you booted a second OS (windows 2012 server?) and attached your VHD to a virtual machine. Inside the virtual machine the upgrade through the store succeeded? Or did you upgrade from the RTM ISO?

    I have to say, not being able to upgrade via the store or an iso is rather disappointing. I my view the "boot to vhd" function is a major argument for the use of windows. If MS cripples this function I might as well move to LINUX. I hope this is just an oversight and not a deliberate decision and that MS will fix it soon. 

    Friday, October 18, 2013 3:08 PM
  • Same thing here.

    Can anyone confirm if the hyper-v solution actually works ?

    What are the steps ?

    Friday, October 18, 2013 7:31 PM
  • I has Windows 8 (booting from VHD) and Windows Server 2008 (eval, booting form a partition) in the same machine. Attaching the VHD to a virtual machine in hyperv allowed the upgrade trough the store.
    Saturday, October 19, 2013 5:49 AM
  • As far as updating through the Store that is not going to happen if you are running Windows 8 Enterprise. Microsoft clearly states that the Enterprise edition update needs the downloaded version from the VLMC.

    When I use the Technet edition ISO I can also see no other option than to make a VM form the VHD to upgrade (as  had to do to initially install the Windows 8).

    This is indeed a drawback for Admins, or MCT's like me who want to move a system around where boot from VHD did make sense... Dissapointed in the behaviour!

    Saturday, October 19, 2013 7:29 AM
  • 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.

    • Proposed as answer by skunk123punk Saturday, October 19, 2013 10:55 PM
    • Unproposed as answer by skunk123punk Saturday, October 19, 2013 10:56 PM
    • Proposed as answer by Andre.Ziegler Sunday, October 20, 2013 6:24 AM
    • Edited by Liam Westley Sunday, October 20, 2013 7:22 AM
    Saturday, October 19, 2013 9:03 PM
  • I have a duel boot Windows 7 and Windows 8 PC so to get around this issue I did the following.

    Booted into Windows 7 and mounted the VHD containing my Windows 8 OS then created a 50GB partition on one of my drives.

    I then used Norton Ghost to do a disk image of the mounted VHD to the new partition, rebooted and used NeoSmart Easy BCD to detect the Windows 8 install on the new partition and create a boot entry.

    Rebooted and selected the Windows 8 OS on the new partition, ran the update from the store, booted back into Windows 7 mounted the VHD containing the Windows 8 OS (I could have created a new VHD) and then used Norton Ghost to image the 50GB partition containing the updated Windows 8.1 to the mounted VHD.

    Rebooted and selected the original boot entry for Windows 8 and the VHD now containing Windows 8.1 booted fine.

    Deleted the 50GB partition, and removed the boot entry pointing to the partition.

    This whole process took less than an hour and the OS did not need reactivating as it all took place on the same hardware.


    • Edited by skunk123punk Saturday, October 19, 2013 11:19 PM
    • Proposed as answer by Liam Westley Sunday, October 20, 2013 7:23 AM
    Saturday, October 19, 2013 11:15 PM
  • I was unable to get the VHDX to boot in Hyper-V. Tried both Gen1 and Gen2 VM's, just didn't want to start it up. Could it be that the VHD itself doesn't include the necessary boot infrastructure?
    Sunday, October 20, 2013 12:44 AM
  • Mine did the same thing. (wouldn't boot) I had to boot off DVD and then allow it to do a repair. After that Hyper-V booted.

    My workaround was much more time consuming. I installed the 90 day trial of Windows 8.1 enterprise to a different machine i had laying around. I then used it to build a Windows to Go on an external hard drive. While that was building, I backed up my Windows 8 VHD and also downloaded the ISO Win8.1 upgrade from Microsoft. I then booted my machine with the Windows to Go hard drive, setup hyper-v, and attached the .vhd. It didn't boot so I had to do a repair. Once the repair worked I booted the VM and did the upgrade from .ISO and selected to keep everything. I used to ISO to also boot from and do the repair. The nice thing about doing the portable Windows to Go way is I know have a portable way of upgrading any machine I want no Internet connection required. The only thing is I have to do them all within the next 90 days! ;)

    Thanks for making this difficult Microsoft!  

    Monday, October 21, 2013 8:46 PM
  • This worked for me (not on SSD - only on HDD) - and only after many non-user related failures.

    http://www.johnpapa.net/bootoffmetal/

    Saturday, October 26, 2013 5:58 AM
  • The Hyper-V solution seams to be the only working way.

    MS will update the limitation page soon:

    http://channel9.msdn.com/Shows/The-Defrag-Show/Defrag-Explorer-Hang-81-upgrades-Optimal-Battery-Conditioning#time=16m54s


    "A programmer is just a tool which converts caffeine into code"

    • Proposed as answer by Exotic Hadron Monday, November 18, 2013 11:56 AM
    Saturday, October 26, 2013 6:20 AM
  • 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.


    Well this is the world we live in And these are the hands we're given...

    Monday, November 18, 2013 11:56 AM
  • Can you say me if you have tried your process with Norton ghost. I have seen on the net that this method don't go. Have you more information  or a tutorial ?

    Can I use a other soft of creation of disk image ( WinImage, acronis image....)

     Why not direcly attach  the vhd disk win 8.vhd to a external disk , use NeoSmart Easy BCD to detect the Windows 8 install on the new partition and create a boot entry.

    Finaly, how to install win 8.1 on a native vhd ? I can't use hyper-V on win 8 familial.

    Thanks

    Monday, December 23, 2013 7:30 AM
  • This is so disappointing.  I was approved for Microsoft's Project Spark Beta program but need 8.1 for that.  I tried to upgrade 8.0 to 8.1 in my VHD and was rejected.  I guess I won't be able to join the Beta program. :(

    I assume I can upgrade from Windows 8.0 to Windows 8.1 within my VMware instances.  Perhaps using VMware for virtualization is the fix.


    Rob Kraft


    • Edited by Rob Kraft Monday, January 20, 2014 1:36 PM
    Monday, January 20, 2014 1:33 PM
  • 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





    • Edited by AZona1 Monday, June 01, 2015 5:11 AM
    Thursday, May 07, 2015 4:25 PM
  • The Hyper-V solution seams to be the only working way.

    MS will update the limitation page soon:

    http://channel9.msdn.com/Shows/The-Defrag-Show/Defrag-Explorer-Hang-81-upgrades-Optimal-Battery-Conditioning#time=16m54s


    "A programmer is just a tool which converts caffeine into code"

    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.

    AZona1

    Saturday, May 30, 2015 4:24 AM
  • I was unable to get the VHDX to boot in Hyper-V. Tried both Gen1 and Gen2 VM's, just didn't want to start it up. Could it be that the VHD itself doesn't include the necessary boot infrastructure?

    If your boot files were on the SYSTEM partition of your physical drive, you would have to fix that for the VHD so that the boot files are also present on the virtual drive.

    If your VHD/VHDX is a GPT disk, create a Generation 2 type VM that supports UEFI firmware, otherwise, you will not be able to boot from the attached virtual disk.

    1. Attach the VHD/VHDX to the VM.

    2. Boot from a Windows Setup DVD

    3. Press SHIFT+F10 to open command prompt.

    4. Type diskpart

    5. Type sel vdisk file=Y:\yourvhd.vhfx

    6. Type attach vdisk

    7. Type SHIFT+F10 to open another Command Prompt, then type bcdedit. If it returns, there's no BCD database, fix that by adding boot code to the boot partition of the VHD disk (if this is the GPT disk, this must be the EFI partition).

    bootsect /nt60 X: /force
    
    bcdboot E:\Windows /S X: /f ALL

    Here X is your EFI partition (normally the 2nd partition on the GPT disk and listed as SYSTEM by diskpart tool), and E is your data partition with OS data (normally, the 4th one on the GPT disk and listed as BASIC by diskpart tool).

    bootsect adds the boot sector to the SYSTEM partition. BCDBOOT copies BCD data from your Windows installation of the VHDX file to the SYSTEM partition.

    You can find more details on that in this wonderful blog post:

    Notes of UEFI, GPT, UEFI boot process, disk partitions, and Hyper-V differencing disks with a Generation 2 VM


    Well this is the world we live in And these are the hands we're given...





    Wednesday, July 15, 2015 4:13 PM