Как правило, в состав операционных систем Microsoft входят утилиты, предназначенные для облегчения восстановления системы при нестабильной работе или аварийном отказе, но утилита Windows XP System Restore — это нечто большее. System Restore восстанавливает реестр, локальные профили, базу данных COM+, кэш (wfp.dll) системы защиты Windows File Protection (WFP), базу данных Windows Management Instrumentation (WMI), метабазу Microsoft IIS, а также файлы, которые она копирует по умолчанию в архив Restore. При этом выделить тот или иной компонент нельзя — восстановлению подлежит либо все, либо ничего.

Первое знакомство с System Restore

Назначение System Restore — вернуть систему в работоспособное состояние без необходимости полностью переустанавливать ОС и файлы данных. Утилита работает в фоновом режиме и автоматически создает точку восстановления (restore point), когда происходит некое инициирующее событие. К числу таких событий относятся установка приложений, установки AutoUpdate, запуск процедуры восстановления с помощью Microsoft Backup Utility, установка неподписанных драйверов, а также создание точек восстановления вручную. Дополнительно утилита System Restore по умолчанию создает точки восстановления каждый день.

Для работы System Restore необходимо иметь на диске свободные 200 Мбайт, предназначенные для создания хранилища данных. Если нужного объема нет, System Restore остается отключенной до тех пор, пока не освободится дисковое пространство, после чего утилита активизирует себя сама. Утилита System Restore использует схему хранения First In/First Out (FIFO): удаляет старые архивы, освобождая место для новых данных при достижении некоторого лимита объема данных в хранилище. Во врезке «Параметры System Restore в реестре» рассказано, как настроить размер хранилища данных и как изменить параметры работы алгоритма FIFO для программы System Restore.

Утилита System Restore проводит мониторинг различных типов файлов, среди них большинство расширений, которые входят в состав устанавливаемого программного обеспечения (.cat, .com, .dll, .exe, .inf, .ini, .msi, .ole, .sys). Нужно иметь в виду, что инициирующее событие для создания точки восстановления при установке нового программного обеспечения происходит лишь тогда, когда программа установки приложения использует вызовы System Restore — restorept.api.

Как правило, восстановление системы не вызывает затруднений, если известно (или кажется, что известно), чем именно вызвана проблема (например, сбой произошел из-за недавней установки нового драйвера устройства). Однако далеко не всегда System Restore оказывается лучшим средством восстановления. Данная утилита изменяет много различных файлов и записей в реестре, и иногда она выполняет столько изменений, что вызывает еще большие проблемы. Например, при установке Office XP, которая сопровождалась созданием точки восстановления, программы работали без нареканий. Через некоторое время был загружен и установлен видеодрайвер, и, поскольку драйвер был подписан, его установка не привела к созданию точки восстановления System Restore. Система стала периодически зависать, и можно сделать вывод, что виной всему неисправный драйвер. В этом случае правильнее было бы использовать утилиту Device Driver Rollback, поскольку она специально разрабатывалась для исправления неполадок, связанных с драйверами, и ничего другого в системе не изменяет. А System Restore отбросит компьютер обратно к состоянию до установки Office XP, и после решения проблем с драйвером придется инсталлировать Office XP заново.

Создание точки восстановления

Экран 1. Создание точки восстановления.
Windows XP обычно автоматически создает точки восстановления в те моменты, когда это нужно сделать. Однако может так случиться, что пользователю потребуется самому сгенерировать данный объект. Это может понадобиться в тех случаях, когда устанавливается некоторое приложение, и возникают опасения, что после установки возможна нестабильная работа XP, либо программа установки не использует вызовы System Restore API (restorept.api), либо же после внесения таких изменений в систему, которые могут отрицательно сказаться на ее работоспособности.

Экран 2. Сообщение о создании точки восстановления.
Например, мне понадобилось установить Crystal Reports Professional 7, но, поскольку эта версия программы выпущена несколько лет тому назад, я не был уверен в том, что она будет корректно работать под управлением Windows XP. Я решил создать точку восстановления непосредственно до установки нового программного обеспечения. Вызвал Start, All Programs, Accessories, System Tools, System Restore. Появился экран Welcome, и утилита System Restore задала вопрос, хочу я запустить процедуру восстановления или же намереваюсь создать точку восстановления. Я выбрал Create a restore point и щелкнул Next. Затем я присвоил новой точке имя Before Crystal Reports (см. Экран 1) и щелкнул Create. Точки восстановления следует называть таким образом, чтобы потом без труда можно было их идентифицировать. После того как утилита собрала всю необходимую информацию, появился экран Restore Point Created (см. Экран 2). После этого я закрыл программу System Restore.

Восстановление системы

Создав точку восстановления, я установил на свой компьютер с Windows XP программу Crystal Reports с мыслью о том, что при необходимости всегда смогу вернуть систему в исходное состояние. Во время установки появлялись сообщения об ошибке — система не могла отыскать тот или иной файл dll. Установка завершилась, программа Crystal Reports не запустилась, и я порадовался собственной предусмотрительности.

Перед тем как начать процесс восстановления, я запустил программу удаления Crystal Reports в надежде на то, что будут удалены модули приложения и записи в реестре, но одна запись в реестре была тем не менее пропущена. Вместо того чтобы удалять ее вручную, я решил использовать возможности System Restore для гарантированного восстановления записей реестра.

Экран 3. Выбор точки восстановления.
Итак, я запустил утилиту System Restore. Появился экран Welcome, я выбрал Restore my computer to an earlier time и нажал Next. Утилита предложила мне на выбор несколько вариантов, сгруппированных по дням (см. Экран 3). Такой формат позволяет прокручивать даты и наблюдать созданные точки восстановления. Эти объекты, сгенерированные утилитой System Restore, появляются в окне в виде System Checkpoint.

Экран 4. Сообщение о завершении.
Я щелкнул по дате 23 июля и увидел точку восстановления Before Crystal Reports, созданную ранее. Я выбрал эту точку, нажал Next, и на экране появился запрос на подтверждение выбранной точки. После подтверждения (Next) утилита System Restore закрыла все запущенные программы и запустила процесс восстановления. После этого система перезагрузилась. По окончании регистрации на экране появилось окно System Restore, в котором сообщалось, что процесс восстановления успешно завершен (см. Экран 4).

После этого я выполнил проверку жесткого диска и реестра и не обнаружил никаких следов Crystal Reports. Кроме того, все файлы, созданные в промежутке между установкой программного обеспечения и восстановлением, остались в системе. Файлы данных не изменились, и система работала стабильно.

Если же операционная система по какой-либо причине перестала загружаться, следует запустить компьютер и нажать клавишу F8 в тот момент, когда начнется загрузка Windows. Когда на экране появится меню Windows Advanced Options, нужно выбрать Last Known Good Configuration и нажать Enter. Если разрушения не были слишком большими, должно появиться меню загрузки, и можно выбрать пункт Microsoft Windows XP, а затем нажать Enter. Windows XP станет восстанавливаться с самой последней по времени точки восстановления.

Если и после этого проблемы остаются, System Restore дает возможность выбрать другую точку восстановления или отказаться от результатов восстановления. Поэтому, если при восстановлении была указана неверная точка восстановления, ошибку можно исправить. Запуск процедуры восстановления — одно из тех событий, которые сопровождаются созданием точки восстановления. Теперь понятно, зачем это делается.

Поиск неисправностей

Можно сказать, что System Restore — утилита стабильная и надежная. Однако время от времени и при использовании System Restore могут возникать различные проблемы. При желании System Restore можно отключить (более подробно об этом рассказано во врезке «Отключение утилиты System Restore»).

Но сначала нужно попытаться отыскать неисправность:

  • прочесть внимательно сообщение об ошибке и найти все, что связано с контекстом сообщения;
  • проверить, достаточно ли на диске свободного места. Должно быть по крайней мере 200 Мбайт свободного дискового пространства на каждом диске, на который распространяется действие System Restore. При необходимости следует воспользоваться утилитой Disk Cleanup для высвобождения места на диске. Если нужно, с помощью той же утилиты можно удалить все точки восстановления, за исключением последней;
  • убедиться, что служба System Restore работает;
  • попытаться запустить утилиту в режиме Safe;
  • проверить системный журнал (System Log) на наличие ошибок, относящихся к объектам sr или srservice.

Если ничего из вышеперечисленного не помогает, необходимо запустить srdiag.exe для продолжения процедуры поиска неисправностей. Утилита Srdiag создает .cab-файл, который по умолчанию помещается в каталог \%windir%system32 estore. Можно дважды щелкнуть на этом файле или открыть его контекстное меню и выбрать Extract. Затем следует проверить 14 извлеченных файлов, чтобы отыскать причину сбоя в работе System Restore.

Широта охвата, простота использования и надежность System Restore удивительна. Это очень полезная утилита, особенно для опытных пользователей, службы поддержки и администраторов. Благодаря System Restore можно значительно сократить трудозатраты администраторов и время простоя систем.

МЕЛИССА ВАЙС — системный администратор сетей Windows NT. С ней можно связаться по адресу: mwise@the-lair.com.


Параметры System Restore в реестре

Разделы и параметры System Restore хранятся в реестре в трех местах. При необходимости эти параметры можно изменить для дополнительной настройки System Restore, но я настоятельно рекомендую использовать для конфигурирования утилиты графический интерфейс. Использование редактора реестра может сделать работу системы нестабильной.

Сведения о System Restore в реестре можно найти в следующих разделах:

* HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Sr;
* HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services SrService;
* HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows. NT CurrentVersion SystemRestore

Первый раздел отвечает за фильтр System Restore, его параметр менять не следует. Второй раздел управляет службой System Restore, и его тоже лучше не трогать. Если любой из первых двух разделов будет изменен, нормальное функционирование системы, скорее всего, будет нарушено.

В третьем разделе есть параметры, подлежащие изменению. Например, значение параметра DiskPercent можно увеличить, тогда для хранения точек восстановления будет отведено больше места на диске. По умолчанию для них отводится 12% дискового пространства, хотя реально используемый объем может быть иным. Для дисков емкостью менее 4 Гбайт реальный объем составляет 400 Мбайт. Для дисков емкостью более 4 Гбайт можно уменьшить этот параметр и не предоставлять 12% дискового пространства для System Restore. Для настройки System Restore через графический интерфейс пользователя необходимо открыть Control Panel, щелкнуть на вкладке System Restore, выбрать жесткий диск из списка доступных, щелкнуть Settings и с помощью ползунка подобрать нужное значение параметра Disk space to use.

Можно также изменить параметр RPGlobalInterval, чтобы указать интервал между моментами автоматического создания точек восстановления. Например, чтобы изменить частоту создания точек восстановления с одного раза в сутки на один раз в неделю, следует значение параметра по умолчанию (86 400 с) поменять на 604 800.

Если из соображений безопасности не хочется долгое время хранить точки восстановления, нужно изменить значение параметра RPLifeInterval. По умолчанию время жизни точки восстановления составляет 7 776 000 с (90 дней). Чтобы установить величину этого параметра равной двум неделям, задайте 1 209 600.

Хочу еще раз подчеркнуть: если нет уверенности, что изменения заданы корректно, в настройках System Restore ничего менять не следует. Дополнительную информацию можно найти в статье Microsoft «The Registry Keys and Values for the System Restore Utility» (http://support.microsoft.com/ default.aspx?scid=kb;en-us;q295659).


Отключение утилиты System Restore

Чтобы не давать пользователям возможности изменять установки System Restore, можно воспользоваться Group Policy Editor (GPE) или редактором реестра для отключения пользовательского интерфейса System Restore. Если для отключения интерфейса пользователя для System Restore применяется GPE, нужно запустить редактор политики и щелкнуть Computer Configuration, Administrative Templates, System, System Restore. Дважды щелкнув Turn off System Restore, следует выбрать вкладку Setting и установить флажок Disable. Теперь нужно дважды щелкнуть Turn off Configuration, перейти на вкладку Setting и установить флажок Enable, а затем щелкнуть Apply и ОК.

С этого момента вкладка System Restore в окне Systems Properties появляться не будет.

Если для отключения интерфейса пользователя System Restore применяется редактор реестра, следует запустить regedit.exe и открыть раздел HKEY_LOCAL_MACHINE SOFTWARE Policies Microsoft Windows NT. Необходимо создать новый подраздел с именем SystemRestore и в нем — новый параметр DisableConfig (тип данных DWORD), которому следует присвоить значение 1. В конце нужно щелкнуть ОК.