固态硬盘作rst/storemi缓存盘导致日志乱码,须先拔盘重启确认问题源;若仍乱码,则需关闭bios中rst/storemi功能,重置eventlog服务、注册表启用unicode编码,并卸载缓存驱动、清理日志缓冲区与刷新缓存映射。

固态硬盘被设为Intel RST或AMD StoreMI缓存盘后,系统日志(Event Viewer)、PowerShell输出、cmd命令行返回内容、甚至应用程序控制台打印全部出现中文乱码、符号错位、字符截断,此时必须立即停止所有写入操作,避免覆盖原始日志元数据。
确认日志错乱是否由缓存盘引发
第一步:拔掉固态缓存盘(如M.2 NVMe或SATA SSD),重启电脑。
若重启后Windows事件查看器中日志条目文字恢复正常(包括“应用程序”“系统”“安全”三大日志),且PowerShell执行Get-EventLog -LogName System | Select -First 5不再显示“????”或方块,则确认为缓存层与主盘日志索引同步失败所致。
若拔盘后仍乱码,说明问题已扩散至系统日志服务本身,需进入下一步排查。
第二步:进BIOS/UEFI,关闭Intel Rapid Storage Technology(RST)或AMD StoreMI功能。
【关闭前务必记录当前RAID配置状态,部分主板关闭后会清空缓存盘上的加速映射表】——否则下次启用时需重新构建缓存,耗时数小时。
修复日志服务编码与存储路径
方法一:重置Windows事件日志服务编码
以管理员身份运行PowerShell,逐行执行:
Stop-Service EventLog -Force
Remove-Item -Path "$env:windir\System32\winevt\Logs\*.evtx" -Force
Start-Service EventLog
这一步会清空所有现有日志文件并重建默认编码结构,新生成的日志将按UTF-16 LE正确写入,不再出现中文截断。
方法二:强制指定日志文件系统编码
打开注册表编辑器(regedit),定位到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog
在右侧新建一个DWORD(32位)值,命名为“UseUnicode”,数值数据设为1。
重启Event Log服务后,所有后续日志写入均强制使用Unicode编码,绕过NTFS卷标误判导致的ANSI fallback错乱。
清理残留缓存驱动与日志缓冲区
第一步:卸载缓存相关驱动
按Win+X → 设备管理器 → 展开“存储控制器” → 找到“Intel(R) Rapid Storage Technology”或“AMD RAID Controller” → 右键→“卸载设备” → 勾选“删除此设备的驱动程序软件” → 确定。
重启后系统将使用标准Microsoft StorAHCI驱动,切断缓存逻辑链路。
第二步:清除内核日志缓冲区残留
以管理员身份运行CMD,执行:
wevtutil sl Application /ca:OVERRIDE
wevtutil sl System /ca:OVERRIDE
wevtutil sl Security /ca:OVERRIDE
该命令强制重置各日志通道的访问控制与编码策略,解决因缓存驱动残留导致的通道初始化异常。
第三步:刷新日志服务缓存映射
PowerShell中执行:
Clear-Host
Get-WinEvent -ListLog * | ForEach-Object { $_.RecordCount = 0 }
此操作不删除日志,仅重置每个日志文件的内部计数器和偏移映射,避免因缓存盘写入中断造成的日志头损坏。











