Точки восстановления (restore points) — это достаточно простое средства для восстановления работоспособность операционной системы Windows в случае непредвиденных ошибок с системными файлами и реестром после установки некорректных драйверов, обновлений или программ. С помощью точки восстановления вы можете восстановить состояние реестра, системных файлов, драйверов и установленных программ на дату создания точки восстановления. Несмотря на то, что точки восстановления основаны на теневом копировании томов, при восстановлении из restore point личные файлы пользователя в его профиле не перезатираются. В этой статье мы рассмотрим, как системные администраторы могут использовать точки восстановления в Windows 10 и 11.
Как включить создание точек восстановления в Windows?
В Windows 10 и 11 функционал точек восстановления обеспечивается службой System Restore, которая по умолчанию отключена.
Вы можете проверить, включена ли защита Windows с помощью точек восстановления:
- Выполните команду
systempropertiesprotection
; - Откроется вкладка System Protection (Защита системы) стандартной панели System Properties;
- В нашем случае защита включена для системного диска C: и отключена для всех остальных;
- Выберите диск и нажмите кнопку Configure;
- Здесь вы можете включить/отключить защиту для диска, изменить максимальный размер диска, которые будет доступен для хранения точек восстановления и удалить все точки восстановления;
Вы можете включить защиту системы через GPO. Настройте следующие параметры политик:
- Перейдите в Computer Configuration -> Policies -> Administrative Templates -> System -> System Restore, задайте значение Turn off System Restore = Disabled
- В Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows Defender -> Scan задайте Create system restore point = Enabled
Можно включить защиту определенного диска с помощью PowerShell:
Enable-ComputerRestore -drive "c:\"
Создать и удалить точку восстановления в Windows
Windows по умолчанию создает точки восстановления при установке или удалении обновлений, драйверов или приложений.
Чтобы создать точку восстановления немедленно, нажмите кнопку Create и укажите описание точки.
Можно создать точку восстановления из консоли PowerShell:
Checkpoint-Computer -description "Backup before update APP2" -RestorePointType "APPLICATION_INSTALL"
По умолчанию создается точка восстановления типа APPLICATION_INSTALL. Можно в качестве параметра RestorePointType указать:
- MODIFY_SETTINGS
- DEVICE_DRIVER_INSTALL
- APPLICATION_INSTALL
- APPLICATION_UNINSTALL
- CANCELLED_OPERATION
Вывести список доступных точек восстановления:
Get-ComputerRestorePoint|ft -AutoSize
По умолчанию служба System Restore разрешается создавать только одну точку восстановления раз в 24 часа. Если попробовать создать новую, появится ошибка:
WARNING: A new system restore point cannot be created because one has already been created within the past 1440 minutes.
Чтобы разрешить создавать точки восстановления чаще, нужно изменить DWORD параметр реестра SystemRestorePointCreationFrequency в ветке HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore. По умолчанию значение параметра 1440 (24 часа). Чтобы отключить ограничение на частоту создания точек восстановления, измените значение на 0.
Точки восстановления Windows основаны на технологии снапшотов тома диска службой VSS. Когда вы создаете новую точку восстановления, служба VSS сообщает всем приложениям о необходимости перейти в консистентное состояние и временно приостановить активность. После этого она создает снапшот консистентного состояния диска (целиком).
Точки восстановления хранятся в скрытой папке System Volume Information, которая находится в корне каждого диска. На скриншоте выделены файлы снапшотов для каждой из созданных точек восстановления. Как видите их размер достигает десятков гигабайт.
Вывести список дисков, для которых созданы снапшоты:
vssadmin list shadowstorage
В этом примере на диске C: есть снапшоты, которые занимают 6% места (при лимите 10% от емкости).
Можно изменить размер места для снапшотов с помощью команд:
vssadmin resize shadowstorage /on=c: /for=c: /maxsize=50GB
Или:
vssadmin resize shadowstorage /on=c: /for=c: /maxsize=15%
Вывести список созданных снапшотов диска с помощью команды:
vssadmin list shadows /for=c:
Удалить конкретный снапшот можно по shadow copy ID:
vssadmin delete shadows /Shadow={9b171091-857e-4029-8ffe-1a0c81a59fce}
Удалить самый старый снапшот:
vssadmin delete shadows /for=C: /oldest
Удалить все точки восстановления:
vssadmin delete shadows /all
Также для очистки старых точек восстановления можно использовать стандартную утилиту очистки диска Disk Cleanup (cleanmgr.exe). Перейдите на вкладку More options и нажмите Clean up в секции System Restore and Shadow copies..
Восстановление Windows или отдельных файлов из точки восстановления
Для восстановления состояния системы из созданной ранее точки восстановления используется утилита
rstrui.exe
.
- Запустите утилиту;
- Выберите предыдущую точку восстановления, на которую нужно откатить Windows;
- Вы можете сравнить список приложений, служб и драйверов в текущей версии и в точке восстановления (кнопка Scan for affected programs);
- Нажмите Next -> Finish;
- Windows выполните откат к предыдущему снапшоту (понадобится перезагрузка).
При восстановлении из предыдущей точки восстановления текущие файлы пользователя в персональных папках Documents, Downloads, Desktop и т.д. в профилях пользователей не будет удалены (перезаписаны).
Вы можете восстановить Windows из точки восстановления с помощью PowerShell. Получить ID точек восстановления:
Get-ComputerRestorePoint
Восстановить Windows из указанной точки:
Restore-Computer -RestorePoint 21
Выполните команду, чтобы проверить что восстановление выполнено успешно:
Get-ComputerRestorePoint -LastStatus
Как мы указали выше, при откате к предыдущей точке восстановления персональные файлы пользователя не перезатираются. Однако фактически они хранятся в снапшоте (ведь создается снимок всего диска). Это значит, что вы можете вручную восстановить любой файл из теневой копии вашей точкой восстановления.
Для просмотра файлов в теневой копии можно воспользоваться бесплатной утилитой ShadowCopyView (https://www.nirsoft.net/utils/shadow_copy_view.html)
Вы можете открыть нужную вам точку восстановления (по дате создания), найти в ней предыдущую версию нужного вам файла и восстановить его в произвольный каталог на диске (Copy Selected files to …).
В качестве обходного решения можно настроить Историю файлов или делать теневые копии заданием планировщика с командой:
wmic shadowcopy call create Volume='C:\'
Для офлайн восстановления состояния Windows из точки восстановления, загрузите компьютер в среде восстановления Windows RE и выберите в меню пункт System Restore. Вам будет предложено выбрать одну из ранее созданных точек восстановления.
После восстановления доменного компьютера из ранее созданной точки восстановления обычно нужно также восстановить доверительные отношения с доменом с помощью команды:
Test-ComputerSecureChannel –Repair