Backing Up and Restoring System State

Note

This topic applies to Windows Vista, Windows Server 2008, and later. For information about Windows Server 2003, see Backing Up and Restoring System State in Windows Server 2003 R2 and Windows Server 2003 SP1

 

When performing a VSS backup or restore, the Windows system state is defined as being a collection of several key operating system elements and their files. These elements should always be treated as a unit by backup and restore operations.

Note

Microsoft does not provide developer or IT professional technical support for implementing online system state restores on Windows (all releases).

 

When backing up and recovering system state, the recommended strategy is to back up and recover the system and boot volumes in addition to the files enumerated by the system state writers. System state writers are writers that have the VSS_USAGE_TYPE attribute set to either VSS_UT_BOOTABLESYSTEMSTATE or VSS_UT_SYSTEMSERVICE.

Important

If a VSS Writer is identified by its VSS_USAGE_TYPE as a system state writer it must be included in a system state backup even if it is selectable.

 

In addition to the enumerated operating system and driver binary files that are enumerated by the system state writers, there are certain other files that must be backed up as part of system state.

All the components reported by a VSS system state writer are part of system state except those for which the VSS_CF_NOT_SYSTEM_STATE flag is set.

Backup programs should also set the LastRestoreId registry key. For more information, see Registry Keys and Values for Backup and Restore.

Note

In Windows Vista, Windows Server 2008, and later, the names and locations of some system files have been changed as follows.

 

System State

For Windows Server 2012 and later, in addition to the files reported by the various VSS system-state writers, only the following licensing files need to be included explicitly, and the following DRM files need to be excluded explicitly.

Windows Media Digital Rights Management Files

In Windows Server 2008 and later, the following files, including all subdirectories under the following path, are excluded from system state and must not be backed up:

  • %ProgramData%\Microsoft\Windows\DRM\

This supersedes the information in the Windows Media Digital Rights Management section of Working with File System and Security Features.

Performance Counter Configuration Files

The performance counter configuration files are located in the %SystemRoot%\System32\ directory and have the following names:

Perf?00?.dat Perfc0??.dat Perfd0??.dat Perfh0??.dat Perfi0??.dat Prfc0???.dat Prfd0???.dat Prfh0???.dat Prfi0???.dat

These files are only modified during application installation and should be backed up and restored during system state backups and restores.

IIS Configuration Files

Note

In Windows Vista with Service Pack 1 (SP1) and later, you should not back up these files. Instead, use the in-box IIS configuration writer. For more information about this writer, see In-Box VSS Writers.

 

The relevant IIS configuration files and their locations are listed below:

  • The .NET FX machine.config file is located in the framework version directory.

  • The ASP.NET root web.config file is located in the framework version directory.

    Note

    The configuration files for both .NET FX and ASP.NET are in the framework version directory. If multiple versions of the framework are installed on the computer, this directory will contain one configuration file for each installed version.

     

  • The IIS applicationHost.config central configuration file is located in the %windir%\system32\inetsrv\config directory. For the server to understand this configuration file, there are schema files that determine its grammar and structure. These files are located in the %windir%\system32\inetsrv\config\schema directory.

The framework version directory path is stored in the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\InstallRoot

In addition, the following cryptography keys must be backed up:

%ProgramData%\Microsoft\Crypto\RSA\MachineKeys\*
%SystemRoot%\System32\Microsoft\Protect\*

Framework Files

All versions of the .NET framework must be backed up. The files are located in one or both of the following directories:

%windir%\\Microsoft.Net\\Framework %windir%\\Microsoft.Net\\Framework64

In addition, the assembly files must be backed up. These files are located in the following directory:

%windir%\assembly

Task Scheduler Task Files

The task scheduler's task files must be backed up. The files are located in one or both of the following locations:

%windir%\\system32\\tasks and any subdirectories (recursively) %windir%\\tasks (no subdirectories)