After a double disaster with my workhorse Windows 8.1 laptop I’ve been exploring the easy ways to create a usable backup image of my system when set up to my liking. The Windows Recovery Environment (Windows RE) turns out to be well thought out but a couple of confusing bits of UI and mass of conflicting advice on the interweb leads to obfuscation. The following is my experience. Jump to the end for the solution of creating a custom image for system Refresh.
Blue Screens of Death are still a thing
I was unlucky enough to have 2 consecutive failures. The first was Windows update installing an Alps driver for my Dell XPS12 trackpad. The resulting service caused a Blue Screen of Death and required a length ‘binary chop’ process on the services to identify the cause so I could uninstall it (Basically the steps are: get into Safe Mode, run msconfig, check Hide all Microsoft Services on services tab and disable half the services, reboot and add or remove services before rebooting, rinse and repeat ’till you have figured out what is causing the problem).
Without any custom recovery setup my only solution was a clean install of Windows 8.1 (from a MSDN ISO) followed by resinstalling all my desktop apps, followed by restoration of File History backup for my docs/data from my NAS. Annoyingly I had forgot to backup a few hidden files in my user root when setting up File History. Anyway, the result was a nice fast PC booting.
Oh, but then after a reboot I suddenly got stuck in a non recoverable BSoD loop (CRITICAL_SERVICE_FAILURE). So I had to do it all again. I’m pretty sure the cause was using Glary Utilities to clean up and not the hardware. But I ran the Dell tests and Seagate’s own SSD tests just in case it was a hardware issue (all fine).
Being sensible and creating a recovery image
So this time I decided to create an image to facilitate easy restoration. While there are classic solutions like trusty old clonezilla I felt the Windows solution should be usable. While reading around indicated I might be able to create a partition on the system disk I wanted to create a boot able USB stick (the XPS12 has no optical drive) in case I got the non booting BSoD loop again..
While Windows RE supports options for both both Refresh (leaves your docs/data) and Reset (full factory reset) both required me to supply recovery media (I think the install image on USB should have worked, but I went for a full reset anyway). My plan was to create a custom image that can be used in this case to reinstall all apps and programs.
Partition or image?
Now this is where the trail gets a bit muddy. While the desktop Control Panel recovery tool can create a backup drive, the useful sounding check box “Copy the recovery partition from the PC to the recovery drive” is disabled, even on a system created from a Windows install image. Firstly it appears ‘partition’ actually means image, though an OEM may have put a custom recovery image on a partition (and you can do the same).
The solution to the disabled checkbox appears to be to provide an Install.wim windows system image and configure windows to use it with reagentc. Then if I understand it the created recovery drive will contain the Windows RE and the Install.wim and so enable you to boot and recover from the drive. However I have not yet tested this.
Now it turns out you can create a custom wim image from a snapshot of your system and leave this on your system disk when it can be used for a Refresh. Several people claim you can also rename the custom image as Install.wim and then register it so you can create a recovery drive (and possibly use it for a full Reset).
Now the tool used to create and register a custom image is recimg but it’s help has a big disclaimer that only documents and apps will be preserved during a Refresh, not desktop programs. This turns out to be the second confusing information. It would no doubt be true for the default Install.wim, assuming that actually worked out of the box. The recimg help also states it can only be used for a Refresh not a Reset but I don’t know if that is true after it is renamed to Image.wim. I’ve yet to try it.
Once you create a CustomImage.wim you can then run Refresh from the Windows RE which will use the new . Of course that assumes you can get your PC to boot, which I wasn’t able to. To cover that I’ve copied my CustomImage.wim to an external drive in the hope I can use it later if required. As mentioned above you can create a recovery drive from your custom image, but the need to rename (or copy) and register it your newly created CustomImage.wim as Install.wim to enable the checkbox.
In the end my plan was to create a CustomImage.wim after installing Office and my dev tools. This weighed in at a hefty 30 GB so I removed it from my SSD as soon as I had made a copy. I didn’t have a device suitable for a recovery drive.
[Update 2015-05-24: Warning the recovery drive utility does a FAT format so your drive will be limited to 32GB – which really restricts it’s application, infact makes it useless for me. Also the drive I purchased (Elite) appears as a local drive rather than portable so is not seen by the utility]
Creating a custom image for Refresh
- Get system to a clean, updated and stable state
- Open a Command Prompt
- Run ‘mkdir c:\RefreshImage’
- Run ‘recimg -CreateImage C:\RefreshImage’
- You will now have a C:\RefreshImage\CustomImage.wim
- Run ‘reagentc /info’ to check the custom image is registered
Creating a Recovery Drive with you custom image
- Open a Command Prompt
- copy (or rename) CustomImage.wim to Install.wim
- Run ‘reagenc /SetOSImage /Path C:\RefreshImage\Install.wim /Index 1’
- Run ‘reagentc /info’ to check the recovery image is registered
- In control panel select ‘Create a recovery drive’ and check ‘Copy Recovery partition.
If you want to know more Steven Synofsky wrote a post on how the Windows RE system works for Reset and Refresh.
(Note Microsoft also provide tools for OEMs to create custom recovery images, tools and menus but they are more complex to use).