Event ID 137 Ntfs: Ошибка диспетчера транзакционных ресурсов (TxF)
Архитектура транзакционной NTFS (TxF) и причины сбоя
Событие 137 логируется источником Ntfs в системном журнале System. Сообщение: "Диспетчер транзакционных ресурсов по умолчанию на томе [Буква] обнаружил ошибку, которую невозможно устранить повторной попыткой (The default transaction resource manager on volume encountered a non-retryable error), и не смог запуститься. Данные содержат код ошибки". В операционной системе Windows реализована технология Transactional NTFS (TxF), которая позволяет приложениям (например, Установщику Windows MSI, Центру обновлений или службам VSS) выполнять операции с файлами атомарно: либо весь набор файлов записывается на диск, либо происходит откат (Rollback), чтобы избежать повреждения файлов в случае сбоя. Когда метаданные диспетчера транзакций повреждаются, TxF падает с ошибкой 137.
Симптомы сбоя транзакционной системы:
- Невозможно установить патчи Центром обновления Windows (ошибки вида
0x8007001Aили0x80071A91). - Служба теневого копирования томов (VSS) зависает или обрывает резервное копирование.
- Установка новых серверных ролей или MSI-пакетов прерывается с ошибкой "Transaction support within the specified resource manager is not started".
Дерево решений: Сброс диспетчера транзакций NTFS
Сценарий 1: Принудительный сброс менеджера транзакций через fsutil (Главное решение)
При повреждении внутренних логов TxF их необходимо очистить и заставить систему пересоздать менеджер ресурсов.
- Откройте командную строку (CMD) строго от имени Администратора.
- Выполните сброс диспетчера ресурсов для проблемного тома (например, диска
C:):fsutil resource setautoreset true C:\ - Если у вас несколько дисков, выполните эту команду для каждого тома (
D:\,E:\и т.д.). - Обязательно перезагрузите сервер. При загрузке драйвер NTFS обнаружит флаг сброса и создаст чистые логи транзакций.
Сценарий 2: Удаление зависших файлов в системной папке TxR
Если команда fsutil возвращает ошибку "Отказано в доступе", возможно, файлы транзакций жестко заблокированы.
- Загрузите сервер в безопасный режим (Safe Mode) или через Windows PE.
- Перейдите в скрытую системную директорию (включите показ скрытых/системных файлов):
C:\$Extend\rmmetadata\$TxfLog\иC:\Windows\System32\SMI\Store\Machine\. - Удалите файлы с расширениями
.blf,.regtrans-msи.tm*. Система воссоздаст их при следующем нормальном старте.
Сценарий 3: Аппаратная проверка тома
Событие 137 редко возникает на 'здоровых' дисках. Часто это следствие Bad-блоков на SSD/HDD, попавших на служебные области NTFS.
# Диагностика тома и устранение повреждений MFT
chkdsk C: /F /RТиповые ошибки администраторов
- Попытка переустановить Windows Update: Администраторы видят, что патчи не ставятся, и начинают сбрасывать папку
SoftwareDistribution. Это не поможет, пока жива ошибка 137. Установщик Windows (TrustedInstaller) использует TxF (KTM - Kernel Transaction Manager) для записи системных файлов. Пока не будет вылеченfsutil resource, установка не пройдет.
Ошибки ядра файловой системы угрожают работоспособности инфраструктуры и оставляют серверы уязвимыми для атак. Делегируйте устранение неполадок экспертам ITSTM: мы проведем низкоуровневую диагностику ОС, восстановим транзакционные логи и настроим бесперебойное резервное копирование.
Частые вопросы (FAQ)
Опасно ли выполнять fsutil resource setautoreset?
Это абсолютно безопасная процедура. Она лишь приказывает драйверу NTFS очистить 'застрявшие' и недописанные транзакции при следующей загрузке. Пользовательские файлы и документы не пострадают.
Почему Microsoft признала Transactional NTFS (TxF) устаревшей?
Сложность архитектуры TxF приводила к частым взаимным блокировкам (Deadlocks) с антивирусами и VSS. Начиная с Windows Server 2012, Microsoft объявила TxF устаревшей (Deprecated), но системные компоненты (Windows Update) продолжают ее использовать для совместимости.
Связан ли код 137 с ошибками VSS 8193?
Да. Если VSS Writer пытается заморозить транзакции (Freeze) на диске, где поврежден диспетчер TxF, VSS не получит подтверждения от файловой системы и отменит снимок диска с ошибкой DCOM или таймаута.
Что означает код состояния (Data) в тексте события?
В шестнадцатеричном блоке Data содержится код ошибки NTSTATUS. Например, 0xC0000022 (STATUS_ACCESS_DENIED) указывает на блокировку файлов антивирусом, а 0xC000009C (STATUS_DEVICE_DATA_ERROR) — на физические бэд-блоки.