Восстановление Windows 10 - Windows - YA-HZ Jump to content

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


ArcheRAWG
 Share

Recommended Posts

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

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

1586785165_1584206197180519565.jpg.4b533a3d65518c43e9d6be4fc92dde8d.jpg

Здесь следует помнить, что при использовании точки восстановления, из теневой копии будет восстановлено то, что в неё попало. Это значит, что если файлы на момент создания точки восстановления уже были повреждены или отсутствовали, чуда не произойдёт. Так-же следует отметить отсутствие этого механизма в 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, что ставит крест на управлении сервером из командной строки. Можно скопировать каталог с аналогичного сервера, если такой есть. У меня не было и я скомандовал описанную ранее команду:

1586785315_158420837717891194.jpg.a014f30bcf9f786d6d1114089a8aced4.jpg

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

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

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

1586785283_1584208418145220325.thumb.jpg.9e3d43a6516cb506468a05dabbc14b14.jpg

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

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

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

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

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

DISM /Onine /Cleanup-Image /CheckHealth
Repair-WindowsImage -Online -CheckHealth

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

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

DISM /Online /Cleanup-Image /ScanHealth
Repair-WindowsImage -Online –ScanHealth

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

1586785477_1584208501168523070.jpg.0c5c856041f600bda69a5753ee2df8be.jpg

Восстановление хранилища компонентов
Для восстановления хранилища компонентов 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

1586785547_1584208525144322113.jpg.c0e201265c1d800c69f73e21c3b8293c.jpg

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

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

1586785583_1584208542168568495.jpg.6f1b99d8d8a56337586e41b4a76ba647.jpg

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

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

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

1586785626_1584208556184560841.jpg.a88d02d71f2f1a478280cbdee6baecea.jpg

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

1586785648_158420856919278054.jpg.bc6c2e61c8071ea0c7b63efab5895019.jpg

Одним словом, не имеет значения как вы получите доступ к диску. Диск можно также подключить к другому компьютеру. Если использовали среду восстановления, то следует разобраться с буквами дисков. Може использовать для этих целей команду 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

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

1586785715_1584208599126251029.jpg.8cdf8decd99f7c74dde2d547f8510b18.jpg

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

Dism /Image:E:\ /Cleanup-Image /ScanHealth
Repair-WindowsImage -Path "E:\" -ScanHealth

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

Dism /Image:E:\ /Cleanup-Image /restorehealth
Repair-WindowsImage -Path "E:\" -RestoreHealth

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

 

Открыть запись

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...