首页/系统/Windows 运维速查/fsutil 文件系统底层工具
磁盘与文件43 条

fsutil 文件系统底层工具

查脏位、可用空间、USN 日志与 NTFS 参数;理解卷状态和排查“每次开机都跑检查”这类问题的利器。

Windows 运维速查系统更新于 2026-10-13

fsutil 是什么

fsutil 是面向文件系统底层的命令行工具,主要用来查询卷与 NTFS 的内部状态:脏位(dirty bit)、可用空间、USN 变更日志、簇与记录大小等。它属于「解释现象」的工具——比如为什么每次开机都自动跑磁盘检查、为什么增量备份突然变慢,答案常常就在这些参数里。它以只读查询为主,少数子命令会修改状态,用错会掩盖真实故障。

基本信息

适用平台Windows 全版本(NTFS 卷),所有子命令需要管理员权限
脏位查询fsutil dirty query C: 查看卷是否被标记为需要检查
空间信息fsutil volume diskfree C: 输出总量、可用与剩余空间
NTFS 参数fsutil fsinfo ntfsinfo C: 显示扇区、簇、MFT 记录等底层参数
USN 日志fsutil usn queryjournal C: 查看变更日志 ID、容量与下一个 USN
相关子命令file(按安全标识查文件)、sparse(稀疏文件标记)、reparsepoint、volume

典型使用场景

  • 开机反复自检:确认脏位是否一直未清除,定位为什么每次都安排 chkdsk
  • 空间对不上:用 diskfree 拿到底层可用字节数,与资源管理器显示对照
  • 备份变慢:查看 USN 日志的容量与状态,判断是否被重建或溢出
  • 性能调优前取证:读取簇大小与分区偏移等参数,确认对齐与配置
  • 文件归属查询:在无法用资源管理器定位时按安全标识查文件所在位置

常用示例

常用示例
fsutil dirty query C:                        # 卷是否被标记为脏(需要检查)
fsutil volume diskfree C:                    # 总容量、可用与剩余字节数
fsutil volume info C:                        # 卷标、序列号与文件系统信息
fsutil fsinfo ntfsinfo C:                    # NTFS 底层参数:扇区、簇、MFT
fsutil fsinfo volumeinfo C:                  # 卷能力集(是否支持压缩、配额等)
fsutil usn queryjournal C:                   # USN 变更日志的 ID、最大容量与下一个 USN
fsutil fsinfo drivetype D:                   # 判断盘是固定盘、可移动盘还是网络盘
REM 谨慎使用:让下次开机强制执行检查
REM fsutil dirty set C:
REM 慎用:清除脏位标记(会掩盖真实问题)
REM fsutil dirty clear C:

常用子命令读法

子命令看什么异常表现
dirty query卷是否被标记为脏长期为脏 → 每次开机都安排检查
volume diskfree底层容量与可用字节与资源管理器差异过大需查配额与影副本
fsinfo ntfsinfo簇大小、MFT 记录大小簇过大浪费空间,过小影响性能
usn queryjournalUSN 日志 ID 与容量日志被重建或容量异常影响增量备份
fsinfo drivetype卷的类型属性误把网络盘或可移动盘当本地盘处理
脏位表示「这个卷需要做一致性检查」,通常来自异常断电、强制关机或文件系统错误。正确处理是先让 chkdsk 真正跑完并成功,再看脏位是否仍存在;直接清位只是把提示关掉。
USN 变更日志被搜索索引、增量备份、杀毒软件等大量使用。查询日志本身完全安全,但重建或删除日志会破坏依赖它的增量备份基线,属于有后果的操作。

配合 chkdsk 的排查流程

配合 chkdsk 的排查流程
fsutil dirty query C:                        # 1. 确认是否标记为脏
REM 2. 安排一次真正的检查(只读模式先看结论)
REM chkdsk C: /scan
REM 3. 需要修复时安排在维护窗口
REM chkdsk C: /f
fsutil dirty query C:                        # 4. 检查完成后再次确认脏位已清除
Get-WinEvent -LogName System -MaxEvents 30 | Where-Object ProviderName -like '*Ntfs*'   # 结合日志看文件系统报错
不要用 fsutil dirty clear 来「解决开机自检」:清掉标记并不会修复文件系统,只是让问题延后暴露,数据损坏风险仍在。修完再清,顺序不能颠倒。

易错点

  • 用 dirty clear 掩盖开机自检:脏位被清除但文件系统问题仍在,最终可能以数据损坏的形式爆发
  • 不看 fsutil 输出就判断空间不足:底层可用字节与资源管理器口径可能因影副本、配额而不同,需交叉验证
  • 随意重建 USN 日志:依赖变更日志的增量备份将失去基线,必须全量重做
  • 非管理员环境执行 fsutil:绝大多数子命令会直接报权限错误,需以管理员身份运行
  • 把 fsinfo ntfsinfo 的容量与簇参数当作性能结论:簇大小只是配置事实,性能问题还需结合磁盘队列与 IO 延迟分析

数据来源与参考

  • Microsoft Learn:fsutil
  • Microsoft Learn:fsutil dirty

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌