Вопрос или проблема
Я обновил Windows Server с 2008R2 до 2012, и теперь у него не запускаются различные службы — такие как winrm, iis. Я знаю, что нужно выполнить реконструкцию, но сервер на самом деле не использует ни одну из этих служб. В будущем они могут понадобиться, поэтому есть ли способ восстановить образ?
Когда я запускаю PS C:\Windows\system32> Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:E:\sources\install.wim:1 /limitaccess
Инструмент обслуживания и управления образами развертывания
Версия: 6.2.9200.16384
Версия образа: 6.2.9200.16384
[==========================100.0%==========================]
Ошибка: 14098
Хранилище компонентов было повреждено.
Файл журнала DISM можно найти по адресу C:\Windows\Logs\DISM\dism.log
Кто-нибудь знает, как восстановить или заменить хранилище компонентов?
Повреждение хранилища — это ужасно! Если вы можете себе это позволить, лучше переустановить ОС. Если нет, вы в лучшем случае столкнетесь с потоком патчей, а в худшем — сильно расстроитесь, пытаясь разобраться. Вот мой опыт:
Dism /Online /Cleanup-Image /ScanHealth
, затем проверьтеC:\Windows\Logs\DISM\dism.log
на наличие чего-то интересного. У меня там написано, чтобы проверитьC:\Windows\Logs\CBS\CBS.log
для получения деталей.C:\Windows\Logs\CBS\CBS.log
указывает на повреждение пакета для определенного KB.- Скачайте указанный KB из каталога Windows и попробуйте установить его вручную. Если повезет, он установится, и вы сможете установить оригинальное обновление или успешно завершить проверку. Хотя, скорее всего, нет:
- Если вы получите сообщение “Это обновление не применимо к вашему компьютеру”, проверьте CBS.log для следующего поврежденного пакета и продолжайте пытаться установить эти обновления, пока все не станет хорошо. Если нет:
- Если обновления застревают на “поиск обновлений для вашего компьютера” надолго, вы можете несколько раз использовать
net stop wuauserv
иnet stop trustedinstaller
(убедитесь, что они ОСТАЮТСЯ остановленными, они любят сами перезапускаться) и попробуйте снова. - Если повторная попытка не сработала, попробуйте проверить обновления Windows. Если скажет, что нет обновлений, повторите
Dism /Online /Cleanup-Image /ScanHealth
и проверьте cbs.log для следующих обновлений. - Если DISM возвращается чистым, попробуйте
sfc /scannow
. Если он тоже чист, вы должны быть в порядке.
Продолжайте пробовать комбинации выше, пока не получите результат. Вам, возможно, придется попробовать Dism /Online /Cleanup-Image /RestoreHealth
или Dism /Online /Cleanup-Image /RestoreHealth /source:d:\sources /limitaccess
, если вы не в сети и смонтируете ISO/диск установки Windows на d: (или поменяйте букву).
Добавьте немного перезагрузки и несколько куриных костей, и дело с концом. Удачи!
Ответ или решение
Для решения проблемы с поврежденным хранилищем компонентов (component store) на Windows Server 2012, возникшей после обновления с Windows Server 2008R2, рекомендуется выполнить следующие шаги:
-
Анализ лога DISM:
- Запустите команду:
Dism /Online /Cleanup-Image /ScanHealth
- Проверьте лог файл по адресу
C:\Windows\Logs\DISM\dism.log
на наличие сообщений об ошибках. Это даст представление о том, какие именно компоненты повреждены.
- Запустите команду:
-
Проверка CBS.log:
- В случае обнаружения ошибок в логе DISM, обратитесь к
C:\Windows\Logs\CBS\CBS.log
для получения более подробной информации о поврежденных пакетах.
- В случае обнаружения ошибок в логе DISM, обратитесь к
-
Установка отсутствующих обновлений:
- Если CBS.log указывает на определенное обновление (например, KBxxxxxxx), попробуйте скачать его с Windows Update Catalog и установить вручную.
- Если появится сообщение "Это обновление не применимо к вашему компьютеру", проверьте CBS.log на наличие следующего поврежденного пакета и продолжайте установку до тех пор, пока не будет устранена вся поврежденная информация.
-
Остановка служб обновлений:
- Если установка обновлений застревает на этапе "проверка обновлений", используйте команды:
net stop wuauserv net stop trustedinstaller
- После остановки служб (убедитесь, что они остаются остановленными), попытайтесь снова проверить наличие обновлений.
- Если установка обновлений застревает на этапе "проверка обновлений", используйте команды:
-
Повторная проверка состояния системы:
- Выполните снова команду:
Dism /Online /Cleanup-Image /ScanHealth
- Если DISM теперь возвращает чистый результат, это значит, что система в порядке.
- Выполните снова команду:
-
Запуск SFC:
- Если DISM завершился успешно, запустите команду:
sfc /scannow
- Это проверит и восстановит целостность системных файлов.
- Если DISM завершился успешно, запустите команду:
-
Дополнительные способы восстановления:
- Если никаких из предложенных шагов не помогли, попробуйте использовать загрузочный ISO с установочным образом Windows Server 2012, смонтировав его и выполнив команду:
Dism /Online /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /LimitAccess
- Замените
D:
на букву диска, куда смонтируете ISO.
- Если никаких из предложенных шагов не помогли, попробуйте использовать загрузочный ISO с установочным образом Windows Server 2012, смонтировав его и выполнив команду:
-
Полная переустановка системы:
- Если все перечисленные выше методы не выручили, и система продолжает вызывать проблемы, возможно, придется рассмотреть вариант полной переустановки операционной системы.
Помните, что лучший подход для обеспечения долговременной стабильности и производительности серверов заключается в регулярном обновлении и поддержании их в актуальном состоянии. Удачи в восстановлении системы!