Когда это может понадобится? Лично у меня после очередного сбоя у моего хостера винда перестала реагировать на многие вещи: перестал запускаться Пуск, долгий чёрный экран при подключении пользователей по RDP и многое другое..
После выполнения ниже приведенной пошаговой инструкции, все проблемы пропали!
Цель данной статьи рассказать начинающим пользователям в подробностях, как производить восстановление повреждённого хранилища компонентов Windows Server 2016 в различных критических ситуациях. Если вы хотите проверить целостность системных файлов в своей операционной системе, то поможет вам в этом встроенная утилита «sfc /scannow», но если она выдаст ошибку: «Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них», то значит в вашей OS нарушена целостность самого хранилища системных компонентов (содержимое папки WinSxS).
В этом случае нужно проверить целостность хранилища компонентов командой «Dism /Online /Cleanup-Image /ScanHealth», если при данной проверке тоже будут выходить различные ошибки, например, «Хранилище компонентов подлежит восстановлению», «Ошибка: 1910 Не найден указанный источник экспорта объекта», «Ошибка: 1726 Сбой при удалённом вызове процедуры»,
значит нужно сначала восстановить хранилище компонентов, а уже затем восстанавливать целостность системных файлов с помощью «sfc /scannow», вот здесь начинается самое интересное, так как имеется очень много нюансов, давайте разберём их все.
Задействуем для восстановления повреждённого хранилища Систему обслуживания образов развертывания и управления ими (Dism)
Запускаем командную строку администратора и вводим команду:
Dism /Online /Cleanup-Image /RestoreHealth
Данная команда восстанавливает хранилище компонентов с помощью Центра обновлений Windows (у вас должен работать Интернет), отсутствующие компоненты будут скачаны на серверах Майкрософт и восстановлены в вашей системе. В итоге должны получить сообщение «Восстановление выполнено успешно».
Но если данная команда выдаст ошибку 0x800f0906 «Не удалось скачать исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра «Источник«» или выйдет другая ошибка 0x800f081f «Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра «Источник«», то нужно использовать для восстановления хранилища ISO-образ Windows Server 2016. Скачиваем дистрибутив Windows Server 2016 на сайте Майкрософт и подсоединяем его к виртуальному дисководу (в моём случае (G:)), затем заходим в папку sources и смотрим какое сжатие у файла-образа Windows Server 2016, обычно бываетinstall.esd, запоминаем это, пригодится при вводе последующих команд (если в вашем случае попадётся файл install.wim, все приведенные команды с install.esd просто меняем на install.wim ).
соответственно вводим следующую команду:
Dism /Online /Cleanup-Image /RestoreHealth /Source:G:\Install.esd /limitaccess
где G: — буква виртуального дисковода с Windows Server 2016,
Install.esd — файл-образ Win 10,
/limitaccess — параметр, закрывающий доступ к центру обновлений (ведь мы используем для восстановления дистрибутив Win 10)
В итоге получаем сообщение «Восстановление выполнено успешно. Операция успешно завершена».
Вот таким способом мы с вами восстановили повреждённое хранилище компонентов Windows Server 2016.
Хранилище компонентов восстановлено, теперь восстанавливаем целостность системных файлов Windows Server 2016 командой «sfc /scannow». Получаем сообщение «Программа защиты ресурсов Windows обнаружила повреждённые файлы и успешно их восстановила». Целостность системных файлов Windows Server 2016 восстановлена.
Ещё один способ восстановления хранилища компонентов с помощью файла виртуального жёсткого диска VHD
Друзья, но хочу сказать вам, что в особо сложных случаях, при вводе команды:
Dism /Online /Cleanup-Image /RestoreHealth /Source:G:\Install.esd /limitaccess
вы опять получите ошибку, к примеру, «Ошибка: 1726 Сбой при удалённом вызове процедуры».
В этом случае нужно поступить так. Создать виртуальный жёсткий диск и распаковать на него содержимое файла-образа install.esd, после этого запустить команду:
Dism /Online /Cleanup-Image /RestoreHealth /Source:D:\Windows /limitaccess
Где D: — буква подсоединённого виртуального диска VHD с развёрнутыми файлами Windows Server 2016.
в результате будет произведено восстановление хранилища компонентов за счёт распакованных на виртуальный диск VHD файлов операционной системы.
Идём в Управлении дисками и создаём виртуальный диск VHD. «Действие»—>«Создать виртуальный жёсткий диск»
Отмечаем пункт «Динамический расширяемый». Размер виртуального жёсткого диска — 20 Гб. Жмём на кнопку «Обзор».
Выбираем в проводнике место сохранения виртуального жёсткого диска. Я выберу диск (F:). Присваиваю имя виртуальному диску — «Windows Server 2016» и жму кнопку «Сохранить».
Архивы операционной системы — install.esd или install.wim могут содержать в себе несколько других архивов (релизов) операционных систем (Про, Домашняя и т.д.) и этим образам присваиваются индексы 1, 2, 3, 4. Чтобы узнать, какие образы находятся внутри нашего файла install.esd, вводим команду:
Dism /Get-WimInfo /WimFile:G:\\sources\install.esd
Где G: буква виртуального дисковода с Windows Server 2016,
sources\install.esd — адрес файла-образа install.esd в дистрибутиве Windows Server 2016.
На моём компьютере установлена Windows Server 2016 Standart и именно её я хочу восстановить. Нужный мне образ Windows Server 2016 имеет индекс 4.
Вводим команду:
Dism /apply-image /imagefile:G:\\sources\install.esd /index:4 /ApplyDir:D:\\
Где G:\sources\ — адрес расположения файла install.esd,
index:4— индекс Windows Server 2016 Standart,
D: — подключенный виртуальный диск VHD (раздел D:).
Операция успешно завершена.
Файл install.esd (Windows Server 2016 Standart) развёрнут на виртуальный диск VHD (раздел D:).
Ну и теперь восстанавливаем хранилище компонентов за счёт распакованных на виртуальный диск VHD (раздел D:) файлов операционной системы Windows Server 2016, командой:
Dism /Online /Cleanup-Image /RestoreHealth /Source:D:\Windows /limitaccess
Восстановление выполнено успешно. Операция успешно завершена.
Вот таким ещё способом мы с вами восстановили повреждённое хранилище компонентов Windows Server 2016! Теперь восстанавливаем целостность системных файлов Windows Server 2016 командой «sfc /scannow».