Войти

Показать полную графическую версию : Как починить winsxs


A.A.Z.
11-02-2020, 02:26
Здравствуйте!

Больше всего интересует именно теоретическая часть, т.к. удалённо через форум эту проблему не решить, буду сам ковырять, но знаний не хватает.

Windows 10 1903 x64 Pro для рабочих станций.
Начала свою жизнь как ванильная 10.0.18362.1, затем потихоньку обновлялась, в итоге текущая версия 10.0.18362.145 (июнь 2019).
Дальше с ней что-то произошло, что - неизвестно. Повредилось хранилище компонентов, в итоге не устанавливается ни одно обновление и т.п.
При попытке пройти sfc /scannow, dism /online /cleanup-image /restore-health /source:wim:install.wim:5 /limitaccess, in-place upgrade всё заканчивается ошибками. В качестве источника указывал как изначальный образ, так и образ с обновлениями по июнь (чтобы версия была 145).

Пример ошибки из cbs.log про не найденные компоненты: 2020-02-11 02:21:00, Error CSI 00000122@2020/2/10:23:21:00.429 (F) onecore\base\wcp\componentstore\csd_locking.cpp(95): Error STATUS_SXS_ASSEMBLY_MISSING originated in function CCSDirectTransaction::LockComponent expression: (null)
[gle=0x80004005]
2020-02-11 02:21:00, Info CBS Added C:\Windows\Logs\CBS\CBS.log to WER report.
2020-02-11 02:21:00, Info CBS Not able to add pending.xml to Windows Error Report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2020-02-11 02:21:00, Info CBS Not able to add pending.xml.bad to Windows Error Report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2020-02-11 02:21:00, Info CBS Not able to add poqexec.log to Windows Error Report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2020-02-11 02:21:01, Info CBS Not able to add SCM.EVM to Windows Error Report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2020-02-11 02:21:01, Error CSI 00000123 (F) STATUS_SXS_ASSEMBLY_MISSING #481823# from CCSDirectTransaction::OperateEnding at index 0 of 1 operations, disposition 2[gle=0xd015000c]
2020-02-11 02:21:01, Error CSI 00000124 (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) #481689# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_PinDeployment(Flags = 0, a = Microsoft-Windows-IIS-ClientShortCuts-Deployment, version 10.0.18362.1, arch amd64, nonSxS, pkt {l:8 b:31bf3856ad364e35}, cb = (null), s = (null), rid = 'Microsoft-Windows-IIS-WebServer-AddOn-Package~31bf3856ad364e35~amd64~~10.0.18362.418.IIS-ManagementConsole', rah = (null), manpath = (null), catpath = (null), ed = 0, disp = 0)[gle=0x80073701]
2020-02-11 02:21:01, Info CBS Failed to pin deployment while resolving Update: Microsoft-Windows-IIS-WebServer-AddOn-Package~31bf3856ad364e35~amd64~~10.0.18362.418.IIS-ManagementConsole from file: (null) [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
2020-02-11 02:21:01, Info CBS Failed to bulk stage deployment manifest and pin deployment for package:Microsoft-Windows-FodMetadata-Package~31bf3856ad364e35~amd64~~10.0.18362.1 [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]


Цимес в том, что в системе куча важного-сложного софта, а для корректной установки чего-то дополнительного, что требует обновления, она не годится.

Как можно вручную починить это?

Я выяснил три основных места, где лежит информация о компонентах: раздел COMPONENTS, раздел Component Based Servicing в SOFTWARE, и, собственно, папка WinSxS (а также Catroot). Думал попробовать из чистой системы подёргать разделы и ключи, относящиеся к потерянным компонентам, и вручную их добавить по местам.
Где ещё эта информация хранится?

С другой стороны: может, есть какие-то альтернативы dism с более гибким функционалом?
Может, можно как-то пропустить/затереть те компоненты, которые потерялись? (они реально не нужны, там всякая чепуха перечислена - holographic desktop, iis management console, appx'ы какие-то)

Главная проблема - то, что не ставятся обновления и всё что связано с компонентами системы. Т.е. sfc и dism - не самоцель, главное - вернуть функционал.

Благодарен за любую помощь.

Vadikan
11-02-2020, 08:04
Failed to pin deployment while resolving Update: Microsoft-Windows-IIS-WebServer-AddOn-Package~31bf3856ad364e35~amd64~~10.0.18362.418.IIS-ManagementConsole from file: (null) [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING] »
Попробуйте в этом направлении http://forum.oszone.net/post-2877824.html#post2877824




© OSzone.net 2001-2012