Показать полную графическую версию : [решено] SFC не может восстановить при неповрежденном хранилище WinSxS
salikoff
01-08-2020, 09:59
Здравствуйте. Имеется ОС Windows 10 Pro версия 2004 сборка 19041.208
Компьютер стал сбоить и сыпать ошибками после отката в точку восстановления после неудачной попытки обновления.
SFC /scannnow выдает «Программа защиты ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них».
DISM Dism /Online /Cleanup-Image /CheckHealth сообщает, что всё ОК, никаких повреждений.
Всё равно делаю Dism /Online /Cleanup-Image /RestoreHealth. Восстановление успешно.
SFC /scannow пишет то же, что и прежде.
Скачал образ Windows с точно таким же билдом. Распаковал WIM, ещё раз прогнал DISM /RestoreHealth с параметром /Source и указанием папки. Успешно.
SFC всё равно не может восстановить повреждённые файлы.
Провёл ещё одну манипуляцию, загрузился с liveCD, и запустил SFC с параметрами /OFFBOOTDIR и /OFFWINDIR. На этот раз получил ответ, что нет никаких повреждений.
Перезагрузился в систему, снова SFC /scannow и опять сообщение, что найдены повреждения и не может восстановить.
Статья на сайте microsoft https://support.microsoft.com/ru-ru/help/929833/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system#CBS%20log советует для анализа посмотреть на строки, отмеченные [SR],
предлагая выполнить команду findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt" для выдёргивания нужных строк.
Я так и сделал, и в логе всё чисто — никаких ошибок.
Прошу объяснить знающих людей, почему так происходит? Каков механизм работы SFC? Почему не может восстановить, если хранилище не повреждено? Почему не находит повреждений при автономном сканировании?
Petya V4sechkin
01-08-2020, 10:17
salikoff, выложите лог \Windows\Logs\CBS\CBS.log в архиве.
почему так происходит? Каков механизм работы SFC? Почему не может восстановить, если хранилище не повреждено? Почему не находит повреждений при автономном сканировании? »
DISM и sfc не связаны между собой. Механизм sfc описан в указанной вами статье
Команда sfc /scannow проверит все защищенные системные файлы [по списку] и заменит поврежденные файлы их кэшированной копией, расположенной в сжатой папке по адресу %WinDir%\System32\dllcache.
DISM восстанавливает компоненты/пакеты, см. также
http://www.outsidethebox.ms/17988/
http://www.outsidethebox.ms/tag/cbs/
salikoff
01-08-2020, 11:24
Petya V4sechkin, прикрепил заархивированный файл лога к этому сообщению. Буду очень признателен, если вы поможете его проанализировать и указать на поврежденные файлы, о которых сообщает вывод команды SFC
salikoff
01-08-2020, 11:33
Vadikan, спасибо за ответ. Я полагал, что помимо прочего, DISM и dllcache восстанавливает. Если она это не делает, то может, для этого есть другой подходящий инструмент?
Petya V4sechkin
01-08-2020, 12:55
salikoff, в логе:
2020-08-01 07:16:48, Info CBS Failed call to CryptCATAdminAddCatalog. [HRESULT = 0x8000ffff - E_UNEXPECTED]
2020-08-01 07:16:48, Info CBS Failed to install catalog file \\?\C:\WINDOWS\CbsTemp\30828474_1962126115\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~10.0.19041.1.cat for package [HRESULT = 0x8000ffff - E_UNEXPECTED]
2020-08-01 07:17:04, Info CBS Failed to open package file: \\?\C:\WINDOWS\CbsTemp\30828474_2252444244\Microsoft-Windows-NetFx2-OC-Package~31bf3856ad364e35~amd64~~10.0.19041.1.mum [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
Приведите результаты выполнения в командной строке (cmd.exe)
icacls C:\Windows
icacls C:\Windows\CbsTemp
salikoff
01-08-2020, 12:59
C:\WINDOWS\system32>icacls C:\Windows
C:\Windows NT SERVICE\TrustedInstaller(F)
NT SERVICE\TrustedInstaller(CI)(IO)(F)
NT AUTHORITY\СИСТЕМА(M)
NT AUTHORITY\СИСТЕМА(OI)(CI)(IO)(F)
BUILTIN\Администраторы(M)
BUILTIN\Администраторы(OI)(CI)(IO)(F)
BUILTIN\Пользователи(RX)
BUILTIN\Пользователи(OI)(CI)(IO)(GR,GE)
СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ(OI)(CI)(IO)(F)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ПАКЕТЫ ПРИЛОЖЕНИЙ(RX)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ПАКЕТЫ ПРИЛОЖЕНИЙ(OI)(CI)(IO)(GR,GE)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ОГРАНИЧЕННЫЕ ПАКЕТЫ ПРИЛОЖЕНИЙ(RX)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ОГРАНИЧЕННЫЕ ПАКЕТЫ ПРИЛОЖЕНИЙ(OI)(CI)(IO)(GR,GE)
//************************************************************//
C:\WINDOWS\system32>icacls C:\Windows\CbsTemp
C:\Windows\CbsTemp BUILTIN\Администраторы(I)(F)
BUILTIN\Администраторы(I)(OI)(CI)(IO)(F)
NT AUTHORITY\СИСТЕМА(I)(F)
NT AUTHORITY\СИСТЕМА(I)(OI)(CI)(IO)(F)
BUILTIN\Пользователи(I)(RX)
BUILTIN\Пользователи(I)(OI)(CI)(IO)(GR,GE)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ПАКЕТЫ ПРИЛОЖЕНИЙ(I)(RX)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ПАКЕТЫ ПРИЛОЖЕНИЙ(I)(OI)(CI)(IO)(GR,GE)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ОГРАНИЧЕННЫЕ ПАКЕТЫ ПРИЛОЖЕНИЙ(I)(RX)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ОГРАНИЧЕННЫЕ ПАКЕТЫ ПРИЛОЖЕНИЙ(I)(OI)(CI)(IO)(GR,GE)
Petya V4sechkin, я видел эту строчку (CBS Failed call to CryptCATAdminAddCatalog) в логе, там какая-то ругань на криптографию. Полагаю, что причина этой проблемы такая же, как и причина другой проблемы, которая наблюдается в текущий момент.
Она описана, например, здесь: https://open-form-it.com/dispetcher-ustroystv-zablokirovan-administratorom-windows-10/
Не открываются оснастки mmc, в статье говорится, что это связано с сертификатами и цифровой подписью файла.
Я рассчитывал, что эта проблема решится именно в результате действия SFC
Кстати, если оснастку вызывать из командной строки, например так: «mmc оснастка.msc», то без проблем запускается.
Petya V4sechkin
01-08-2020, 13:17
причина этой проблемы такая же, как и причина другой проблемы
Fix | UAC: Это приложение заблокировано в целях защиты — mmc.exe (http://www.outsidethebox.ms/20421/)
C:\Windows\CbsTemp BUILTIN\Администраторы:(I)(F)
BUILTIN\Администраторы:(I)(OI)(CI)(IO)(F)
NT AUTHORITY\СИСТЕМА:(I)(F)
NT AUTHORITY\СИСТЕМА:(I)(OI)(CI)(IO)(F)
BUILTIN\Пользователи:(I)(RX)
BUILTIN\Пользователи:(I)(OI)(CI)(IO)(GR,GE)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ПАКЕТЫ ПРИЛОЖЕНИЙ:(I)(RX)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ПАКЕТЫ ПРИЛОЖЕНИЙ:(I)(OI)(CI)(IO)(GR,GE)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ОГРАНИЧЕННЫЕ ПАКЕТЫ ПРИЛОЖЕНИЙ:(I)(RX)
ЦЕНТР ПАКЕТОВ ПРИЛОЖЕНИЙ\ВСЕ ОГРАНИЧЕННЫЕ ПАКЕТЫ ПРИЛОЖЕНИЙ:(I)(OI)(CI)(IO)(GR,GE)
Добавьте разрешения для NT SERVICE\TrustedInstaller на C:\Windows\CbsTemp.
salikoff
01-08-2020, 21:53
Petya V4sechkin, разрешения TrustedInstaller для папки CbsTemp ожидаемо не дали никакого эффекта. Зато ссылка на статью из блога Вадима очень мне помогла. Теперь я понимаю, что проблема заключается в службе криптографии, и она имеет многочисленные проявления по всей системе. Видно, и утилита CFC стала её жертвой.
Таким образом, можно сделать вывод, что на самом деле, никаких повреждений системных файлов нет, и хотя вывод CFC говорит нам об этом, на самом деле это не так, и вызвано сбоем в работе утилиты при попытке использования криптографических функций. Это подтверждается тем (я писал об этом в первоначальном посте), что при сканировании в автономном режиме из-под WinPE утилита не находит никаких ошибок.
К сожалению, совет из блога удалить папку catroot2, для её пересоздания не привёл к положительному результату. Папка пересоздаётся, проблема остаётся. Для исполняемых файлов система не может определить издателя. Из комментариев к посту видно, что подобное поведение наблюдается не только у меня одного. И возникает эта беда после неудачной попытки обновления и откате на точку восстановления. Поскольку никаких других способов исправления я не вижу, остаётся прибегнуть к тупому, прямолинейному способу — установке Windows поверх.
Чем я сейчас и займусь.
salikoff
02-08-2020, 00:14
Накатил сверху систему, все проблемы исчезли. Жаль, что не удалось найти причину и пришлось действовать таким топорным методом, который не добавляет опыта и знаний об ОС.
Спасибо всем за отклик!
Почему не может восстановить, если хранилище не повреждено? »у Вас были повреждены системные файлы/файл.
пришлось действовать таким топорным методом »на будущее: где-то вычитал у Вадима, не помню в какой статье, возможно, Вадим даст ссылку:
1. Смонтировать образ Windows 10 (в моем случае смонтировался как диск i:\)
2. Определяем индекс редакции Windows 10 Pro (или той, что нужно Вам), для этого в командной строке от имени администратора:
Dism /Get-WimInfo /WimFile:I:\sources\install.wim
В 1909 индекс редакции Windows 10 Pro определился как 4.
3. В командной строке от имени Администратора (cmd.exe) выполнить следующее:
DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:i:\sources\Install.wim:4 /LimitAccess
где буква i - буква, которую назначил проводник при монтировании образа с Windows 10, 4 - индекс редакции Pro в образе.
После этого проверить:sfc /scannow
C181UMZ, видимо, тут http://www.outsidethebox.ms/14097/#_Toc337897550
salikoff, переустановка поверх - отличный метод, простой и быстрый
salikoff
02-08-2020, 16:00
C181UMZ, команду DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:i:\sources\Install.wim:4 /LimitAccess не имеет смысла выполнять, так как, если не указывать /source, используется интернет и компоненты скачаются. У меня хранилище компонентов не было повреждено. Это имело бы смысл, если бы не получалось восстановить поврежденное хранилище.
Однако, несмотря на бессмысленность этого действия, я всё равно его выполнял.
salikoff
02-08-2020, 16:22
Vadikan, согласен с вами, метод простой и эффективный. Но хочется не только решить проблему, но и понять её причину.
Давным-давно, когда у меня впервые появился компьютер, и я ничего не знал об устройстве и работе компьютера, повсеместно была распространена операционная система Windows 98. Проблемы в её работе возникали регулярно и вскоре был найден надёжный способ их решения. 25-значный ключ установки был выучен наизусть, и я перестал бояться ошибок и сбоев в работе ОС. Однако злоупотребление этим методом выдаёт человека как малограмотного пользователя. Кстати, именно этот метод является основным в арсенале «мальчиков по вызову», так называемой компьютерной помощи.
Однако злоупотребление этим методом выдаёт человека как малограмотного пользователя. Кстати, именно этот метод является основным в арсенале «мальчиков по вызову», так называемой компьютерной помощи. »
Злоупотребления тут нет, потому что это эффективный метод, а время - деньги. DISM, sfc и курение логов занимают больше времени, чем переустановка.
Мне понятно ваше желание разобраться, но даже с посторонней помощью вы все равно зашли в тупик и вернулись к простому решению.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC