Welcome to The Windows Blog 


Windows Recovery Environment

Anyone who has called a customer support number recently has most likely heard the recorded message "To help us improve our quality of service this call may be recorded or monitored."  When you call Microsoft Customer Support, one of the reasons that you hear such a message is that we have this really cool system that lets folks in the product group listen to support calls.  This lets us hear first-hand the issues that users are having with our products.  While I love this system, I am often humbled by what I hear.  Of all of the calls that I monitor, the one that I find most frustrating (remember, I am in listen-only mode) is the call where the customer's PC just won’t boot.  While I know I might be able to fix the PC if I had direct access to it, I know how hard it is for the user to follow a complex set of directions from even the most talented support engineer as they try to diagnose and correct the problem together.  I also know that it's even more frustrating for the customer.

I knew we had to tackle this for Windows Vista and I am very proud of the progress we made with a new feature called Windows Recovery Environment or Windows RE.  Windows RE is a combination runtime environment, diagnostic tool and repair system that basically tries to do about 80% of what one of the engineers in the Windows support team could do if they came to your home or office and hooked up a debugger up to your PC -- all without you having to do anything.

In looking at the support data, we know that the top 5 issues that cause Windows XP PCs not to boot are:  1) registry corruptions, 2) corrupt file systems (also known as NTFS metadata corruptions), 3) missing OS loader, 4) inaccessible boot devices (often caused by installing a bad storage driver) and 5) system file corruptions (some part of the OS getting deleted).  These problems could happen because of hardware memory corruptions, disk corruptions, other hardware issues, buggy device drivers, or a kernel software issue.  Regardless of how the system got into that state, the idea was to create an environment that would use heuristics to essentially implement a differential diagnosis to identify the issue and then use the resources in the other parts of the system configuration, combined with back-up data (such as system restore points) and a copy of key system image information to put the system back into an operating state -- without user intervention.

The recovery environment can be loaded in one of two ways:  either automatically, if the computer manufacturer or IT administrator created a separate partition with Windows Recovery Environment installed on it, or manually using either the Windows Vista DVD or the on-disk recovery environment.  When Windows RE is installed on the hard disk, it can be accessed by pressing the F8 key when the system is booting.

Here is how it works in the automatic scenario (with the Windows RE partition).  At startup, the Windows loader sets a flag to show that the boot process has started.  If the boot is successful, we clear the flag right before the Windows logon screen is displayed.  However, if the boot fails, the flag is never cleared so that the next time the computer tries to boot, the Windows loader see that the flag was not cleared and assumes that the boot failed, so the loader launches the Windows Recovery Environment instead of Windows Vista.  If you don't have the automatic mode, you can use the Windows Vista DVD to load the Startup Repair tool.

Once loaded, the Startup Repair starts checking for potential problems to see why the system failed to boot by grinding through the following questions:  Is the problem a missing or damaged boot configuration file?  Is the problem due to missing or damaged system files?  Is it due to a missing or damaged driver?  An incompatible driver?  An incompatible OS update?  In all of these cases, if a problem is found, the system will attempt to correct the problem either by restoring a file using a cache of files (for example, a corrupted driver file), using a system restore point, or recreating a database using other data (such as rebuilding a registry hive or the file system).  The system will also detect and report a bad hard disk or bad memory, but given that these are hardware issues, we can’t do much to fix them.

One very cool thing about the Windows Recovery Environment is that the computer manufacturer or IT administrator will be able to store a "base" configuration on the recovery partition.  That way the user will have the ability to restore their Windows Vista PC to the "factory new" state without having to reinstall the operating system.  Also, if you enable Windows Backup, you can restore the backed-up system state using Windows RE.

More detailed information on the Windows Recovery Environment and how to use it is available on the Windows RE team blog.  The important thing for most users though is to just let the recovery system do its repair job automatically.  In addition to reducing both the support costs for IT managers and the frustration that users face when their Windows PC just won't boot, one of the most important scenarios that the Windows Recovery Environment will reduce is the wipe-and-reload approach that, in my mind, is resorted to far too frequently.  Certainly without the benefit of the Windows Recovery Environment, wipe-and-reload may have been the most pragmatic solution in the past, but not with Windows Vista.  You should push back hard whenever someone tells you to wipe and reload a Windows Vista machine because it won't boot.

So next time you hear one of those recordings on the phone (and I hope you never need to), remember that we monitored the call not just for the quality of the support, but also for the quality of the product.

jim


Comments

  1. Posted on: December 05, 2006 at 7:35PM  

    That is one of the best features I have heard about Vista so far.  Why did you guys not push this feature as a major selling point?  I would upgrade just for this alone!  Excellent work.

    One question though, is this feature part of Beta 5600?  I deleted my master hard drive but forgot to copy Vista's boot loader.  Can I restore it using the disk?

  2. Posted on: December 05, 2006 at 10:16PM  

    This environment is like ERD Commander or I'm wrong?

  3. Posted on: December 06, 2006 at 3:23AM  

    Wasn't some rudimentary DOS-like (although definitely not so good as Vista's) repair functionality present on Windows 2000's CD? MS removed the easier DOS-like GUI from WinXP and kept only the commands in Recovery console...nevertheless it's a nice feature in Vista....one more thing I would like to see perhaps in the next version or Service pack is the ability to force a CHKDSK upon improper shutdown on an NTFS volume like it happens automatically currently for FAT32...although NTFS heals automatically, CHKDSK always seems to find and fix some errors even on an NTFS volume after an improper shutdown.

  4. Posted on: December 06, 2006 at 5:30AM  

    I love the system recovery options and it works very well! Is there anyway installing it on a seperate partition so it comes up as a boot option rather than booting from the dvd?

    Many Thanks

  5. Posted on: December 06, 2006 at 7:36AM  

    Thank you for adding the Windows RE to Vista!

    I already needed it because a bug in the device driver of my network card prevented Windows from booting.

    Thanks to Windows RE, I didn't have to reinstall Vista.

    So, great job! This is an excellent feature!

  6. Posted on: December 06, 2006 at 8:06AM  

    Anyways I never reinstall XP ever, I know how to solve my problems (a bit of regmon and filemon only), but maybe this tool allow to help remote inexperienced users (by phone for example)

  7. Posted on: December 06, 2006 at 12:34PM  

    it chould have saved me from many reinsalls of vista beta 2..

  8. Posted on: December 06, 2006 at 8:44PM  

    Hey PowerHouse:  the Windows RE feature was part of Build 5600, launchable from the install media.  And yes, the feature can repair missing Windows Vista boot loader files.

    A collague who worked on this feature has passed along the following; we hope it's of help:

    Based on your one-line statement, my best guess of the scenario is:

    1) You have XP installed on the first (active) partition

    2) You've clean-installed Windows Vista onto second (non-active) partition

    3) If you delete the XP partition, then

    4) Windows Vista fails to boot because boot loader files were on the XP partition.

    If the above is correct, then running Startup Repair from Windows RE would fix your system by:

    1) Recreating the active partition and related disk metadata

    2) Recreating the boot loader files (bootmgr.exe)

    3) Recreating the boot configuration data (BCD) store

  9. Posted on: December 07, 2006 at 10:21PM  

    The ability to store a "base" configuration sounds like a useful feature.  Although does this have to be created after the first boot or at any time?  I guess Ill read the link.

    Thanks Nick that information is useful to know as thats the sort of error Im highly likely to create that would make my wife mad, its nice to know theres an easy fix for it.

  10. Posted on: December 08, 2006 at 3:26PM  

    I like the system recovery and it works very well!

    --------

    http://www.dl4all.com

  • Page:
  • 1
  • 2

Trackbacks

  1. Posted by: Welcome to Flaphead.com @ Home on December 06, 2006 at 8:50AM
  2. Posted by: Richard G. Harper - Microsoft Windows Support and More on December 30, 2006 at 2:09PM

    For what will likely be my final post for 2006, I wanted to make an opportunity to respond to those who

  3. Posted by: Windows Vista Team Blog on January 03, 2007 at 7:59PM

    Many people share the dream that the various electronic devices they use should do what they want without