Thursday, October 24, 2013

You cannot backup or restore Windows 8.1

Credit for helping with the research: Charles Shepard (Windows Build Expert, St. Luke's Health System, Idaho).

Hopefully you get to read this before building your new Windows 8.1 system or attempting to use the free upgrade from Windows 8 to Windows 8.1 or you are going to get mad!

There is a serious bug in the Windows 8.1 installation routine that results in the system RECOVERY partition being too small to accommodate enough data for VSS. Ahh! I hear you say, you can just use VSSADMIN to set the VSS disk for the C: drive to a different volume. Well, no you cannot as that functionality has been removed from non-server versions of VSSADMIN and you cannot transplant a copy.

Here is the (very long) error message:

'There is not enough disk space to create the volume shadow copy on storage location. Make sure that for all volume to be backup up, the minimum disk space required for shadow copy creation is available. this applies to both the backup storage destination and volume included in the backup. Minimum requirement for Volumes less than 500 megabytes, the minimum is 50 megabyte of free space. for volumes more than 500 megabytes, the minimum is 320 megabytes of free space. Recommended at least 1 gigabytes free of disk space on each volumes if volumes size is more than 1 gigabytes (0x80780119)'

By default the RECOVERY partition is 300MB in size and this too small. Good luck trying any partition magic software, this is likely to not function on a UEFI based system. Someone smarter than me may be able to figure out a repair process, but as far as I can tell you are screwed and you must (re)install Windows 8.1 using custom partitions. Here is how:

First we select and clear the disk for work
  1. Boot from your Windows 8.1 Media.
  2. Select INSTALL NOW
  3. Select CUSTOM
  4. Locate the physical drive to be used as your C: drive from the list. If you have a previous install of Windows it should be obvious as you will see all the existing partitions such as RECOVERY, EFI & C: etc.
  5. Delete all partitions of your broken C: drive so that the drive appears as one big unallocated space. Now comes the snarly piece:
  6. Hit SHIFT-F10 to bring up a command line.
  7. Type DISKPART to start the partition manager.
  8. Type LIST DISK to list the disks and identify the disk for the C: drive. For me this was Drive 0.
  9. Type SELECT DISK 0 (or whatever is correct for you)
  10. Type CLEAN
  11. Type CONVERT GPT
Next we create and format the RECOVERY volume the way that Microsoft's install process should have done.
  1. Type CREATE PARTITION PRIMARY SIZE=995 (this is the magic number you need for a good VSS drive without going out-of-bounds.
  2. Type FORMAT QUICK FS=NTFS LABEL="RECOVERY"
  3. Type SET ID="DE94BBA4-06D1-4D40-A16A-BFD50179D6AC"
  4. Type GPT ATTRIBUTES=0x8000000000000001 (that's 14 zeros!)
Next we create and format the EFI partition.
  1. Type CREATE PARTITION EFI SIZE=100
  2. Type FORMAT QUICK FS=FAT32 LABEL="EFI SYSTEM"
  3. Type SET ID="C12A7328-F81F-11D2-BA4B-00A0C93EC93B"
Next we create the MSR partition (no format this time)
  1. Type CREATE PARTITION MSR SIZE=128
Next we create the partition that will be the C: drive (again, no format and we do not specify the size, this will be our actual C: drive so I want it to take the rest of the drive. If you don't then specify a size and leave the rest unallocated so you can create further partitions through the GUI later).
  1. Type CREATE PARTITION PRIMARY
Next we check our work
  1. Type LIST VOLUME and review your work.
Next we install Windows.
  1. Exit DISKPART by typing EXIT.
  2. Exit the CMD window by typing EXIT
  3. Back in Windows install screen, hit the REFRESH button and you should see all the partitions you just made. Select the 'big' one (the one you want to be the C: drive) and hit NEXT to install Windows as you normally would.
Next we have to test.
  1. Do a backup, this time it should work.
  2. Change something
  3. Restore your backup
Cheers!

6 comments:

  1. Thank you very much, Mick, for preserving me "going to get mad"! I tried your solution and it worked fine! Many greetings from Germany!

    ReplyDelete
  2. Your welcome, honestly I think we have to accept that Microsoft will not be able to fix this for an existing installation unless they (a) automate a partition shuffle and I think that is two dangerous because of all the unknown variables e.g. people that have created multiple partitions on the installation drive for general use or (b) they provide a non-gimped version of VSSADMIN so that you can choose to move the VSS data to another drive (assuming you have one)

    ReplyDelete
  3. Nice work, Mick. I believe by owning a Lenovo Twist, I fall into the category of those with multiple other partitions. My primary drive has 6 GPT partitions; a Data, an EFI system, a Restore, and 3 Recovery. And if that is not enough of a headache, there is a SSD drive with 2 more GPT partitions, no listed type. I'll guess its connected in some way.
    I wonder if Lenovo will get it sorted out. :( But I appreciate you post, which lets me know what I am up against. Thanks!

    ReplyDelete
  4. I think we have to accept that Microsoft will not be able to fix this for an existing installation unless they (a) automate a partition shuffle and I think that is two dangerous because of all the unknown variables.If you use backup software, you might be like others who complain at how complex it is to use.

    ReplyDelete
  5. this is great! than you so much for the walkthrough!

    one thing i want to add before others stumble into the same trap as me:
    make sure to boot your install medium also in uefi mode when using gpt as partitioning. i was a little concerned after all steps where completed but the install routine didn`t start because i booted in regular/old/not uefi mode ;)

    ReplyDelete
  6. Thanks allot.
    Followed your idea and applied it successfully.
    I added dupplica online backup just for extra security.
    Thanks

    ReplyDelete