DISM: восстановление образа Windows
DISM — Deployment Image Servicing and Management — утилита командной строки для ремонта самой Windows: не отдельных файлов, а хранилища компонентов, из которого система собирает себя при обновлениях и из которого SFC берёт эталонные копии. Когда повреждено именно хранилище, симптомы звучат необычно: обновления устанавливаются и откатываются с кодами вроде 0x800f0831 и 0x800f0922, SFC сообщает о неустранимых повреждениях, компоненты Windows и .NET Framework не включаются. Это территория DISM.
Чем DISM отличается от SFC
Утилиты дополняют друг друга и работают на разных уровнях. SFC проверяет установленные системные файлы против эталонов из хранилища — он чинит то, что стоит в системе. DISM чинит само хранилище компонентов WinSxS — базу, из которой берутся эталоны. Отсюда железное правило порядка: сначала DISM, потом SFC. Если хранилище повреждено, SFC бесполезен — ему не с чем сравнивать; после DISM он снова обретает эталоны и дорабатывает начатое. Запускать в обратном порядке — распространённая ошибка, из-за которой пользователи делают вывод, что «команды не помогают».
Три команды DISM по возрастанию серьёзности
- Диагностика без изменений:
DISM /Online /Cleanup-Image /CheckHealth— быстрая проверка флага повреждения из журналов; результат — есть ли известные повреждения. - Полная проверка:
DISM /Online /Cleanup-Image /ScanHealth— глубокое сканирование хранилища; занимает 10–30 минут, ничего не меняет, но честно сообщит о повреждениях. - Восстановление:
DISM /Online /Cleanup-Image /RestoreHealth— то же сканирование плюс замена повреждённых компонентов. Windows скачивает здоровые копии с серверов Microsoft Update — нужен интернет.
Все команды выполняются в командной строке от имени администратора. RestoreHealth занимает от 15 минут до часа и дольше на медленных дисках — не прерывайте процесс. Ход выполнения отображается полосой с процентами, которая подолгу висит на 62,3% — это норма: на этом этапе происходит работа с хранилищем, и «зависание» обманчиво.
Если RestoreHealth не может скачать файлы
RestoreHealth берёт эталоны с серверов обновлений — а значит, зависит от сети. Если система не может достучаться до серверов (сбой Центра обновлений: ошибка 0x80240438, VPN и прокси в цепочке — настройки прокси), команда падает с ошибкой. Обход — указать локальный источник. Скачайте ISO-образ вашей версии Windows с сайта Microsoft (Media Creation Tool: пошаговая инструкция), смонтируйте его двойным кликом — он появится как новый диск, например E: — и выполните: DISM /Online /Cleanup-Image /RestoreHealth /Source:E:\Sources\install.wim /LimitAccess. Ключ /LimitAccess запрещает DISM обращаться в сеть — он возьмёт файлы только с образа. Если в образе файл install.esb вместо install.wim — подставьте соответствующее имя файла.
Образ и система должны совпадать по версии и языку: RestoreHealth с несовпадающим источником завершится ошибкой. Проверить версию системы: Win+R → winver.
Очистка хранилища: StartComponentCleanup
Отдельная задача DISM — уборка. Со временем хранилище WinSxS раздувается: в нём копятся заменённые версии компонентов от старых обновлений, и папка может занимать десятки гигабайт. Команда DISM /Online /Cleanup-Image /StartComponentCleanup вычищает устаревшие версии — безопасно, без потери работоспособности. С ключом /ResetBase она удаляет также предыдущие версии обновлений, что освобождает максимум места, но делает уже установленные обновления неоткатываемыми — используйте, когда система работает стабильно и диск забит: Место на диске закончилось: очистка.
DISM для установочного образа и в неработающей системе
DISM умеет работать не только с текущей системой, но и с образами: DISM /Online /Cleanup-Image /RestoreHealth — с работающей Windows; DISM /Image:D:\ /Cleanup-Image /RestoreHealth /Source:E:\Sources\install.wim — с выключенной системой, смонтированной под буквой D: из среды восстановления. Второй вариант актуален, когда система не грузится вовсе: среда WinRE (как попасть в безопасный режим и среду восстановления) даёт доступ к командной строке, DISM с ключом /Image чинит хранилище выключенной Windows, затем SFC с ключами /offbootdir и /offwindir восстанавливает сами файлы.
Типичные ошибки DISM и их смысл
- Ошибка 0x800f081f — источник недоступен: используйте ISO с ключом /Source, как описано выше.
- Ошибка 0x8000ffff — катастрофическое повреждение хранилища: повторите с ISO, затем обновление на месте без потери данных — оно заменит хранилище целиком.
- Ошибка 87 — опечатка в команде: параметры пишутся с слэшами и точными словами, регистр ключей значения не имеет.
- Зависание на 62,3% — не зависание: подождите до часа, прерывание в этот момент опасно для хранилища.
Завершённый цикл DISM + SFC + перезагрузка закрывает большинство системных повреждений. Если после него остаются сбои загрузки — следующий инструмент: восстановление загрузчика Windows (bootrec). Если сбои носят хаотический характер и система всё равно ведёт себя странно — крайняя мера: сброс Windows с сохранением файлов. Навигация по всем сценариям — в хабе раздела: Решение проблем Windows.
Не решили проблему самостоятельно?
Иван из MSFree IT поможет удалённо — через AnyDesk, без поездки в сервис.
Более 15 лет опыта, честные цены, работа 24/7.
Или позвоните: +7 (937) 86-88-001
