49 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как восстановить хранилище компонентов Windows при помощи DISM Restore Health

Как восстановить хранилище компонентов Windows при помощи DISM Restore Health

Системные неполадки неразрывно связаны с нашей цифровой жизнью и к ним всегда нужно быть готовыми. Многие пользователи стремятся предугадать и предупредить подобные сбои, устанавливая всевозможные утилиты, созданные для исправления ошибок . Однако, к сожалению, даже подобная предусмотрительность не всегда помогает эффективно решить вопрос.

В данной статье мы рассмотрим ситуацию при которой на компьютере повреждается хранилище системных компонентов, расположенное в папке WinSxS.

Если вы не любитель использовать стороннее программное обеспечение и, уж тем более, искать его, то данная статья обязательно окажется для вас полезной и поможет за короткое время исправить неполадку. Приступим!

Содержание статьи:

Восстановление системы впервые появилось в Windows Me. Тогда копии важнейших системных файлов (реестра в подавляющем большинстве) хранились в zip архивах. Чуть позже, в Windows XP, они хранились как есть, только скрытые с глаз долой в каталоге System Volume Information. Начиная с Windows Vista восстановление системы использует технологию теневого копирования. Именно из теневой копии Windows может восстановить свои файлы. Этот вариант подходит только для клиентских редакций Windows.

Здесь следует помнить, что при использовании точки восстановления, из теневой копии будет восстановлено то, что в неё попало. Это значит, что если файлы на момент создания точки восстановления уже были повреждены или отсутствовали, чуда не произойдёт. Так-же следует отметить отсутствие этого механизма в Windows Server и его автоматическое отключение при установке клиентской редакции Windows на SSD диск.

Исправление хранилища компонентов в среде восстановления

Если по той или иной причине восстановление хранилища компонентов не удается выполнить в запущенной Windows 10 (например, вы получаете сообщение «Сбой DISM. Операция не выполнена»), это можно сделать в среде восстановления. Я опишу способ с использованием загрузочной флешки или диска.

  1. Загрузите компьютер за загрузочной флешки или диска с Windows 10 в той же разрядности и версии, что установлена на компьютере или ноутбуке. См. Создание загрузочной флешки Windows 10.
  2. На экране после выбора языка внизу слева нажмите «Восстановление системы».
  3. Перейдите к пункту «Исправление неисправностей» — «Командная строка».
  4. В командной строке используйте по порядку 3 команды: diskpart, list volume, exit. Это позволит узнать текущие буквы разделов дисков, которые могут отличаться от тех, к которые используются в запущенной Windows 10. Далее используйте команды.

Или install.wim, файл находится в папке sources на флешке, с которой вы загрузились. В этой команде мы узнаем индекс нужной нам редакции Windows 10.

Здесь в /Image:C: указывается буква диска с установленной Windows При наличии отдельного раздела на диске под пользовательские данные, например, D, рекомендую также указать параметр /ScratchDir:D: как на скриншоте для использования этого диска под временные файлы.

Как обычно, дожидаемся окончания восстановления, с большой вероятностью в этот раз оно пройдет успешно.

3. Восстановление хранилища системных компонентов: PowerShell

Восстановить системные компоненты можно альтернативным способом – с помощью инструмента Windows PowerShell. Этот способ схож с предыдущим: для восстановления хранилища также задействуется служба обновлений Windows. И, соответственно, в этом случае также необходимо интернет-подключение. Способ с использованием PowerShell займет больше времени, чем предыдущий способ с участием утилиты DISM, но и сам процесс восстановления хранилища будет проводиться более досконально.

Запускаем от имени администратора PowerShell и вводим:

Repair-WindowsImage -Online -RestoreHealth

Нажимаем Enter. В случае успешного восстановления хранилища системных файлов получим такой вот отчет, как указан на скриншоте ниже, где, в частности, параметр «Image Health State» будет отмечен как «Healthy». И это означает, что хранилище системных файлов восстановлено. Теперь необходимо провести операцию, описанную в п. 1 статьи.

Восстановление хранилища системных компонентов из среды восстановления Windows

В случае неисправности или отключения Центра обновления Windows, для восстановления хранилища компонентов можно использовать образ Windows c установочного диска или флешки.

При использовании установочного диска или флешки c записанной Windows, сразу после включения ПК, выполните следующие действия:

  1. С помощью соответствующей клавиши войдите в загрузочное меню (Boot Menu) для выбора диска, с которого следует загрузить ПК.
  2. В первом окне программы установки Windows нажмите на кнопку «Далее».
  3. Во втором окне нажмите на «Восстановление системы».
  4. В следующих окнах пройдите по пути: «Выбор действия» → «Поиск и устранение неисправностей» → «Диагностика» → «Дополнительные параметры» → «Командная строка».
  5. После перезагрузки и входа в учетную запись откроется окно командной строки.

В окне интерпретатора командной строки введите команды для того, чтобы узнать имена дисков в среде восстановления Windows RE, потому что они могут иметь другие имена, отличающиеся от имен в работающей Windows.

Введите последовательно команды:

В окне командной строки отобразятся диски компьютера. Запомните имя диска с установленной операционной системой и имя загрузочного диска, подключенного к компьютеру.

Введите команду для отключения утилиты Diskpart:

Теперь нам нужно узнать индекс версии Windows, находящейся на установочном DVD диске или загрузочной флешке. Для этого, введите команду:

На своем ПК я ввел следующую команду:

Загрузочный диск обозначен именем «E», версия операционной системы Windows 10 Pro имеет индекс «4». Эти данные я буду использовать в дальнейших командах.

Для восстановления системного хранилища с установочного диска, необходимо выполнить команду:

В моем случае, я ввел команду:

В этой команде «Image:C:» — буква диска установленной Windows, «E:sourcesinstall.esd» — путь к файлу «install.esd», «4» — индекс операционной системы на загрузочном диске.

Если на диске недостаточно свободного места для временных файлов, после этой команды можете добавить параметр «ScratchDir:D:», где «D:» — другой раздел диска достаточного размера.

В этом случае, введите полную команду подобного вида:

Подождите, пока операция успешно завершится.

Теперь ничто не помешает запустить проверку и выполнить восстановление системных файлов с помощью утилиты sfc.exe.

Начинаем работу…

  • Качаем бесплатно образ Windows 10 с помощью утилиты или программы Rufus. У меня для этой цели приготовлена загрузочная флешка с Windows 10, благодаря которой обеспечен быстрый доступ к нужным файлам;
  • Запускаем cmd от имени администратора
  • Вводим последовательно следующие команды

в последней команде F:sourcesinstall.wim – путь к файлу install.wim, появившемуся после распаковки из скачанного образа.

1. Проверка SFC

Процесс запускается из командной строки с правами администратора:

Команда сканирует защищенные системные файлы Windows, и, если они отсутствуют или повреждены, попробует восстановить оригинальные копии из хранилища компонентов (каталог C:WindowsWinSxS).

Если возвращается ошибка:

«Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них / Windows Resource Protection found corrupt files but was unable to fix some of them»

Это означает, что утилита не смогла получить необходимые файлы из хранилища (образа) Windows. Рекомендуется:

  • Восстановить хранилище компонентов с помощью DISM.
  • Повторно использовать утилиту SFC для восстановления системных файлов.

administra.top

Внимание: Если у вас вышла из строя ОС, или тем более серверная ОС, прежде чем приступить к любым процедурам по восстановлению, сделайте резервную копию текущего состояния

Да, сделать бэкап неработоспособной системы.
Но, гипотетически, системы имеющей на текущий момент только одну проблему.
А сколько, в процессе восстановления, вы можете привнести неисправностей, в итак нерабочую систему, неизвестно никому. Так же как и не удастся проследить цепочку примененных вами действий в стрессовой ситуации.
Так что в первую очередь делаем бэкап, используя например Acronis True Image.

Занимаемся вредительством

Если у вас нет проблем с операционкой, но вы хотели бы поупражняться в восстановлении системных файлов, попробуйте выполнить следующее:

    Переходим в папку System32

Что бы беспрепятственно удалить из системной папки любые(незадействованные в данный момент) файлы, вам нужно назначить себя владельцем и выдать своему пользователю полные права на файл.

    Владельца можно изменить как из GUI, так и через CMD:

Файл удалили. Теперь можно приступать собственно к восстановлению.

Восстановление в автоматическом режиме
SFC (System File Checker)

Пробуем выполнить команду

Дождитесь сообщения:
Программа защиты ресурсов windows обнаружила поврежденные файлы и успешно их восстановила

Так же можно запустить проверку только для одного конкретного файла:

Если команда не выполняется, и выдает ошибку на подобии:

то мы хотя бы может просмотреть какие файлы повреждены, вручную открыв лог последнего сканирования:
С:WindowsLogsCBSCBS.log

Так же, для упрощения поиска ошибок в этом файле лога, можно воспользоваться следующей командой:

Восстановление в ручном режиме

В случае если автоматическое восстановление окончилось ошибкой, можно попробовать заменить поврежденные файлы, о которых мы узнали из лога проверки SFC, файлами из заведомо рабочей системы, аналогичной версии и ревизии Windows.

При выполнении команды sfc /scannow из CMD в рабочей системе некоторые файлы будут задействованы и поэтому не смогут быть обработаны. По этой причине лучше перейти в среду восстановления и предпринимать дальнейшие действия по восстановлению уже оттуда.

Для перехода к среде восстановления нужно:
1) Вставить дискфлешку с Windows той же версии, что и восстанавливаемая система
2) Выполнить перезагрузку
3) Запуститься с диска и открыть командную строку

Конечно для этого можно использовать diskpart, но с wmi мы уложимся в меньшее количество команд.
Да и для общего развития с wmi полезно поработать.

Оффлайн восстановление системы

Если вы проводите восстановление из среды восстановления или LiveCD(USB)

/offwindir — переключатель для восстановления файлов внешней системы. Нужен что бы указать расположение папки Windows

/offbootdir — переключатель должен указывать на загрузочный раздел

DISM

Утилита DISM поможет в некоторых случаях, когда SFC не может восстановить системные файлы.

Ведь SFC должна откуда то брать восстанавливаемые файлы.
Таким местом является папка C:WindowsWinSxS
Но если отсутствует или повреждено и это хранилище, то необходимо будет сначала восстановить его.

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

Если выполнить эту команду в среде окружения Windows, то недостающие файлы будут загружены из интернета или сервера WSUS.
В случае, если команда восстановления хранилища компонентов не работает, по той или иной причине,
нужно указать файл install.wim или install.esd со смонтированного ISO образа Windows

Через двоеточие здесь нужно указать индекс ревизии Windows, под которым в используемом образе располагается аналогичная вашей система.

Ошибка 0x800f081f

При восстановлении вы можете столкнулся с ошибкой 0x800f081f

Что бы ее обойти, вы можете попробовать распаковать содержимое образа в отдельную папку, и запускать восстановление, используя в виде источника, уже ее.

Восстановление хранилища на внешнем устройстве

Проверяем ревизию установленой системы

Выполняем восстановление хранилища

или непосредственно указав источник

После всех проделанных операций повторяем команду на восстановление системных файлов в надежде увидеть положительный результат:

Если в конце концов все это не помогло, то с большой вероятностью следующим вариантом будет переустановка ОС

Описание основных ключей, которые нам понадобятся

/Online — будут восстановлены файлы в папке WinSxS для системы из под которой запущена консоль CMD

/Cleanup-Image — Согласно Help: «Выполняет в образе операции очистки и восстановления». Но если по простому, то данный параметр нам необходим для того, что бы мы могли использовать зависимые от него параметры:
.
Т.о. если вызвать /RestoreHealth без /Cleanup-Image, мы просто увидим ошибку «Неизвестный параметр restorehealth»

/Image — параметр, указываемый при необходимости восстановить хранилище внешней системы. То есть расположенной на любом носителе.

/Source — если задан этот параметр, DISM сначала выполняет поиск в указанных расположениях.
Можно использовать несколько аргументов /Source

/LimitAccess — сообщает DISM, что не нужно выполнять поиск исходных файлов в Центре обновления Windows или в службах обновления Windows Server

Альтернативный вариант

Можно достать файлы из образа, без монтирования средствами DISM, с помощью 7Zip.
Используя полученные файлы, мы можем заменить ими содержимое папки WinSxS

голоса
Рейтинг статьи
Читать еще:  Восстановление загрузчика android
Ссылка на основную публикацию
Статьи c упоминанием слов: