- DISM: проверка и восстановление системных компонентов образа Windows 10
- SFC /scannow: Проверка и восстановление системных файлов Windows
- DISM /RestoreHealth: Восстановление хранилища компонентов образа Windows
- Восстановление поврежденного хранилища компонентов Windows 10/Server 2016 с помощью PowerShell
- Восстановление хранилища компонентов оффлайн если Windows не загружается
- Восстановление системы Windows XP
- Первое знакомство с System Restore
- Создание точки восстановления
- Восстановление системы
- Поиск неисправностей
- Параметры System Restore в реестре
- Отключение утилиты System Restore
DISM: проверка и восстановление системных компонентов образа Windows 10
Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в Windows (Windows Server) можно использовать команды SFC и DISM (Deployment Image Servicing and Management). Данные утилиты могут быть крайне полезными, если операционная система Windows работает нестабильно, появляются ошибки при запуске стандартных приложений или служб, после вирусного заражения и т.д.
Утилита DISM включена в состав Windows, начиная с Vista и может быть использована во всех поддерживаемых версиях начиная с Windows 7/Windows Server 2008 R2 (есть ограничения) заканчивая последними билдами Windows 10 / Windows Server 2019. В этой статье мы рассмотрим, как использовать утилиты DISM и SFC для проверки и восстановления целостности образа и системных файлов Windows 10.
SFC /scannow: Проверка и восстановление системных файлов Windows
Утилиту DISM для восстановления Windows обычно рекомендуется использовать после утилиты проверки целостности системных файлов SFC (System File Checker). Команда sfc /scannow сканирует защищенные системные файлы Windows, и, если они отсутствуют или повреждены, попробует восстановить их оригинальные копии из хранилища системных компонентов Windows (каталог C:\Windows\WinSxS).
Если команда sfc /scannow возвращает ошибку “ Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них / Windows Resource Protection found corrupt files but was unable to fix some of them ”, скорее всего утилита не смогла получить необходимые файла из хранилища компонентов (образа) Windows.
В этом случае вам нужно попробовать восстановить хранилище компонентов (ваш образ Windows) с помощью DISM.
После восстановления образа вы можете повторно использовать утилиту SFC для восстановления системных файлов.
DISM /RestoreHealth: Восстановление хранилища компонентов образа Windows
Для сканирования образа Windows на наличие ошибок и их исправления используется параметр DISM /Cleanup-image . Рассмотренные ниже команды выполняются в командной строке, запущенной с правами администратора.
Чтобы проверить наличие признака повреждения хранилища компонентов образа Windows (флага CBS) , который выставил один из системных процессов, выполните следующую команду (не применимо к Windows 7/Server 2008R2):
DISM /Online /Cleanup-Image /CheckHealth
При запуске этой команды не выполняется сканирование хранилища, проверяются лишь записанные ранее значения и события в журнале Windows. Изменения не вносятся. Команда проверит, не помечен ли образ как поврежденный и возможно ли устранить данное повреждение.
В этом примере команда вернула, что с образом все хорошо:
No component store corruption detected.
The operation completed successfully.
DISM /Online /Cleanup-Image /ScanHealth – выполнить полное сканирование хранилища компонентов на наличие повреждений в системных образа Windows (выполняется довольно долго от 10 до 30 минут).
Если команда /ScanHealth возвращает ошибки:
- Хранилище компонентов подлежит восстановлению (The component sore is repairable);
- Ошибка: 1726. Сбой при удалённом вызове процедуры;
- Ошибка: 1910. Не найден указанный источник экспорта объекта.
Это однозначно говорит о том, что ваш образ Windows 10 поврежден и его нужно восстановить.
Чтобы исправить ошибки, автоматически скачать и заменить файлы повреждённых или отсутствующих компонентов эталонными версиями файлов (библиотек) из центра обновлений Windows (на компьютере должен быть доступ в Интернет), выполните:
DISM /Online /Cleanup-Image /RestoreHealth
Процесс сканирования и восстановления компонентов может быть довольно длительным (30 минут или более).
Если восстановление выполнится успешно, появится сообщение:
Восстановление выполнено успешно. Операция успешно завершена.
The restore operation completed successfully. The operation completed successfully.
Если на компьютере (сервере) отсутствует доступ в Интернет или отключена служба Windows Update, то при восстановлении хранилища компонентов появляются ошибки вида:
- 0x800f0906 — Не удалось скачать исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (0x800f0906 — The source files could not be downloaded. Use the source option to specify the location of the files that are required to restore the feature);
- Ошибка: 0x800f0950 — Сбой DISM. Операция не выполнена (0x800f0950 — DISM failed. No operation was performed);
- Ошибка: 0x800F081F. Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (Error 0x800f081f, The source files could not be found. Use the «Source» option to specify the location of the files that are required to restore the feature).
Вы можете указать WIM или ESD файл с оригинальным установочным образом Windows, который нужно использовать в качестве источника для восстановления файлов компонентов системы. Предположим, вы смонтировали установочный ISO образ Windows 10 в виртуальный привод E:. Для восстановления хранилища компонентов из образа используйте одну из команд:
DISM /online /cleanup-image /restorehealth /source:E:\sources\install.wim
Или:
DISM /online /cleanup-image /restorehealth /source:E:\sources\install.esd
Чтобы запретить использовать центр обновлений Windows в Интернете, и выполнять сканирование и восстановление образа Windows только из локального WIM/ESD файла:
DISM /online /cleanup-image /restorehealth /source:E:\sources\install.wim /limitaccess
Или:
DISM /online /cleanup-image /restorehealth /source:E:\sources\install.esd /limitaccess
dism /online /cleanup-image /restorehealth /limitaccess
Журнал сканирования и восстановления системных файлов утилиты DISM можно найти здесь: C:\Windows\Logs\CBS.log .
После восстановления хранилища компонентов вы можете запустить утилиту проверки системных файлов sfc /scannow . Скорее всего она успешно восстановит поврежденные файлы (Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила).
Восстановление поврежденного хранилища компонентов Windows 10/Server 2016 с помощью PowerShell
В версии PowerShell в Windows 10 и Windows Server 2016/2019 есть аналоги рассмотренных выше команд DISM. Для сканирования хранилища компонентов и поиска повреждений в образе выполните:
Repair-WindowsImage -Online –ScanHealth
Если ошибок в хранилище компонентов не обнаружено, появится сообщение:
ImageHealth State: Healthy
Для запуска восстановления системных компонентов и файлов наберите:
Repair-WindowsImage -Online -RestoreHealth
Repair-WindowsImage -Online -RestoreHealth -Source E:\sources\install.wim:1
Где, 1 – индекс используемой у вас редакции Windows из WIM или ESD файла (список редакций Windows в WIM файле можно вывести так: Get-WindowsImage -ImagePath «E:\sources\install.wim» ).
Восстановление хранилища компонентов оффлайн если Windows не загружается
Если Windows не загружается корректно, вы можете выполнить проверку и исправление системных файлов в оффлайн режиме.
- Для этого загрузитесь с установочного (загрузочного диска) и на экране начала установки нажмите Shift + F10
- Чтобы разобраться с буквами дисков, назначенных в среде WinPE, выполните команду diskpart -> list vol (в моем примере диску, на котором установлена Windows присвоена буква C:\, эту букву я буду использовать в следующих командах);
- Проверим системные файлы и исправим поврежденные файлы командой: sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
- Для исправления хранилища компонентов используйте следующую команду (в качестве источника для восстановления компонентов мы используем WIM файл с установочным образом Windows 10, с которого мы загрузили компьютер):
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim - Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск достаточного размера, например F:\, на котором нужно создать пустой каталог: mkdir f:\scratch и запустить восстановление хранилища компонентов командой:
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
Восстановление системы Windows XP
Как правило, в состав операционных систем 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. В конце нужно щелкнуть ОК.
Поделитесь материалом с коллегами и друзьями