Восстановление Windows3
Пару дней назад очередной аннеймед скопипиздил откуда-то пост «Восстановление виндовс», где рассказывает про восстановление Windows с помощью точек восстановления.
Метод, конечно же, рабочий, и вполне себе действенный, если бы не одно исключение: точки восстановления занимают определённое место на диске, и сама Windows по умолчанию ограничивает их количество (в зависимости от объёма накопителя). То есть к тому моменту, когда вы обнаружите проблему (если это не всякие BSODы при каждом запуске, конечно), точка восстановления БЕЗ этой проблемы может оказаться уже удалена. Ну и в целом, иногда, особенно на всякого рода репаках системы, механизм резервного копирования может оказаться в принципе отключен.
Кроме того, у точек восстановления есть один нюанс: по умолчанию, если они создаются не вручную, то автоматически создаются только при обновлении системы. Если проблема с системой появилась в результате обновления Windows – восстановление из точки восстановления бесспорно поможет. Если же повредило систему что-то извне – далеко не факт, что точка восстановления спасёт.
Собственно, поэтому решил написать небольшую инструкцию, которая поможет восстановить даже полуживую систему. Пост выйдет большой, но покроет, пожалуй, около 90% объёма всех появляющихся проблем конкретно с системой (при условии, что она вообще запускается).
Пишу сам. Реально сижу и пишу. Не тупая копипаста. UPD: писал 4 часа, вам на потеху.
Сразу хочу сказать несколько моментов:
Твикеры, "удаляльщики слежки", "цэ-клинеры" – говно. Как правило, они настолько пидороёбят систему, что после них можно сказать только "Press F" и восстанавливать там уже нечего.
Перед проверкой системы ВСЕГДА проверяйте, что у вас не пошло вульвой железо. Если коноёбит железо – восстанавливать систему смысла нет от слова "абсолютно" – она всё также продолжит сыпаться. В тему проверок ищите хотя бы тест стабильности AIDA, OCCT, MemTest86, Victoria. Без них смысла от дальнейших действий – никакого.
Если проблема в синих экранах – ищите сбоящий драйвер (например через BlueScreenView). Если такого драйвера нет – в первую очередь обратите внимание на перегрев ЦП/южного моста/накопителей. Перегрев ЦП особенно актуален в случаях Ryzen (по какой-то причине в некоторых случаях они не уходят в троттлинг), перегрев южки актуален в случае старых МП (3 года+), перегрев накопителей актуален для M.2 накопителей. Палец человека держит примерно до 70-80 градусов по Цельсью, и если прислонив палец к радиатору ЦП, радиатору южного моста или SSD – палец не держит температуру, вероятно, косяк в них.
Тупые варианты, но срабатывают в 30% случаев: пройдитесь ластиком по контактам ОЗУ и M.2 накопителей. Переподключите (а лучше поменяйте) кабели SATA.
Начнём.
Три воина восстановления – CHKDSK, SFC и DISM (@admin, куда дели заголовки в постах?)
Из моей практики, примерно процентах в 70 всех случаев проблем с системой помогают три встроенные в Windows утилиты:
CHKDSK – проверяет указанный раздел локального диска на ошибки файловой системы и исправляет их, если такое действие задано;
SFC – проверяет системные файлы на наличие повреждений или подмену, и при возможности – восстанавливает их;
DISM – многофункциональный инструмент, позволяющий всячески взаимодействовать с образами системы. В контексте этой статьи рассмотрим только одну команду, которая восстанавливает компоненты системы.
Использование их достаточно простое: необходимо запустить командную строку от имени администратора и последовательно ввести следующие команды:
chkdsk C: /f /r /x
(ввести Y для того, чтобы диск проверился при следующем запуске системы, т.к. пока он активен, проверка с восстановлением невозможна)
sfc /scannow
dism /online /cleanup-image /restorehealth
Либо в одну команду: запланирует проверку диска, запустит sfc, после неё dism, и после завершения – перезагрузит компьютер. При загрузке системы начнётся проверка диска.
echo Y | chkdsk C: /f /r /x & sfc /scannow & dism /online /cleanup-image /restorehealth & shutdown -r -f -t 0
Обратите внимание: проверка раздела на ошибки занимает длительное время. Чем медленнее диск и чем больше раздел – тем больше времени потребуется на его проверку. В случае харда на терабайт – вполне себе может длиться часа три-четыре. Примерное время проверки раздела отображается на экране проверки как: "ETA: ЧЧ:ММ:СС". Прерывать его принудительной перезагрузкой не стоит.
Для владельцев Windows 7: для работы DISM, сначала требуется установить обновление KB2966583, перезагрузиться, и далее использовать не /restorehealth, а /scanhealth:
echo Y | chkdsk C: /f /r /x & sfc /scannow & dism /online /cleanup-image /scanhealth & shutdown -r -f -t 0
Как правило, по моему опыту, три данные команды решают проблемы с системой в ~70% случаев, как и говорил ранее.
2. Обновление системы
Ходит много мифов об обновлениях системы, мол они часто что-то ломают (Хотя как "мифов"? Иногда и такое случается. Вспомнить те же KB'шки, которые принудительно отваливали печать по гостевому входу через SMB (что было характерно для мини-офисов) с годик назад), но зачастую, если вариант с chkdsk/sfc/dism не помог – помогает обновление системы, поскольку заменяет некоторые системные компоненты, которые могли быть повреждены или корректно не работают с последними установленными обновлениями системы или софта.
Особенно это актуально для тех, кто принудительно отключил обновления системы путём отключения службы "Центр обновления Windows". Если выпиливали обновления твикерами – могу за вас только молитву за упокой прочитать.
В Windows 10/11 нужно запустить приложение "Параметры" – "Центр обновления Windows" – "Проверить наличие обновлений". В Windows 7/8/8.1 это делается через "Панель управления" – "Центр обновлений Windows".
Если тут ещё остались олдфаги с "ХРюшей", то там вариант только один – накатить поверх системы Service Pack. Сервиспак можно накатить поверх уже установленного того же сервиспака, если что. Зачастую это исправляет часть проблем с системой, если эти проблемы не завязаны на взаимодействие "ХРюши" с новыми системами.
3. Восстановление компонентов через DISM из образа системы (только 8+)
Данный вариант актуален только в том случае, если вы прямо упорно не хотите переустанавливать систему. Хотите именно восстановить. Лично мне этот способ помог только один раз (из четырёх случаев, когда не помогали chkdsk/sfc/dism/обновления). Способ занимает много времени, и актуален только в случае, если DISM по какой-то причине не смог восстановить файлы из репозитория Microsoft или внутреннего хранилища DISM системы. Срабатывает не всегда, но как один из способов восстановления компонентов – опишу.
Данный способ стоит применять только в том случае, если последние апдейты системы уже установлены.
Для начала следует скачать образ Windows 10/11 (в зависимости от того, что у вас установлено):
Windows 10 можно скачать с помощью Media Creation Tool с официального сайта (кнопка "Скачать средство сейчас" и в процессе работы программы выбрать "Создать установочный носитель" – "ISO-файл").
Windows 11 можно скачать напрямую образом с официального сайта;
Образы 8/8.1 у официалов нема, поэтому только с торрентов. Ищите именно оригинальные образы с MSDN.
После скачивания, смонтируйте скачанный образ или откройте его архиватором. Суть – вытащить из образа файл sources/install.wim или sources/install.esd. Для удобства предлагаю сунуть его в корень диска C:
В командной строке выполните следующую команду:
dism /Get-WimInfo /WimFile:C:\install.esd
Или в случае .wim:
dism /Get-WimInfo /WimFile:C:\install.wim
В отображаемом выводе вы получите все редакции, которые существуют в WIM/ESD файле. Вам нужно запомнить, какой номер у редакции, установленной на вашем компьютере (например, если у вас Windows 10 Pro – смотрите номер в выводе, соответствующий "Windows 10 Pro" и пр.)
В случае, если у вас в образе оказался ESD-файл, а не WIM, необходимо выполнить следующую команду:
dism /export-image /SourceImageFile:C:\install.esd /SourceIndex:НОМЕР_РЕДАКЦИИ_ИЗ_ШАГА_4 /DestinationImageFile:C:\install.wim /Compress:max /CheckIntegrity
Данная команда экспортирует образ из .esd в .wim (с которым умеет корректно работать dism).
Например:
dism /export-image /SourceImageFile:C:\install.esd /SourceIndex:4 /DestinationImageFile:C:\install.wim /Compress:max /CheckIntegrity
Далее следует закрыть все окна проводника (на самом деле хз, зачем это нужно, но неоднократно натыкался на комментарии о том, что это делать обязательно):
taskkill /f /im "explorer.exe"
После этого сносим существующий дистрибутив восстановления DISM (чтобы он не конфликтовал с файлами из образа):
DISM /Online /Cleanup-Image /StartComponentCleanup
Далее две команды. Первая – анализирует компоненты образа, вторая – восстанавливает компоненты из образа (:4 – это номер вашей редакции, соответствующей номеру в образе).
DISM /Online /Cleanup-Image /AnalyzeComponentStore
DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:c:\install.wim:4 /LimitAccess
После того, как восстановление прошло, выполняем перезагрузку без запуска проводника. Сразу пишем в терминале:
shutdown /r /f /t 0
После перезагрузки, по паре раз прогоняем sfc/dism, чтобы убедиться в отсутствии ошибок:
dism /online /cleanup-image /restorehealth
sfc /scannow
dism /online /cleanup-image /restorehealth
sfc /scannow
В теории, оно должно заработать. Но это не точно. Если кранты и ничего не помогло – переходим к шагу 4.
4. Обновление из образа из под Windows
Данный вариант помогает чуть ли не в 99% случаев. Суть простая: переустановка системы из актуального образа, "поверх" системы. При этом сохранятся все файлы и практически все программы.
Суть катастрофически простая:
Как и в прошлом шаге, скачиваем Media Creation Tool и через неё – образ Windows 10, либо сразу образ Windows 11;
Монтируем образ в подключаемый диск, даже через тот же проводник. Для любителей геронтофилии – можно через всякие Ashampoo, Daemon Tools, Alcohol и пр.;
Запускаем setup.exe и протыкиваем "Далее", при этом выбирая "Обновить этот компьютер";
Ждём переустановки системы;
...
PROFIT
Этот метод, по моим скромным подсчётам, помогает практически в 99% случаев. Лично мне не помогло только пару раз: когда служба обновлений была вшатана в крайность, и не могла проверить наличие обновлений (производится в процессе переустановки системы), выбивая ошибку. В этом случае помогала команда:
D:\setup.exe /auto upgrade /dynamicupdate disable
D:\ – путь к смонтированному приводу. Флагом /auto upgrade мы даём понять установщику, что хотим обновить систему. Флагом /dynamicupdate disable даём установщику понять, что нужно пропустить шаг проверки обновлений с серверов мелкомягких при обновлении ОС.
Как и говорил, в 99% случаев это помогает. Но порой встречаются и совсем вшатанные вариации системы. Для них – шаг ниже.
5. Установка системы поверх существующей
Если вдруг система по какой-то причине дышит на ладан и из-за этого вообще никак не может восстановиться – можно попробовать вариант "пожёстче". Вариант с тотальной переустановкой.
Однозначный минус этого варианта: весь установленный софт канет в небытие. При этом ещё останется шанс вытащить все файлы из старой системы.
Для этого всё также нужно будет скачать Media Creation Tool и через неё – образ Windows 10, либо сразу скачать образ Windows 11. Далее этот образ нужно будет записать на флешку, например, через Rufus. MediaCreationTool, конечно, может записать образ сразу на флешку, но какой в этом шарм? Тем более, образа на компьютере не останется, а он ещё может пригодиться.
После записи флешки, загружаемся в установку Windows с флешки через "Boot device priority" в UEFI/BIOS или F11/F12 при загрузке компьютера, и проходим типовой процесс установки ОС.
Главное – в процессе, на этапе выбора раздела для установки, не удалять/не форматировать раздел. В случае установки системы на тот же раздел, где уже есть ОС (при условии той же разметки: MBR/GPT), все файлы старой ОС будут перенесены в каталог C:\Windows.old. Рабочий стол останется в C:\Windows.old\Users\User\Desktop, загрузки – в C:\Windows.old\Users\User\Downloads, документы – в C:\Windows.old\Users\User\Documents и далее-далее-далее.
Софт перенесётся в каталоги C:\Windows.old\Program Files и C:\Windows.old\Program Files (x86) (в случае 64-разрядной ОС), но в 90% работать не будет, так как при установке не-portable софтины прописывают значения в реестр и файлы в appdata/localappdata/programdata, и без них работать не могут.
В целом, это все варианты восстановления системы, которые я знаю. А дальше опросик:
Лига Сисадминов
1.9K постов18.1K подписчиков
Правила сообщества
Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.