在 Windows 启动期间禁用或不再自动运行 CHKDSK

网友投稿 1292 2022-09-16

在 Windows 启动期间禁用或不再自动运行 CHKDSK

在 Windows 启动期间禁用或不再自动运行 CHKDSK

作为Windows比较烦人的 "功能 "之一,如果检测到没有正确地关机,下次开机会向你询问是否进行Windows磁盘检查(Chkdsk)。

WIN7的提示:

WIN10的提示:

你可以按任意键跳过磁盘检查,但该提示每次开机都会出现,直到执行了扫描之后才会消失。更有甚者,有时你已经执行了扫描程序但仍然会跳出提示,让人不胜其烦。

我们发现,如果发生了不恰当的关机,或在系统作业完成之前就弹出驱动器(如U盘),Windows就会在驱动器上存储一个秘密值,该值被称为 "脏位",是一个十六进制值(Windows 8/10有两个值),如果Windows在启动,或插入外部设备时检查到该值,就会运行自动磁盘检查。

我们可以在命令提示符中运行fsutil dirty query 驱动器号:  以确定一个盘符是否被被标记为脏,如果是,开机会自动运行chkkdsk,反之不会。在​​另一篇博客​​里,我们通过手动修改“脏位”的十六进制值来避免自动磁盘检查,效果很好。

虽然在大多数情况下手动重置脏位是最优解决方案,但是在系统盘(如C盘)上却无法做到这点,因为系统盘被锁定了,不允许从Windows内部编辑。为此,我们可以指示Windows不再检查磁盘是否被标记为脏,这样你就永远不会再收到自动检查的请求。

以下是如何在Windows XP、Vista、7、8、10的启动过程中禁用或停止检查磁盘的方法。

有些人建议编辑注册表来做这件事,如果操作得当的确是可以做到,但我们推荐更安全的方式:通过命令提示符中的chkntfs命令使用/x开关来禁止自动检查磁盘启动。这个开关将把一个驱动器从默认的启动时间检查中排除。要进入命令提示符,请转到:

开始 -> 运行(或 Win 键+R) ->键入 cmd,按Ctrl+Shift的同时按回车键,以管理员权限进入命令提示符。

启动时不检查驱动器C和D是否被置dirty bit,也就是不在C和D上运行chkdsk:

chkntfs /x c:d:

将计算机还原为默认行为,任何驱动器被置dirty bit都运行chkdsk:

chkntfs /d

启动时如果C盘被置dirty bit就运行chkdsk:

chkntfs /c c:

以上三条命令已经编写好了批处理,以管理员权限运行,输入目标盘符即完成对应的功能。

​​-批处理​​

hkntfs本身是通过修改系统注册表中的BootExecute的值来工作的,该键值位于:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

BootExecute条目的默认值是:autocheck autochk *

如果在chkntfs中使用/x参数,就在星号之前加上 /k:参数 盘符,这就把该盘符排除在检查是否存在脏位的范围之外。

例如,在命令提示符中运行 "chkntfs /x c: ",该表项的值就变为:

autocheck autochk /k:C *

你也可以把该表项重置为初始的autocheck autochk *,为何要这么做?因为在启动时你可能会看到以下这条常见的错误:

autochk program not found – skipping autocheck

如果自动检查条目被软件破坏或设置不正确就会出现这个提示。虽然这不是非常严重的错误,也不会阻碍计算机启动,但每次启动时总是弹出提示就会很烦人。

以上介绍了启动时避开检查磁盘的方法,但些专家认为最好不要这样做,因为有可能忽略潜在的磁盘问题导致丢失数据。磁盘检查之后可能会生成一些后缀为CHK的文件,比如 File00001.CHK,需要用​​第三方工具​​来识别和恢复。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C# 多线程猜想(cp是什么意思?)
下一篇:Windows下的两个缺陷
相关文章

 发表评论

暂时没有评论,来抢沙发吧~