CBS Log Analyzer

CBS Log Analyzer v1.1.0 - Upgrade

  • Автор Автор Lunik
  • Дата создания Дата создания
CBS Log Analyzer: добавлена проверка кустов реестра

Продолжение темы с ошибкой 0x800703f1 (ERROR_BADDB). Раньше анализатор мог только сказать по логу, что повреждён куст реестра. Теперь можно проверить сам куст.

Как это работает. Перетаскиваете файл куста — COMPONENTS, SCHEMA.DAT, DRIVERS или SYSTEM — прямо на страницу. Инструмент распознаёт его по сигнатуре, читает заголовок и выдаёт одно из трёх:
  • Чистый — куст закрыт корректно, признаков повреждения нет.
  • Грязный — служебные счётчики рассинхронизированы. Это и есть обычная причина ERROR_BADDB: куст не был корректно закрыт (сбой питания, крах системы), но заголовок цел, то есть данные, скорее всего, не разрушены. Лечится приведением счётчиков в соответствие, а не заменой файла.
  • Структура повреждена — не сходится контрольная сумма заголовка или файл обрезан. Здесь сброс счётчиков не поможет, нужна замена.
Для грязного куста указывается конкретика: какое значение нужно выставить, с реальным числом из вашего файла.

Важно: это только диагностика. Инструмент ничего не меняет — файл открывается на чтение. Он не заменяет проверенные утилиты, а помогает понять, с чем имеете дело, прежде чем что-то трогать. Все предупреждения (резервная копия, замена из WinRE, переименование оригинала) выводятся прямо в интерфейсе.

Проверяется только заголовок — это честно оговорено: целый заголовок не гарантирует, что глубже в данных всё в порядке. Отдельно отмечено, что рассинхрон счётчиков означает оборванную запись, и полноценное восстановление подразумевает применение журналов транзакций .LOG1/.LOG2, а не только сброс счётчиков.

Размер значения не имеет — читаются первые 4 КБ, так что COMPONENTS на 200 МБ проверяется мгновенно.
  • Like
Реакции: akok и Guest
Определение повреждённого куста реестра. Раньше на логах с 0x800703f1 (ERROR_BADDB) анализатор писал «профиль не распознан». Теперь он распознаёт эту ситуацию, определяет, какой именно куст пострадал — schema.dat (SMI Store), COMPONENTS, DRIVERS или SYSTEM — и прямо говорит, что DISM и sfc бесполезны, пока куст не восстановлен, а коды вроде 0x800f081f здесь лишь симптом. Добавлены безопасные шаги диагностики: проверка диска и тест загрузки куста через reg load с подстановкой правильного пути.


Общий блок команд больше не противоречит причине. Если конкретная причина определена, блок «Команды для починки» отсылает к целевым командам вместо того, чтобы предлагать DISM, который в той же карточке назван бесполезным.


Убрана надпись «читаю…», которая не пропадала после завершения разбора — из-за неё казалось, что обработка зависла. Теперь показывается время разбора. Для справки: лог на 40 МБ обрабатывается примерно за 6 секунд, так что если раньше казалось, что инструмент завис — он уже давно закончил, просто результаты были ниже по странице.


Починен фильтр косметического шума: строки вида Current tick count: 800 lower than last tick count: 1479 не отсеивались из-за числа в середине фразы и попадали в значимые ошибки.


Добавлены расшифровки кодов 0x800703f1 (ERROR_BADDB), 0xc000014c (STATUS_REGISTRY_CORRUPT), 0x8007371c (ERROR_SMI_PRIMITIVE_INSTALLER_FAILED).
  • Like
Реакции: Guest и Sandor
Добавил:
  • Поддержку dism.log — разбор запусков DISM (RestoreHealth/ScanHealth), их кодов и сводки «успех/сбой».
  • Разбор блока CheckSUR — список повреждённых пакетов .mum/.cat, сводка повреждений и связанные KB-номера из имён пакетов.
  • Блок «Наблюдения» — нейтральные пояснения без команд (offline-обслуживание по несуществующему диску, теневые копии VSS, очистка компонентов, ожидание перезагрузки, повреждённый источник в store, отсутствие замены mum/cat).
  • Учёт версии Windows — определение по сборке из лога (7 / 8.x / 10–11) и подмена команд: на Win7 советуется CheckSUR (KB947821), а не несуществующий DISM /RestoreHealth.
  • Новые профили причин: токены лицензий SPP, отсутствие источника (0x800f081f), сбой установки обновления, недоступный онлайн-источник DISM (0x80071160).
  • Новые коды HRESULT в словарь (0x80070003, 0x80071160, 0x800f0906 и др.) и декодирование текста ошибки из \uXXXX.

Изменении:

  • Точный статус файлов SR, включая приоритетный «источник в хранилище тоже повреждён».
  • Умный вердикт: косметический шум выносится в «Незначительное», одинаковые ошибки группируются в уникальные проблемы.
  • Единый вид строк команд в блоках «Причины» и «Команды для починки».
  • Тексты наблюдений и команды на Win7 больше не упоминают DISM /RestoreHealth
Назад
Сверху Снизу