ETW跟踪事件描述缺失:logman创建跟踪后Event Viewer报错
问题:ETL日志转EVTX后无法显示Microsoft-Windows-Kernel-File事件ID27的描述
我在Windows 10笔记本上使用以下logman命令创建了跟踪:
logman create trace "Microsoft-Windows-Kernel-File" -p Microsoft-Windows-Kernel-File 0x1800 -o "C:\Logs\Microsoft-Windows-Kernel-File.etl"
随后启动了该跟踪,整体运行正常,指定路径生成了.etl文件,也记录了启用关键词对应的事件。
但查看日志时遇到问题:用Event Viewer打开.etl文件时,系统提示将其另存为.evtx格式,操作后查看事件出现以下提示:
无法找到来自源Microsoft-Windows-Kernel-File的事件ID 27的描述。要么引发此事件的组件未在本地计算机上安装,要么安装已损坏。您可以在本地计算机上安装或修复该组件。
事件的其他信息(如文件路径等)可正常显示,仅事件描述无法生成。
解决方法
直接用命令行工具解析ETL,跳过EVTX转换
Event Viewer的格式转换过程容易丢失事件描述的关联信息,建议用tracerpt直接解析ETL文件生成可读报告:
生成CSV格式报告:tracerpt "C:\Logs\Microsoft-Windows-Kernel-File.etl" -o csv -of csv -o "C:\Logs\KernelFileTraceReport.csv"生成HTML格式报告:
tracerpt "C:\Logs\Microsoft-Windows-Kernel-File.etl" -o html -of html -o "C:\Logs\KernelFileTraceReport.html"这两种格式的报告都会包含完整的事件描述和所有字段信息。
修复系统事件日志的消息资源
- 以管理员身份打开命令提示符,执行命令重新注册组件消息文件:
wevtutil im C:\Windows\System32\winevt\Microsoft-Windows-Kernel-File.man - 如果上述命令报错,执行系统文件扫描修复:
扫描完成后重启电脑,再尝试打开转换后的EVTX文件。sfc /scannow
- 以管理员身份打开命令提示符,执行命令重新注册组件消息文件:
用专业工具解析ETL文件
安装Windows ADK中的Windows Performance Toolkit,用Windows Performance Analyzer(WPA)直接打开ETL文件。这个工具是专门针对内核跟踪日志设计的,能完整展示所有事件细节,包括事件描述,兼容性比Event Viewer好得多。
内容的提问来源于stack exchange,提问作者nmd19
相关产品推荐
相关产品推荐

