Восстановление системных файлов Windows

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

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

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

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

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

    По умолчанию владельцем файлов в папке System32 является служебный пользователь TrustedInstaller.

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

  1. Владельца можно изменить как из GUI, так и через CMD:
  2. Удаляем файл

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

DISM

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

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

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

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


На основе полученной информации указываем для утилиты DISM нужный индекс.

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

Ошибка 0x800f081f

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

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

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

или

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

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

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

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

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

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

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

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

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

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

Share on VKShare on FacebookTweet about this on TwitterShare on Google+Pin on PinterestEmail this to someone

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *