由于某种原因,大量 Windows 7 机器在chkdsk
每次重启计算机时都会突然开始调用。因此,我自然而然地开始在 Google 上搜索。
我发现的第一件事是KB831426。我尝试了所有方法但都无济于事(大部分都无济于事,但它确实为我指明了另一个方向)。
接下来,我发现了fsutil
。调用fsutil dirty query c:
会产生Volume - c: is Dirty
。有趣的是,fsutil
还允许您通过执行手动设置卷上的脏位fsutil dirty set c:
。但是,我无法找到如何撤消该设置。我甚至执行并让它一直运行,直到此后每次重启后chkdsk /F
仍能运行。chkdsk
最后,我找到了一个论坛,讨论如何编辑注册表,类似于前面提到的 KB831426。唯一的区别是,它不是将HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\BootExecute
值设置为autocheck autochk*
,而是将其全部清除。这确实可以阻止chkdsk
运行,但这样做存在明显的问题:首先,如果发生合法的“错误关机”,它似乎不再知道要执行chkdsk
;其次,执行fsutil dirty query c:
仍然显示卷很脏,这告诉我仍然有些不对劲。
我最好的猜测是,这与更新有关,因为它们(50 多台机器)都在同一天开始更新。它们都是装有 Windows 7 Pro 的 Dell Optiplex 790。
这个脏位存储在哪里?我该如何更改它?