Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 10 (http://forum.oszone.net/forumdisplay.php?f=118)
-   -   [решено] SFC не может восстановить при неповрежденном хранилище WinSxS (http://forum.oszone.net/showthread.php?t=346017)

salikoff 01-08-2020 09:59 2929826

SFC не может восстановить при неповрежденном хранилище WinSxS
 
Здравствуйте. Имеется ОС 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/...stem#CBS%20log советует для анализа посмотреть на строки, отмеченные [SR],
предлагая выполнить команду findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt" для выдёргивания нужных строк.
Я так и сделал, и в логе всё чисто — никаких ошибок.

Прошу объяснить знающих людей, почему так происходит? Каков механизм работы SFC? Почему не может восстановить, если хранилище не повреждено? Почему не находит повреждений при автономном сканировании?

Petya V4sechkin 01-08-2020 10:17 2929828

salikoff, выложите лог \Windows\Logs\CBS\CBS.log в архиве.

Vadikan 01-08-2020 10:53 2929829

Цитата:

Цитата salikoff
почему так происходит? Каков механизм работы SFC? Почему не может восстановить, если хранилище не повреждено? Почему не находит повреждений при автономном сканировании? »

DISM и sfc не связаны между собой. Механизм sfc описан в указанной вами статье
Цитата:

Команда sfc /scannow проверит все защищенные системные файлы [по списку] и заменит поврежденные файлы их кэшированной копией, расположенной в сжатой папке по адресу %WinDir%\System32\dllcache.
DISM восстанавливает компоненты/пакеты, см. также
https://www.outsidethebox.ms/17988/
https://www.outsidethebox.ms/tag/cbs/

salikoff 01-08-2020 11:24 2929831

Вложений: 1
Petya V4sechkin, прикрепил заархивированный файл лога к этому сообщению. Буду очень признателен, если вы поможете его проанализировать и указать на поврежденные файлы, о которых сообщает вывод команды SFC

salikoff 01-08-2020 11:33 2929832

Vadikan, спасибо за ответ. Я полагал, что помимо прочего, DISM и dllcache восстанавливает. Если она это не делает, то может, для этого есть другой подходящий инструмент?

Petya V4sechkin 01-08-2020 12:55 2929834

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 2929835

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-...om-windows-10/
Не открываются оснастки mmc, в статье говорится, что это связано с сертификатами и цифровой подписью файла.

Я рассчитывал, что эта проблема решится именно в результате действия SFC

Кстати, если оснастку вызывать из командной строки, например так: «mmc оснастка.msc», то без проблем запускается.

Petya V4sechkin 01-08-2020 13:17 2929838

Цитата:

Цитата salikoff
причина этой проблемы такая же, как и причина другой проблемы

Fix | UAC: Это приложение заблокировано в целях защиты — mmc.exe

Цитата:

Код:

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 2929882

Petya V4sechkin, разрешения TrustedInstaller для папки CbsTemp ожидаемо не дали никакого эффекта. Зато ссылка на статью из блога Вадима очень мне помогла. Теперь я понимаю, что проблема заключается в службе криптографии, и она имеет многочисленные проявления по всей системе. Видно, и утилита CFC стала её жертвой.
Таким образом, можно сделать вывод, что на самом деле, никаких повреждений системных файлов нет, и хотя вывод CFC говорит нам об этом, на самом деле это не так, и вызвано сбоем в работе утилиты при попытке использования криптографических функций. Это подтверждается тем (я писал об этом в первоначальном посте), что при сканировании в автономном режиме из-под WinPE утилита не находит никаких ошибок.

К сожалению, совет из блога удалить папку catroot2, для её пересоздания не привёл к положительному результату. Папка пересоздаётся, проблема остаётся. Для исполняемых файлов система не может определить издателя. Из комментариев к посту видно, что подобное поведение наблюдается не только у меня одного. И возникает эта беда после неудачной попытки обновления и откате на точку восстановления. Поскольку никаких других способов исправления я не вижу, остаётся прибегнуть к тупому, прямолинейному способу — установке Windows поверх.
Чем я сейчас и займусь.

salikoff 02-08-2020 00:14 2929899

Накатил сверху систему, все проблемы исчезли. Жаль, что не удалось найти причину и пришлось действовать таким топорным методом, который не добавляет опыта и знаний об ОС.
Спасибо всем за отклик!

C181UMZ 02-08-2020 10:50 2929928

Цитата:

Цитата salikoff
Почему не может восстановить, если хранилище не повреждено? »

у Вас были повреждены системные файлы/файл.
Цитата:

Цитата salikoff
пришлось действовать таким топорным методом »

на будущее: где-то вычитал у Вадима, не помню в какой статье, возможно, Вадим даст ссылку:
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

Vadikan 02-08-2020 14:58 2929957

C181UMZ, видимо, тут https://www.outsidethebox.ms/14097/#_Toc337897550

salikoff, переустановка поверх - отличный метод, простой и быстрый

salikoff 02-08-2020 16:00 2929959

C181UMZ, команду DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:i:\sources\Install.wim:4 /LimitAccess не имеет смысла выполнять, так как, если не указывать /source, используется интернет и компоненты скачаются. У меня хранилище компонентов не было повреждено. Это имело бы смысл, если бы не получалось восстановить поврежденное хранилище.
Однако, несмотря на бессмысленность этого действия, я всё равно его выполнял.

salikoff 02-08-2020 16:22 2929961

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

Давным-давно, когда у меня впервые появился компьютер, и я ничего не знал об устройстве и работе компьютера, повсеместно была распространена операционная система Windows 98. Проблемы в её работе возникали регулярно и вскоре был найден надёжный способ их решения. 25-значный ключ установки был выучен наизусть, и я перестал бояться ошибок и сбоев в работе ОС. Однако злоупотребление этим методом выдаёт человека как малограмотного пользователя. Кстати, именно этот метод является основным в арсенале «мальчиков по вызову», так называемой компьютерной помощи.

Vadikan 03-08-2020 09:16 2930033

Цитата:

Цитата salikoff
Однако злоупотребление этим методом выдаёт человека как малограмотного пользователя. Кстати, именно этот метод является основным в арсенале «мальчиков по вызову», так называемой компьютерной помощи. »

Злоупотребления тут нет, потому что это эффективный метод, а время - деньги. DISM, sfc и курение логов занимают больше времени, чем переустановка.

Мне понятно ваше желание разобраться, но даже с посторонней помощью вы все равно зашли в тупик и вернулись к простому решению.


Время: 18:33.

Время: 18:33.
© OSzone.net 2001-