如何在 Windows 10 上安全地停止 `chkdsk /r /f C:`?

Tid*_*ddo 15 chkdsk windows-10

chkdsk /r /f C:在 Windows 10 上启动了一个,但现在它正在运行,我想取消它。仅关闭计算机电源就有损坏的风险,那么我如何安全地中止它?

Ctrl+C 不是一个选项:我在安装了 Windows 的驱动器上运行 chkdsk /r /f 。这不能在 Windows 运行时完成,只能在启动期间(在 CMD 之外)完成。这不会响应 ctrl+c。

注意:链接的重复问题不一样。这个问题是关于chkdsk 无参数运行,这是安全的,因为它以只读模式运行。这些/r /f标志会导致chkdsk以读写模式运行,因此仅仅终止进程通常是不安全的。它需要优雅地终止。fsck(Linux 等价物)的某些实现可以优雅地停止 - 即使在修复模式下 - 所以理论上绝对应该可以安全地停止一个chkdsk过程。主要问题是:Windows 开发人员是否真的实现了优雅的取消程序,如果是,我该如何触发它?

Ale*_*lex 6

chkdsk进程一旦开始就无法停止。安全的方法是等待它完成。在检查期间停止计算机可能会导致文件系统损坏。

  • 哦来吧!它想要检查 20,000 多个集群,并声称需要 12 个小时以上。我没有*有*12个小时。(需要明确的是,这不是我的启动盘,而是外部 USB 驱动器) (2认同)

Don*_*Joe 1

不确定自哪个版本的 Windows 或 chkdsk 本身以来一直是这种情况,但 Microsoft Learn 页面上说

取消或中断 chkdsk 不应使卷比运行 chkdsk 之前更加损坏

https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/chkdsk?tabs=event-viewer

我相信,

  • 使用 Sysinternals 的 Process Explorer 首先暂停 chkdsk 进程(并监听所有 HDD 噪音的结束)只是为了增加一些安心,然后
  • 打开另一个具有提升权限的cmd窗口并执行“chkdsk /xe:”(使用您自己的驱动程序字母),因为我在其他地方看到了这个建议,并且/x:

如有必要,首先强制卸载卷。所有打开的驱动器句柄均无效。

  • 最后在 Process Explorer 中按下 Del 来真正杀死原来的 chkdsk 进程。

没有发生大灾难,磁盘上到处都有几 kB 的损坏,但总体而言只达到了我预期的比例,因为我已经有 1-1.5 个十年没有刷新大部分数据了。(但我还有第二个副本,在与 Beyond Compare 比较所有内容后,我可以恢复任何内容。)

理想情况下,不要停止 chkdsk,甚至微软似乎也不太确定自己的答案,正如您从他们的措辞中看到的那样:“不应该”让卷进一步损坏。但是,如果风险/收益分析迫使您这样做,我会说尽量保持冷静,尝试将过程分为几个阶段,例如暂停/挂起/卸载/等。(例如,现在我想我应该在暂停进程后尝试关闭Windows,而不是自己杀死它,也许这会更加小心地以文明的方式“停用更多东西”,并以某种方式为最终创造更好的条件终止进程并让 HDD 自己的控制器在断电之前自行进行一些清理)。