System Restore made its first shaky appearance in the late, unlamented Windows Me. With each successive version of
Windows, this important feature has taken on whole new
responsibilities. System Restore is now part of a larger feature known
as System Protection, whose primary job is to take periodic snapshots
of designated local storage volumes. These snapshots make note of
differences in the details of your system configuration (registry
settings, driver files, third-party applications, and so on), allowing
you to undo changes and roll back a system configuration to a time when
it was known to work correctly. In Windows 7 (as in Windows Vista), the
volume snapshots also include data files on designated drives. The
effect of this expansion is to create real-time backups of individual
data files, allowing you to recover from unwanted edits or unexpected
deletions by restoring a previous version of a file or folder from
Windows Explorer.
Periodically
checking the status of System Protection is an essential part of a
comprehensive backup strategy: Is the feature enabled and working
properly on the drives where you need its protection? Is the proper
amount of space set aside for it, not too much or too little?
The
mechanics of System Protection in Windows 7 are substantially changed
from those of its predecessors in Windows Vista and Windows XP. It uses
disk space more intelligently and offers significantly more
customization options. In this section, we explain how this feature
works and what it backs up, how to turn it on or off for a given disk,
and how to create a manual restore point.
Normally,
automatic restore points are created at least once every 7 days. (This
is a significant change from Windows Vista, which created snapshots
daily.) Restore points are also created automatically before the
following major system events:
Installation of any application that uses an installer that complies with System Restore requirements
In practice, any program that qualifies for the Windows Vista or
Windows 7 logo will create a new restore point before performing any
installation tasks (including removal). Installation of any updates provided through Windows Update or Microsoft Update System Restore creates a restore point before the installation of the update begins, whether the update is installed automatically or manually. System Restore
If you choose to use System Restore to roll back to an earlier
configuration, the system creates a fresh restore point first. If
necessary, you can undo the restore operation by choosing the freshly
created restore point. Any backup operation performed by Windows Backup System Restore points are created by Windows Backup as part of both file backups and system images.
Restore
points created by Windows Vista and Windows 7 include information about
changes made to any files on that volume since the previous snapshot
was created. If you have enabled the option to monitor system settings,
snapshots contain two additional data points: a full copy of the
registry as of the time of the snapshot, and a list of files that
include any of 250+ file-name extensions specifically designated for
monitoring. This list (which cannot be modified) contains many file
types that are clearly programs and system files, with extensions such
as .exe, .dll, and .vbs. But it also includes other files that you
might not think of as system files, including .inf and .ini, and some
that are truly head-scratchers, such as .d01 through .d05 and .d32.
(Apparently .d06 through .d31 are unmonitored.) The entire list is
available at w7io.com/1104.
It's most useful for programmers and system administrators, but you
might want to take a look at it if you're curious why using System
Restore deleted a file that you thought was perfectly safe.
|
To
access the full set of System Restore options, open System in Control
Panel and click the System Protection link in the left pane. (To go
directly to the System Properties dialog box, click Start, type systempropertiesprotection, and press Enter.) The resulting dialog box, shown in Figure 1,
lists all available NTFS-formatted drives (internal and external). The
value under Protection Settings indicates whether restore points are
being created automatically for each drive.
Using
the System Properties dialog box, you can enable or disable automatic
monitoring for any local drive. In addition, you can specify whether
you want restore points for a given drive to include system
configuration settings and previous versions of files or to save
previous versions only. By design, system protection is fully enabled
for the system drive and is disabled for all other local drives.
Warning:
System Restore is a powerful and useful tool, and you shouldn't disable
it on your system drive without a good reason. If you're extremely low
on disk space and a hard disk upgrade is impractical or impossible (as
on some notebook computers), you might choose to do so, although you
should try limiting its use of disk space, as we explain later in this section, before shutting it down completely.
If you've set aside one or more drives
exclusively for data, you might want to enable the creation of
automatic restore points on those drives, which has the effect of
creating shadow copies of files you change or delete on that drive.
This step is especially important if you've relocated one or more
profile folders to drives other than the one on which Windows is
installed. To enable or disable the creation of automatic restore
points for a drive, open the System Properties dialog box, select the
drive letter from the list under Protection Settings, and click
Configure. Figure 2
shows the recommended settings for a secondary drive that contains data
files and system image backups only. We've chosen the second option,
Only Restore Previous Versions Of Files, rather than the default, which
also tracks system settings.
The information under the Disk
Space Usage heading shows both the current usage and the maximum amount
of space that will be used for snapshots before System Protection
begins deleting old restore points to make room for new ones. By
default, a clean installation of Windows 7 sets aside space for system
protection based on the size of the hard drive. On a volume larger than
64 GB, the default amount of reserved space is 5 percent of the disk or
10 GB, whichever is less. On a volume that is smaller than 64 GB, the
default disk space usage is limited to a maximum of 3 percent of the drive's total space. (The minimum space required is 300 MB.)
Note: The disk
space usage rules for system protection in Windows 7 represent a
significant change over those in place for Windows Vista and Windows
XP. If you upgrade a PC from Windows Vista to Windows 7, Windows does
not adjust the maximum disk space settings previously in place. Thus,
for an upgrade, you might discover that a given drive has reserved as
much as 30 percent of your free disk space for volume snapshots. In
that case, you might want to manually lower the reserved space, using
the steps in this section.
To
adjust the maximum amount of disk space available for volume snapshots,
click the System Protection tab in the System Properties dialog box,
select a drive letter from the list of available drives, click
Configure, and move the Max Usage slider to the value you prefer. For
drives greater than 64 GB in size, you can choose any value between 1
percent and 100 percent; for drives that are smaller than 64 GB, the
minimum reserved space is 300 MB.
In Windows Vista, the tools for configuring system protection were relatively inflexible. By default,
the system set aside 15 percent of each drive for System Restore
snapshots. This value could be adjusted using the DiskPercent value in
the registry key HKLM\
Software\Microsoft\WindowsNT\CurrentVersion\SystemRestore\Cfg. Although
this key is created on a clean installation of Windows 7, it does not
appear to have any effect. In addition, the only way to adjust the size
of reserved space for System Protection files in Windows Vista was by
opening an elevated command prompt and using the Vssadmin Resize
Shadowstorage command. Although the Vssadmin command is still available
in Windows 7, you can accomplish the same goal in much simpler fashion
with the Max Usage slider in the System Protection dialog box.
|
You can also manually
create a restore point at any time for all drives that have system
protection enabled by clicking the Create button at the bottom of the
System Protection tab. If you're concerned about disk
space usage and you're confident that you won't need to use any of your
currently saved restore points in the near future, you can click the
Delete button under the Disk Space Usage heading to remove all existing restore points without changing other System Protection settings.
Note: The default location for System Restore data is d:\System Volume Information, where d
is the letter of each drive. Each restore point is stored in its own
subfolder, under a name that includes a unique 32-character
alphanumeric identifier called a GUID. This location cannot be changed.
On an NTFS drive, these files are not accessible to users, even those
in the Administrators group; the default NTFS permissions grant access
only to the System account, and there is no easy way to view these
files or to take ownership of them (nor should you even consider doing
so, as these data structures are not intended for use by anything other
than a program working through tightly controlled application
programming interfaces).
If
you've set up a dual-boot system with Windows XP and Windows 7 (or
Windows Vista) on the same system, you should be aware of one
unfortunate side effect caused by this configuration. When you boot
into Windows XP, the system wipes out all restore points created by the later Windows version. New restore
points are created at the usual times when you return to Windows 7, but
all previous restore points are gone. This unfortunate state of affairs
is caused because Windows XP doesn't recognize the format of the newer
restore points; assuming they're corrupt, it deletes them and creates
new ones.
As
we noted earlier, Windows 7 creates restore points in response to
specific system events, including the installation of a program, a
device driver, or an update delivered via Automatic Updates. Using a
scheduled task, the system checks at every startup and at midnight
every day to see when the last restore point was created. If more than
7 days have passed, the system automatically creates a new restore
point. If you prefer to have regular checkpoints created more often,
you can do so in either of two ways. The easiest way is to schedule a
daily backup that includes a system image. The more complicated
solution involves a script and a custom scheduled task.
Create a text file using the following code:
Set oRP = getobject("winmgmts:\\.\root\default:Systemrestore") newRestore = oRP.createrestorepoint ("Created by my scheduled task", 0, 100)
Running
this script will create a restore point using the generic description
"Created by my scheduled task." Save the file using a name such as
Instant_RP and the file name extension .vbs.
|
|