如何修改NTFS驱动器USN变更日志的maxver参数?
问题分析与解决方案
一、USN日志maxver参数的决定因素
首先得明确:USN日志的Maximum record version supported(也就是你说的maxver)是由你的Windows系统版本和NTFS文件系统版本共同决定的,不是可以随意指定的——系统不支持的版本,就算你用命令指定,也会被自动降级到当前系统支持的最高版本:
- Windows Vista/Server 2008及更早版本:仅支持USN_RECORD_V2,对应maxver=2
- Windows 7/Server 2008 R2及以上:支持USN_RECORD_V3(maxver=3)
- Windows 10 1709+/Server 2019+:进一步支持USN_RECORD_V4(maxver=4)
你当前机器执行fsutil usn createjournal maxver=4 C:后版本仍为2,说明你的系统是Vista/Server 2008这类旧版本,根本不支持更高的USN记录版本,所以命令的maxver参数被系统忽略了。
二、修改指定驱动器maxver的正确步骤
如果你的Windows系统本身支持更高的USN记录版本(比如Win7及以上),可以通过重建USN日志来修改maxver(注意:现有USN日志无法直接修改版本,只能删除后重建):
- 删除现有USN日志(需要管理员权限,且会丢失历史USN记录,操作前确认无数据需求):
这里的fsutil usn deletejournal /D C:/D参数表示立即删除日志,避免等待。 - 重建USN日志并指定maxver(要在系统支持的版本范围内):
比如系统支持V3就执行:
支持V4就执行:fsutil usn createjournal maxver=3 C:fsutil usn createjournal maxver=4 C: - 验证修改结果:
再次运行命令查看日志信息:
检查fsutil usn queryjournal C:Maximum record version supported是否已经更新为你指定的版本。
关键提示
如果你的应用依赖USN_RECORD_V3,那你必须升级当前机器的Windows系统到Windows 7/Server 2008 R2或更高版本——旧系统本身不支持V3的记录格式,无论怎么操作都无法提升maxver到3或4。
内容的提问来源于stack exchange,提问作者rawberry




