小游戏渠道对接平台如何助力企业数字化转型与市场竞争力提升
1683
2022-09-17
不使用CHKDSK,手动重置或清除Windows中的 dirty bit (脏位)
硬盘卷上的dirty bit是一个至今尚未完全解决的谜团,这是隐藏在硬盘上的十六进制值,微软直到最近才公开。
如果文件在打开状态时Windows被硬重置,或者文件尚未完全写入U盘就被拔出,dirty bit就会被保留,Windows据此认为磁盘卷可能有损坏的文件。
计算机在启动时会检查硬盘是否被设置了dirty bit,如果是就会在进入Windows之前检查磁盘的一致性。当然可以按任意键跳过磁盘检查,但下次启动计算机时它会再次出现,直到驱动器被扫描或格式化。或者你可以让Windows 不再检查特定驱动器。但这不会清除dirty bit,只是强制 Windows 在启动时不扫描驱动器而已。
WIN7的提示:
WIN10的提示:
同样,当 U 盘或移动硬盘被设置了dirty bit,插入 Windows 7/10之后也会弹一个窗口,询问:要扫描并修复XX么?
Windows 中有一个名为 fsutil.exe 的工具可用于检查卷是否“脏了”,甚至可用于手动将卷设置为“脏”,这会导致请求扫描驱动器,但奇怪的是它不能清除dirty bit。
为了方便接下来的实验,我们先将U盘置脏位:
可以用两种方法清除dirty bit:进行磁盘检查,或者格式化驱动器(之前先备份数据)。前者会生成一些后缀为CHK的文件,这些文件不知所谓,有可能让你丢失数据,后者更稳妥一些,但如果数据量很大,拷贝文件需要花很多时间。
本文介绍第三种方法。先在 NTFS 和 FAT16/32 文件系统上找到dirty bit,然后再用十六进制编辑器手动清除dirty bit。正如之前所说,dirty bit只是一个十六进制数值。
我们总共尝试了 13 种不同的十六进制编辑器,分别是 wxHexEditor、HxD、010 Editor、CI Hex Viewer、iBored、HexEdit Pro、Hackman Suite、DMDE、Hexprobe、FlexHEX、ADRC Hard Disk Hex Editor、WinHex 和 Hex Workshop。只有 DMDE、WinHex 和 Hex Workshop 能够将数据写回磁盘。HxD 无疑是最容易使用的工具之一,但速度稍慢,因为它需要手动搜索驱动器的某些值。
特别注意:经测试,没有一个十六进制编辑器能编辑系统卷(C:盘)或任何当前正在被使用并被系统锁定的卷,我们在文章底部给出了这个问题的解决方案。
-WinHex
链接: 4v56
清除dirty bit
1.-WinHex,只有注册版才能往硬盘里写回数据。
FATA32卷的dirty bit偏移量是0x41,该位置01为脏卷,置00为干净,所以将其置为00,按Ctrl+W或点软盘按钮写入驱动器,以后将不再提示检查磁盘。
FAT16卷dirty bit的偏移量是0x25,修改方法同上。
03 01 01 00 00 00 00 00 80 00 00 00 18
或者:03 01 81 01 00 00 00 00 80 00 00 00 18
红色部分即dirty bit。
本例是找到了特征串03018101,改8101为8000。
如果找到的特征串是03010100,改为03010000。
dirty bit即被清除,插上U盘不会再提示扫描驱动器了。
据实验,对WIN7、8、10的修改即刻生效,XP需要重启。
怎样修改系统卷/被锁定卷的dirty bit
如果要清除C盘或其它被锁定卷上的dirty bit,可以用WinPE进入系统,然后用WinHex修改,WinPE有很多家,推荐U启通,因为我发现有些WinPE过于精简,无法运行某些EXE文件,比如WinHex。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~