我有一个外置 USB 硬盘,但 Windows 7 无法正确将其识别为 USB 设备,而是认为它是一个普通的内置驱动器。因此,它不允许我弹出它,我一直使用一种临时方法,通过计算机管理删除驱动器号,以确保在断开连接时不会访问该驱动器。
问题在于,Windows 经常拒绝让我写入驱动器,因为它认为驱动器被错误地断开了连接。运行 chkdsk 会清除脏卷标志(或它所依赖的任何标志),但它永远不会发现任何实际错误。这是完全没有意义的练习。
我怎样才能阻止 Windows 执行此操作?
答案1
无法将此作为评论添加到 Synetech 的答案中(代表太低),但是你确实可以找到脏位并使用十六进制编辑器清除它。不过,这有点令人毛骨悚然(找到一个看起来像这个的位模式,希望不是实际数据,然后从1
到旋转它0
。)
Linux gparted
/parted
或ntfsresize
显然也知道脏位在哪里,因为当您触摸 NTFS 分区时它们会立即设置它。
答案2
看这一页了解脏位的详细信息。
他们没有明显的方法清除脏位。
这一点得到了许多页面讨论使用fsutil
但最终同意它只能放位,而不是清除它,清除它的唯一方法是运行chkdsk
。该页面继续说
微软从来没有发布过脏位的位置,所以他们陷入了困境。
(这很有趣,因为很久以前,我实际上曾试图确定它的位置,但很快就放弃了。那张纸条激起了我再次找到它的兴趣。)
无论如何,我不建议随意清除脏位。我建议找到一种方法让驱动器按预期工作。首先,您是否在设备管理器中设置了驱动器的策略?打开设备管理器 (devmgmt.msc),双击您的驱动器并Write Caching
在政策选项卡(如果Optimize for quick removal
未被禁用,也选择它)。