本质是跨系统未安全卸载导致NTFS卷被标记为dirty,且BootExecute无差别调用autochk;需先用fsutil dirty query C:确认脏位状态,再通过chkntfs /x C:清除计划扫描,或清空注册表BootExecute值永久禁用,并在Linux fstab中配置ntfs-3g安全挂载参数预防复发。

Win11双系统环境下,每次从Linux或Windows另一系统重启后,NTFS分区(尤其是C盘)频繁触发“正在检查驱动器”界面,本质是跨系统写入未正确卸载、日志未同步导致NTFS卷被标记为dirty,且BootExecute机制无差别调用autochk,形成开机必检循环。
确认当前脏标志状态
先验证问题根源是否为NTFS脏位:以管理员身份打开Windows终端,执行:
fsutil dirty query C:
若返回“卷C:被标记为Dirty”,说明Linux侧挂载该盘时未启用ntfs-3g的write支持或未安全卸载;若返回“卷C:未被标记为Dirty”,则问题大概率出在计划扫描或BootExecute残留配置上。
【注意:此命令必须以管理员权限运行,普通用户权限会提示“拒绝访问”】
清除已计划的CHKDSK任务
双系统切换常导致Windows误判需强制扫描,chkntfs /x可精准移除调度标记:
- 右键「开始」→「Windows 终端(管理员)」
- 输入 chkntfs C: 并回车,确认输出含“已计划在下一次系统重启时检查”
- 立即执行 chkntfs /x C: → 该命令不触碰磁盘结构,仅删除启动前的扫描预约
- 如D盘也用于双系统共享(如/home映射),追加执行 chkntfs /x D:
命令执行后无需重启即生效,下次开机将跳过该盘的计划性扫描。
永久禁用BootExecute自动调用
双系统中Linux可能修改NTFS元数据但不触发Windows日志提交,此时保留autochk反而加剧冲突。清空BootExecute是最彻底的断联方式:
按下 Win + R → 输入 regedit → 回车
导航至 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
找到右侧名为 BootExecute 的字符串值,双击打开 → 将“数值数据”栏内容全部删空,确保字段呈完全空白状态 → 点击“确定”
【关键动作:必须删至空白,留空格或换行符仍会触发autochk】
Linux侧规避dirty标记(关键预防)
若你在Ubuntu/Debian等发行版中挂载Windows NTFS分区,请立即修改fstab配置:
编辑 /etc/fstab 文件,找到类似 UUID=xxx /mnt/win ntfs defaults,uid=1000,gid=1000 0 0 的行
将 defaults 替换为 defaults,windows_names,umask=022,dmask=022,fmask=133,nls=utf8
特别加入 noatime 和 x-systemd.device-timeout=0 参数,避免Linux写入访问时间戳引发Windows校验冲突
保存后执行 sudo umount /mnt/win → sudo mount -a,强制重挂载生效

















