Восстановление Windows

Бывают случаи, когда в Windows были удалены или повреждены системные файлы. Это могло произойти в результате сбоя файловой системы, действий вирусов или ошибочных действий самого пользователя. При этом система может загружаться, а может и нет. Не спешите переустанавливать систему или делать откат к заводским настройкам (в случае с Windows Server это невозможно или неприемлемо). Зачастую систему можно привести в рабочее состояние.


Восстановление системы

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

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

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


Восстановление загруженной операционной системы.

Рассмотрим порядок действий, если восстановление системы не применимо или не помогло и система загружается.


System File Checker

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

sfc /scannow

Рассмотрим ситуацию на реальном примере, произошедшем со мной недавно:

Windows Server 2016 с установленной ролью Windows Server Update Services. По пути C:\Program Files\Update Services\ отсутствует каталог Tools, что ставит крест на управлении сервером из командной строки. Можно скопировать каталог с аналогичного сервера, если такой есть. У меня не было и я скомандовал описанную ранее команду:

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

Защита файлов не смогла восстановить некоторые файлы. Нужно уточнить, вернулся-ли каталог Tools на своё место. Можно пройти по пути C:\Program Files\Update Services\ и посмотреть, но это не наш метод. SFC создаёт файл журнала, который мы будем изучать. Файл большой, поэтому предварительно отберём нужные данные:

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"

Открываем файл блокнотом и ищем строку: «Update Services\Tools»

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

Мы видим, что файл восстановлен. Отлично! Но программа сообщила об ошибках — значит капаем дальше. Проводим отбор по тексту ошибки:

findstr /c:"[SR] Cannot repair member file" "%userprofile%\Desktop\sfcdetails.txt">"%userprofile%\Desktop\error.txt"

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

Не восстановились некоторые ярлыки. В принципе на этом можно и закончить, но если хочется довести начатое до конца, то следует использовать DISM.


DISM

Утилита обслуживания образов развертывания и управление ими позволяет творить чудеса даже в очень трудных случаях. DISM занимается обслуживанием хранилища компонентов (WinSxS). Его проверка и восстановление как раз по плечу DISM.

Давайте договоримся, что первой я буду указывать команду для cmd, а далее дублировать для PowerShell.


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

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

DISM /Onine /Cleanup-Image /CheckHealth

Repair-WindowsImage -Online -CheckHealth

Эта команда не проверяет хранилище, а отображает последнее известное его состояние.

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

Проверка хранилища компонентов

Проверка хранилища, напротив, выполняется продолжительное время и отражает реальное положение дел в системе. Для проверки хранилища используется команда:

DISM /Online /Cleanup-Image /ScanHealth

Repair-WindowsImage -Online –ScanHealth

Она найдет ошибки и предупредит об их наличии, но не восстанавливает. Как видим, у меня с системой всё в порядке.

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

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

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

- Windows Update или WSUS

- Установочный образ ESD или WIM

Как видим, вариантов источников много, их можно указывать последовательно в одной команде. Будет использоваться первый, где требуемый компонент будет найден. Есть особенность, что если мы укажем образ соседней системы и компонент там найден не будет, будет произведён поиск в Windows Update.

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

DISM /Online /Cleanup-Image /RestoreHealth

Repair-WindowsImage -Online -RestoreHealth

Однако метод может потерпеть неудачу, если отсутствует соединение с интернетом или повреждены компоненты центра обновления Windows. Рассмотрим восстановление с установочного носителя. С загрузочного образа, диска или флешки нам нужен всего один файл: install.wim или install.esd

DISM /online /cleanup-image /restorehealth /source:D:\sources\install.wim

Repair-WindowsImage -Online -RestoreHealth -Source E:\sources\install.wim

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

Иногда требуется указать номер индекса требуемой редакции. Уточнить номер индекса требуемой редакции совсем несложно — например через PowerShell:

Get-WindowsImage -ImagePath "E:\sources\install.wim

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

Индекс сборки потом указываете через двоеточие. Например:

DISM /online /cleanup-image /restorehealth /source:D:\sources\install.esd:2

Если требуется запретить использование Windows Update или WSUS, используйте параметр /LimitAccess.

DISM /online /cleanup-image /restorehealth /source:D:\sources\install.wim /LimitAccess

Восстановление системы, которая не загружается

Рассмотрим случай, когда система уже не загружается. Для её восстановления нам потребуется доступ к системному диску. Мы можем использовать среду восстановления, имеющуюся на компьютере:

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

Среду восстановления можно запустить с установочного носителя:

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

Одним словом, не имеет значения как вы получите доступ к диску. Диск можно также подключить к другому компьютеру. Если использовали среду восстановления, то следует разобраться с буквами дисков. Може использовать для этих целей команду bcdedit или запустить notepad и через меню файл — открыть увидеть буквы дисков и их содержимое.


System File Checker

Утилита проверки целостности системных файлов и в этой ситуации может прийти на помощь! Для этого у ней есть соответствующие параметры /offbootdir и /offwindir. Нам остаётся лишь указать букву системного диска и путь папки Windows.

sfc /scannow /offbootdir=c:\ /offwindir=c:\windows

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


DISM

DISM настолько крут, что и в такой ситуации найдёт выход. Подробнее про офлайн обслуживание хранилища компонентов поговорим в другой раз — сейчас сосредоточимся на восстановлении. Сразу скажу, что из среды восстановления PowerShell не работает. Команды управления образом апривожу на случай, если диск подключен к другой системе.


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

Команда используется как и ранее с той лишь разницей, что мы указываем путь к системному диску повреждённой Windows

Dism /Image:E:\ /Cleanup-Image /CheckHealth

Repair-WindowsImage -Path "E:\" -CheckHealth

Мы видим, что хранилище компонентов моей тестовой системы требует восстановления.

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

Проверка хранилища компонентов

Проверка хранилища компонентов как и ранее работает долго, но даёт более актуальный результат в отличие от предыдущей команды.

Dism /Image:E:\ /Cleanup-Image /ScanHealth

Repair-WindowsImage -Path "E:\" -ScanHealth

Восстановление Windows Windows, Microsoft, Windows Server, Восстановление, Командная строка, Системное администрирование, Длиннопост

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

Восстановление хранилиза компонентов по сути своей не отличается от ситуации с загруженной системой, поэтому не буду приводить полный список команд. Ограничусь простой командой восстановления через Windows Update. Разница лишь в указании пути к системе.

Dism /Image:E:\ /Cleanup-Image /restorehealth

Repair-WindowsImage -Path "E:\" -RestoreHealth

Заключение

Как видите есть масса способов привести систему в чувства и без переустановки Windows. Надеюсь предложенные способы помогут вам.


Как обычно, публикую ссылку на оригинал статьи в своём блоге.

Лига Сисадминов

1.5K постов17.6K подписчиков

Добавить пост

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Все делается гораздо проще сейчас. Идёшь на сайт Майкрософт и скачиваешь образ на флешку для восстановления. Все. А ты наверное на пикабушных старушках навариться хочешь сантехник хитрый

раскрыть ветку (12)
3
Автор поста оценил этот комментарий

Какую ещё фдешку для восстановления? Ты имеешь ввиду установочный образ?

раскрыть ветку (11)
1
Автор поста оценил этот комментарий

Нет именно восстановление. У меня когда винда 10 сдохла после обновления я так восстановил. Она на чистый диск не встанет это именно восстановление

раскрыть ветку (10)
2
Автор поста оценил этот комментарий

Ссылку дашь?

раскрыть ветку (9)
Автор поста оценил этот комментарий

https://answers.microsoft.com/ru-ru/windows/forum/all/как/98...  Процесс создания флешки не быстрый мин 40 заняло.  

раскрыть ветку (8)
2
Автор поста оценил этот комментарий
Это именно установочная флешка, да она позволяет сделать восстановление. На чистый диск она не встала только из-за твоих рук, чуть изменить настройки биоса.
раскрыть ветку (4)
Автор поста оценил этот комментарий

Вот ты троглодит. Речь шла о восстановлении системы. На чистый диск не встанет потому что у таких как ты нет лицухи. Про торренты пацанам из подъезда рассказывай. .

раскрыть ветку (3)
2
Автор поста оценил этот комментарий
Ты что дурной? Нажимаешь "у меня нет ключа" и он продолжает установку
ещё комментарии
1
Автор поста оценил этот комментарий

По ссылке описано создание именно установочного носителя. К восстановлению отношения не имеет.

раскрыть ветку (2)
Автор поста оценил этот комментарий

Верь мне, или попробуй. Результат тот же

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Я про это тоже написал.

Среду восстановления можно запустить с установочного носителя

А далее как я написал: sfc и DISM.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку