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.

Storage Spaces

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.

Post Your Comment

286 Comments

1) We'll probably do an analysis of that with an RTM version of the OS. I wouldn't expect it to change too drastically from a patched copy of Windows 7.2) Not guaranteed, but probably. When 7 was released, Vista got a Platform Update that added support for DX11, some WDDM 1.1 features, and a few other things: http://support.microsoft.com/kb/971644

Windows 7 is still in its mainstream support phase, so I'd expect those updates to be available after Windows 8 RTM.Reply

True, however everybody has differing tastes. I don't mind it, personally, and it's not as if the Windows 7 desktop has gone forever.

As for Mango, it's not on many devices and hasn't been out long. I also firmly believe that it's the first flavour (sorry) of Windows Phone that Microsoft has truly taken seriously. Give it time. Had dozens of devices been launched with Mango yet sales been poor, I'd have been more inclined to agree with you.

Touch screen technology has been around a while and it's about time that a mainstream OS had extensive functionality in this area.Reply

>Isn't the fact that new Windows phone BOMBED in the marketplace enough reason not glorify this crappy GUI? The public has already spoken.

Well, that's exactly why they have to FORCE metro to their biggest userbase (Desktop PC). They want people to get used to metro, then hopefully people get attached to it and choose to buy tablet/phone with metro.Reply

This is where I think Apple's methodical, very deliberate, well thought out approach is going to win over a lot of people after Windows 8 launches. Microsoft already tried this in reverse order and it was awful until they instantly became irrelevant when the original iPhone launched. They crammed a mouse and keyboard OS into a crappy touchscreen phone and called it a day. Here they are cramming a touchscreen phone/tablet OS pasted on top of a desktop OS and figured out the least amount of work to make it possible to maneuver between the (what feels like) two OS's. When the review consistently has "There are actually two versions of..." you know you have done something wrong as an OS engineer.

I've given Win8 a fair shake, I've really tried to give it an honest everyday usage to give it a fair comparison. I have a Lumia 900 and have been running the consumer preview since it came out. I'm really going the extra mile to give the Metro UI a shot, but it just doesn't scale to a desktop (In the way windows 8 implements it) very well at all. I've used Win8 on a very nice prerelease tablet and it works wonderfully. Microsoft should really take a step back and survey the industry and learn from what has been successful and what has had problems. The iPad is crushing the tablet market because it benefits (like many Apple products) from a halo of the iPhone, iTunes, and iCloud. Google has realized their misstep in segmenting the phone & tablet OS's and I think Microsoft will come to realize that a touchscreen tablet has more in common with a touchscreen smartphone than it does with a keyboard and mouse desktop PC.

The thing about Metro is that it is very simplistic and *could* scale easily. Look at a Windows Phone 7 next to a Windows 8 Tablet and it's ability to scale is obvious. I think the real problem here is Microsoft is taking a Bold, half hearted, All-in, keep some chips in reserve, Go for the gusto, partially move to Metro. They cram it down your throat but don't believe in it enough to completely re-think the OS an move to it. I would like Windows 8 a whole lot more if it was a unified experience with Metro at it's center. The half ***ed cramming of two OS's with different UI's into one cup of tea is what really pushes me away from Windows 8. If they left the core of windows 7 under the hood so any windows 7 app's would run, and provide a simple framework for developers to create "live tile" shortcuts that plugin to the new services that Windows 8 will bring this would be a much better OS. If this is the future, GO FOR IT!! There should not be a control panel for "desktop" and a settings for Metro. There should not be Metro IE 10 and IE 10 for Desktop. If they built API's and service frameworks for developers to bridge Metro UI to C++ code and let developers design their software the best way that suits their needs there would be far better support. The Metro UI as a launcher for native C++ app's and HTML5 Metro apps would be great. This would be especially true if developers could push notifications and information to the live tiles for their app's. Imagine a multiplayer game like Battlefield 3 on Windows 8. On the Metro UI "Start" screen the Live Tile for BF3 would be alive with info from battlelog. So you could easily see if some friends are playing the game, or if there is new content/updates, etc... It would be like having the community features of Steam, without ever having to "Launch" anything. A quick glance at your games area of your Live Tiles and you could see who is online playing what games and quickly join in. The same thing would be true for a more professional app like Photoshop. Imaging if Adobe, using these types of API's could build in collaboration features tied into the Live Tiles & using SkyDrive. You could save an image in your skydive and share it to your fellow team members, then if there are changes and edits all of those peoples Live Tiles for Photoshop would reflect that new information. They have so much potential and are at a solid time to make the leap, the real leap to Metro with less risk. They have a solid "traditional" OS in Windows 7 that they could continue to sell. They also have the ability to really bring a new level of integration that has been absent from Microsoft products. Tie in Xbox Live like they did on Windows Phone 7, and integrate voice chat, the friend list, messaging, etc as system wide services. The list goes on and on with the amount of potential they have to make a seamless experience across all of their platforms from phone, to xbox to tablet to PC. It's sad to see this is the best they can do.

As mentioned above, I think Apples approach of using services like iCloud to bridge your data from a mobile platform to a desktop platform is a better strategy. Really looking at each element of a mobile OS and thinking how that will work on a desktop with a mouse and keyboard; working to merge what makes sense and leaving out what doesn't. I think Apple is also failing at this to some extent as well. They should be working on unifying their "Store's" so I could make an app that when loaded on an iPhone would have the iPhone UI, when loaded on the iPad would have the iPad UI and when loaded on a Mac would have a windowed UI, and the store would serve up the correct parts of the binary depending on if it's on a mobile device like iPhone/iPad or Mac.

The feedback from the two "normal" non-technical computer users I showed it to was very negative. I let them play with it with no instructions or advice, and they couldn't do anything. It's the least intuitive interface ever.

Oddly (or not oddly), the most computer-literate person I showed it to figured he could get used to it, since he uses keyboard commands for everything and they still work. He thinks Microsoft are out of their minds, though.

Perhaps that is Microsoft's problem, I wonder? All of their engineers, testers and QA people know all of the keyboard commands, which puts them in the 1% of computer users. Perhaps if they created a special version of Win8 for interface testing, which *required* mouse input for all actions, they'd seriously reconsider Metro.Reply

I don't know, I'm a software engineer myself and I wouldn't touch W8 with a 10ft pole.

I like the minor underlying enhancements to things like the Task Manager and File Transfer dialog, though nothing of that can even begin to make up for the UI clusterfuck.

I run a multiple-display desktop system.

I _like_ nestled folder structures and rely on it to organize.

I prefer minimal clutter on the desktop, to the point the only application icons there are Chrome and MPC-HC, and half a dozen project folders. I also use minimal size icons.

Huge icons in listings, and the enormous amount of whitespace they add, is wasteful and inefficient.

I can't stand that good and intuitive UI elements like radiobuttons and checkboxes are giving way to touch-oriented dragbars, it just underlines wha ta gigantic step backwards the entire Metro experience represents.

Perhaps you're right about technical and professional users being less impacted by the horrors of W8 due to being more comfortable with keyboard shortcuts than users in general, my personal experience isn't enough to say one way or another.

On the other hand I'd argue that that particular group of people are least inclined to accept the changes because they very rarely have to. I don't have to use Windows as a development platform, I could quite trivially move to any *NIX platform of choice.

And if Microsoft doesn't see the light before Windows 7 hits EOL I might as well migrate platform, at least I can set up the UI as I prefer that way.Reply