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
- Boot from your Windows 8.1 Media.
- Select INSTALL NOW
- Select CUSTOM
- 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.
- Delete all partitions of your broken C: drive so that the drive appears as one big unallocated space. Now comes the snarly piece:
- Hit SHIFT-F10 to bring up a command line.
- Type DISKPART to start the partition manager.
- Type LIST DISK to list the disks and identify the disk for the C: drive. For me this was Drive 0.
- Type SELECT DISK 0 (or whatever is correct for you)
- Type CLEAN
- Type CONVERT GPT
- Type CREATE PARTITION PRIMARY SIZE=995 (this is the magic number you need for a good VSS drive without going out-of-bounds.
- Type FORMAT QUICK FS=NTFS LABEL="RECOVERY"
- Type SET ID="DE94BBA4-06D1-4D40-A16A-BFD50179D6AC"
- Type GPT ATTRIBUTES=0x8000000000000001 (that's 14 zeros!)
- Type CREATE PARTITION EFI SIZE=100
- Type FORMAT QUICK FS=FAT32 LABEL="EFI SYSTEM"
- Type SET ID="C12A7328-F81F-11D2-BA4B-00A0C93EC93B"
- Type CREATE PARTITION MSR SIZE=128
- Type CREATE PARTITION PRIMARY
- Type LIST VOLUME and review your work.
- Exit DISKPART by typing EXIT.
- Exit the CMD window by typing EXIT
- 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.
- Do a backup, this time it should work.
- Change something
- Restore your backup