什么是磁盘(分区)更改位

昨天想给磁盘的空余空间单独分出一个分区来,于是使用Acronis Disk Director的resize partition实现。结果你猜怎么着,本来数据线就有问题,不知道啥时候突然断开了。大早起来,Resize到了20%,显示disk read error无法继续。插上移动硬盘,结果原本700G的数据只剩下400G,坑爹啊,抓狂……

尝试检查磁盘结果提示“该卷上已设置更改位”,什么是更改位(dirty bit)?之前俺也不知道,下面大家一起科普下。

维基百科词条

a bit is set when a Windows PC is powered on. When powered off as normal, the bit is switched off. However, in case of power outage or improper (forced) shutdown, the bit will still be on the next time the PC is started. Using this method, Windows suggests entering in safe mode when it detects that the system wasn't shut down correctly.

当Windows电脑启动时更改位被设置,但正常关机时,更改位置为关闭。然而由于电源中断或不当(强制)关机,在下次电脑启动时更改位仍存在。通过这种方式,当Windows检测到系统不正常关机时会建议(用户)进入安全模式。

微软官方解释

If a volume's dirty bit is set, this indicates that the file system may be in an inconsistent state. The dirty bit can be set because the volume is online and has outstanding changes, because changes were made to the volume and the computer shutdown before the changes were committed to disk, or because corruption was detected on the volume. If the dirty bit is set when the computer restarts, chkdsk runs to verify the consistency of the volume.

如果分区设置了更改位,说明文件系统可能出于不吻合状态。设置更改位可能是因为分区使用中并发生大的更改,或因为分区已更改,但是在更改执行到磁盘前电脑就关机了,或者检测到分区损坏。设置更改位后,当电脑重启时,chkdsk启动已检查分区的一致性。

Every time Windows XP starts, Autochk.exe is called by the Kernel to scan all volumes to check if the volume dirty bit is set. If the dirty bit is set, autochk performs an immediate chkdsk /f on that volume. Chkdsk /f verifies file system integrity and attempts to fix any problems with the volume.

每次Windows XP启动,内核调用Autochk.exe扫描所有分区来检查是否设置了分区更改位。如果设置了分区更改位,Autochk.exe立即在该分区进行运行chkdsk /f。chkdsk /f命令校验文件系统的完整性,并尝试修复所有分区问题。

提示“该卷上已设置更改位”怎么办?

win+r输入cmd打开命令提示符(Windows vista及win7须管理员权限运行),在命令提示符窗口输入如下命令,注意下面所有的C:修改为你自己的盘符

FSUTIL DIRTY QUERY C:

磁盘正常的情况下,会显示如果提示“卷 – C: 没有损坏”。如果提示“磁盘已设置更改位”,那么输入如下命令:

CHKNTFS /X C:

这样在下次启动时就电脑不会再进行磁盘检查了。

下面使用chkdsk工具进行完整检查并修复磁盘。修复的时间可能会非常长,根据错误程度和磁盘容量来衡量,俺就花了至少5个小时,睡一觉醒来才好的。此期间千万不要断开硬盘或者强制关机,否则情况会更糟。

CHKDSK /F /R C:

什么是磁盘(分区)更改位

上面就是我自己移动硬盘修复的结果,再一看硬盘的数据已经回到原来的700G了!修复完成后,再次输入如下命令:

FSUTIL DIRTY QUERY C:

看看磁盘更改位是不是已经清楚了,提示没有损坏,哈哈!

本文采用CC BY-NC-ND协议进行许可,传播时请保留链接:http://huangzhiqun.com/skill/dirty-bit.html

2,816 次阅读
  1. #1 Ixs童鞋

    :mrgreen: 偶然来到,以后会多多来访

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)

发表评论

五 × 七 =

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

疑惑 调皮 伤心 抠鼻 惊讶 微笑 脸红 坏笑 惊讶 发呆 撇嘴 酷 阴险 咒骂 愤怒 白眼 鼓掌 得意 汗 打呵欠 大哭 憨笑

评论