In-Depth with the Windows 8 Consumer Previewby Andrew Cunningham, Ryan Smith, Kristian Vättö & Jarred Walton on March 9, 2012 10:30 AM EST
Refresh and Reset
One of Windows 8’s most appealing new features for enterprises is something Microsoft calls “refresh and reset.” It adds the ability to automatically roll a busted Windows install back to a pristine state. The “refresh” functionality rolls back changes to system files and installed desktop applications (unless you create your own recovery image; more on that in a minute) but preserves user data, and the “reset” functionality reverts Windows to its freshly-installed state. This is analogous to the appliance-like “reset” or “restore factory defaults” functions present in many smartphones, tablets, MP3 players, and other electronics capable of storing customized settings and user data.
Refresh and reset, accessible from the “General” section of the Metro settings and from the WinRE recovery menu, both use the same image-based technology used by Windows Setup to do their thing. Since Vista, Windows install media has included (1) a collection of files required to enabled booting from the media and (2) a large, monolithic .WIM image file that is uncompressed and copied to the hard drive during install—this contrasts with the setup process for Windows XP and earlier versions, which expanded and copied individual files from the install media to the hard drive. Microsoft also offers a number of tools (many included in the Windows ADK) to let end users and IT admins create their own, customized .WIM images, which can be used to deploy a custom Windows installation to many computers quickly.
So, to continue the Windows Setup analogy, “refreshing” the PC acts as an upgrade install, replacing the operating system while preserving user data. Metro-style apps will also be preserved, but installed desktop apps will be removed and a list of them will be placed on your desktop in HTML format for reference—Microsoft’s reasoning for this behavior is that malicious desktop apps are more likely to be the cause of serious problems than are Metro apps from the Windows Store’s “walled garden”.
“Resetting” the PC acts as a clean install that blows away all user data, especially useful if a PC is being repurposed or sold or otherwise transferred from one party to another. The reset option also gives you the option of erasing the hard drive securely so that sensitive data won’t be at risk.
Recimg: Creating Custom Recovery Images
There’s one more major component to the refresh feature, and it’s probably the most interesting one—using the Recimg command-line tool, users can create snapshots of their systems to use as the reference point for a refresh. These snapshots, which are really just the same .WIM images used by Windows Setup, will store settings, drivers, and both Metro and desktop applications, and can be created at any time and stored basically anywhere, including the Windows partition.
These recovery images can even be used to replace factory restore partitions—suppose that you buy a cheap Windows 8 PC, as many people will do, and it comes with the requisite sea of crapware and no recovery DVDs or USB sticks. Thanks to Recimg, you can uninstall that crapware, update drivers, install programs you actually want, capture an updated crapware-free image, and then delete the old recovery image/partition from your hard drive to save the space. Relatives who have broken their PCs can then use the recovery image to revert their PCs to an unbroken state without losing their personal data.
Sounds useful, right? Let’s talk a bit more about how to use recimg.
First, you’ll need to run the Command Prompt as an administrator—otherwise, Recimg won’t run. From here, you can launch recimg with one of five different switches:
- Recimg /createimage <directory> will create a new install.WIM image containing your installed drivers and programs to a directory you specify. The easiest way to do this is to store it on a local hard drive, but an external drive will also work as long as the external drive is plugged in when you initiate the refresh). The size of the .WIM file will vary based on what you’ve got installed, but images usually start at 3 or 4 GB and work their way up from there.
- Recimg /setcurrent <directory> will set the install.WIM image in the specified directory as the one Windows will use when refreshing your PC. If you run Recimg /createimage but don’t use /setcurrent afterward, Windows won’t know to use your image.
- Recimg /deregister will deregister the currently set recovery image. If a previously-created recovery image exists, Windows will revert to using it. If no image exists, Windows will ask for you to insert install media when you try to refresh the PC.
- Recimg /showcurrent tells you where your current recovery image is stored.
- Recimg /? tells you all of the stuff I just told you.
The primary downside of Recimg is that it can’t be used to reset a PC, only to refresh. My test PCs always asked me to insert Windows install media to use the reset functionality—OEM PCs that ship with Windows 8 may behave differently, but we’ll have to wait and see.
That aside, Recimg and the refresh/reset functionality do a solid job of making OS reinstallation a bit simpler—Windows Setup isn’t very hard now but it, combined with the challenge of reinstalling apps and drivers, has made reinstalling a fresh copy of Windows more of a pain than it needs to be.
Windows 8's new Storage Spaces functionality allows users to pool different physical drives together into one large logical drive, not unlike the now-discontinued Windows Home Server Drive Extender. You can pool drives connected by just about any common interface, including USB, SATA, and SAS.
Once you've created a storage pool using two or more drives, you can then set up one or more "spaces" that will be seen by the operating system as a logical drive which can be formatted, partitioned, and used just as a physical disk would be. To provide redundancy, you can either apply the "mirrored" attribute to your pool, which makes sure that a copy of every file in the pool is stored on at least two different physical drives, or the "parity" attribute, which uses some drive space to store redundancy information—in the event of drive failure, this information is used to rebuild your pool and enforce mirroring. Microsoft notes that while the two redundancy options are similar, the "parity" attribute is best used for large sequential files or less-frequently-accessed content, since it has a higher random I/O overhead. As with any redundancy technology, you'll give up maximum drive capacity in exchange for data integrity, so weigh your priorities carefully when you create your pool.
When creating a new Storage Space, you can specify a maximum size larger than the amount of available physical space—the system will prompt you when the storage pool needs more drives to work with. Microsoft calls this "thin provisioning," which means that drive capacity is only reserved as you store data to the drive rather than all at once. You can also expand the maximum size of the Storage Space at a later point if necessary. Creation of these spaces can be scripted using PowerShell.
My experience with Storage Spaces was a bit spotty—it didn't seem to want to recognize some of the USB sticks I plugged into my computer, and it wasn't clear why. It may be that there are some unspoken speed or hardware requirements that a couple of my drives just weren't meeting. Once I did get it working, though, it worked as designed—as you can see in the screenshot above, I unplugged one of the drives from the pool I had configured to simulate what would happen in the event of drive failure, and the redundancy features ensured that I was still able to access all files I had copied to the pool. One could then reconnect the drive or add a new one to the pool to restore redundancy.