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

Восстановление системы — функция в операционных системах Microsoft Windows, которая позволяет пользователю откатить состояние компьютера (включая системные файлы, установленные приложения, реестр Windows и системные настройки) к более раннему моменту времени. Это может использоваться для восстановления после сбоев системы или других проблем. Впервые появилась в Windows Me и была реализована во всех последующих настольных версиях Windows, кроме Windows Server[1]. В Windows 10 и Windows 11 функция восстановления системы по умолчанию отключена и должна быть включена пользователем вручную[2].[3] Восстановление системы не затрагивает личные файлы пользователя, такие как документы, музыку, фотографии и видео.

В ранних версиях Windows функция работала на основе отслеживания изменений для определённых расширений файлов, копируя файлы до их перезаписи[4].[5] В Windows Vista обновлённая версия функции использует службу Volume Shadow Copy (теневого копирования файлов), что позволяет отслеживать изменения на блочном уровне для всех файлов, независимо от их местонахождения на разделе. Также появилась возможность использовать восстановление системы из среды восстановления Windows (Windows Recovery Environment), даже если установка Windows не загружается[6].

Что важно знать
Восстановление системы
Тип восстановление системы
Разработчик Microsoft
Сайт support.microsoft.com/en…

Общее описание

Восстановление системы позволяет пользователю вручную создавать «точки восстановления» (restore points), производить откат к уже существующим точкам, а также изменять параметры функции. Произведённый откат может быть отменён. Старые точки восстановления удаляются, чтобы удерживать использование дискового пространства в пределах заданного значения. Для большинства пользователей это означает наличие доступных для отката точек, охватывающих последние несколько недель. Пользователи, обеспокоенные производительностью или расходом места, могут полностью отключить функцию. Файлы на разделах, не отслеживаемых системой восстановления, не резервируются и не восстанавливаются.

Восстановление системы архивирует системные файлы с определёнными расширениями (.exe, .dll и другие) для возможного последующего восстановления[7]. Кроме того, резервируются копии реестра и большинства драйверов.

Отслеживаемые ресурсы

Начиная с Windows Vista, Восстановление системы создаёт моментальный снимок всех отслеживаемых разделов. В Windows XP функция отслеживает:[8][9]

  • Реестр Windows
  • Файлы в каталоге Windows File Protection (Dllcache)
  • Локальные профили пользователей
  • Базы данных COM+ и WMI
  • Метабаза IIS
  • Определённые типы файлов, отслеживаемые системой[7]

Список типов файлов и каталогов, включаемых или исключаемых из мониторинга, можно изменить в Windows Me и Windows XP, отредактировав файл %windir%\system32\restore\Filelist.xml[10].

Расход дискового пространства

Объём дискового пространства, используемого для хранения точек восстановления, может быть настроен. Начиная с Windows XP, объём задаётся для каждого раздела отдельно, а сами данные хранятся по разделам. Файлы хранятся с применением NTFS-сжатия; специальный инструмент очистки диска позволяет удалить все точки восстановления, кроме самой последней. Функцию восстановления системы можно полностью отключить для высвобождения пространства. Она также автоматически отключается, если свободного места становится недостаточно для работы.

Точки восстановления

Windows создаёт точки восстановления:

  • при установке программ с помощью Windows Installer или других установщиков, поддерживающих работу с функцией восстановления[11]
  • при установке обновлений через Windows Update
  • при установке драйверов, не имеющих цифровую подпись WHQL
  • периодически. По умолчанию:
    • Windows XP создаёт точку восстановления каждые 24 часа[12]
    • Windows Vista создаёт точку, если не создавалась в течение последних 24 часов[12]
    • Windows 7 создаёт точку, если ни одной не было за последние 7 дней[12]
  • по команде пользователя

В Windows XP файлы точек восстановления хранятся в скрытой папке "System Volume Information" в корне каждого логического диска или раздела, включая некоторые внешние накопители и флешки[4].

Операционная система удаляет старые точки восстановления при недостатке выделенного дискового пространства по принципу FIFO (первым пришёл — первым ушёл).

Отличия реализации

Существуют значительные различия между работой восстановления системы в Windows XP и более поздних версиях Windows.

  • Пользовательский интерфейс настройки — В Windows XP имеется ползунок для настройки объёма пространства, занимаемого точками восстановления. В Windows Vista он отсутствует; объём можно изменить с помощью утилиты командной строки Vssadmin.exe либо путём редактирования соответствующего ключа реестра[13].[14] Начиная с Windows 7 ползунок снова доступен.
  • Максимальный объём — В Windows XP можно выделить до 12 % пространства раздела для хранения точек[9]; конкретное значение зависит от размера раздела. Точки старше 90 дней автоматически удаляются согласно значению RPLifeInterval (7776000 секунд). В Windows Vista и новее функция рассчитана на более крупные диски[15]. По умолчанию используется 15 % пространства[11].
  • Отслеживаемые пути файлов — До Windows XP резервируются только файлы из определённых каталогов. В Windows Vista и новее список регулируется по расширениям для файлов за пределами папки Windows и распространяется на всё её содержимое[16].
  • Отслеживаемые типы файлов — До Windows XP игнорируются все «персональные» файлы пользователя: документы, фотографии, медиафайлы, электронная почта и прочее. Также исключаются резервируемые типы (.DLL, .EXE и др.) из папки Мои документы. Microsoft рекомендует, чтобы пользователь при сомнении помещал данные, которые не должны затрагиваться откатом, в «Мои документы»[9]. При откате система восстанавливает только отслеживаемые файлы, а новые папки удаляет. В Windows Vista и новее из резервирования исключаются только типы документов — любые системные типы сохраняются вне зависимости от расположения.
  • Гибкая настройка параметров — Windows XP допускает настройку параметров функции через реестр и файл %windir%\system32\restore\Filelist.xml[10].[17] В Windows Vista и более поздних версиях такая возможность отсутствует[18].
  • Поддержка FAT32 — В Windows Vista и новее функция не работает на дисках с FAT32 и не может быть включена на дисках объёмом менее 1 ГБ[15].

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

Вплоть до Windows XP восстановление возможно только при запуске системы в обычном или безопасном режиме. Если Windows не загружается, восстановить систему можно лишь с помощью сторонних загрузочных носителей, таких как ERD Commander. В Windows Vista и новее для запуска восстановления и отката системы при неработоспособной установке используется Среда восстановления Windows[6]. Кроме того, с выходом пакета Microsoft Desktop Optimization Pack стала доступна утилита Diagnostics and Recovery Toolset, которая позволяет создавать загрузочные диски для запуска восстановления системы на нерабочей инсталляции Windows. В комплект также входит ERD Commander для Windows XP, ранее выпускавшийся сторонней фирмой Winternals.

Ограничения и особенности

До Windows Vista защита, обеспечиваемая восстановлением системы, распространялась лишь на некоторые области и типы файлов. Поэтому функция не всегда могла полностью отменить нежелательную установку программ, особенно при их обновлениях «на месте»[19]. В Windows Vista и новее система архивирует все файлы на всех путях отслеживаемых разделов.

Невозможно создать постоянную (не удаляемую) точку восстановления: все точки будут удалены либо при нехватке пространства, либо по истечении срока, заданного в параметре реестра RPLifeInterval[9] Соответственно, если пользователь не заметит возникшую проблему в течение нескольких дней при малом объёме, возврат к нужной конфигурации будет невозможен.

На заражённых вирусами системах функция может сохранить заражённые объекты, если антивирусное программное обеспечение не успеет устранить угрозу до создания точки.[20]. В целях целостности данных другие приложения не имеют доступа к папкам с точками восстановления, поэтому антивирусные программы обычно не способны удалить заражённые объекты из резервных копий. Единственный способ очистки — удалить все точки целиком. При этом вирусы, сохранённые таким образом, не опасны, пока соответствующая точка не будет восстановлена.

Функция не может отслеживать изменения на разделе, внесённые из другой операционной системы (например, при мультизагрузке). Более того, такие действия могут нарушить работу восстановления: Windows XP и Windows Server 2003 удаляют точки, созданные Windows Vista и старше[21]. Аналогично, точки восстановления, созданные в Windows 8, могут быть уничтожены более старыми версиями Windows[22].

Примечания

Литература

Ссылки