深入解析Windows磁盘扫描程序

深入解析Windows磁盘扫描程序,第1张

深入解析Windows磁盘扫描程序,第2张

用户熟悉Windows 9x的ScanDisk。不仅可以在Windows 9x的“程序→附件→系统工具”中看到,当你在非正常关机后重启电脑时,它会自动运行并“不知疲倦”地扫描你的磁盘。

那么,Windows ScanDisk扫描到底是什么?当然,扫描磁盘以查找错误并纠正它们。但是,磁盘会出现什么错误呢?

常见的磁盘错误有两种:“丢失文件碎片”和“交叉链接文件”。我们可以在ScanDisk中验证:在Windows 98中启动ScanDisk后,点击高级按钮打开ScanDisk的高级选项对话框,在这个对话框中我们可以看到ScanDisk扫描的对象。

什么是“丢失的文件碎片”

严格来说,“丢失的文件碎片”应该叫做“丢失的簇”。所谓“丢簇”,就是操作系统(比如Windows)认为这个簇的磁盘空已经被某个文件占用了,但实际上这个簇没有被任何文件使用。因为操作系统认为这个簇已经被占用了,所以当要保存一个新文件时,操作系统不会把这个簇分配给新文件,这个簇就相当于“丢失”了。

知识:集群

集群是系统中读写文件的基本单位。也就是说,当你保存一个文件到磁盘或者打开一个已有的磁盘文件时,系统以簇的形式读写。对于3.5英寸的软盘,簇的大小是固定的,正好等于一个扇区(512字节);对于硬盘来说,要看硬盘的分区大小:分区越大,这个分区的簇就越大(簇可以是32KB,也就是16384字节)。如果在这样的分区中保存一个只有一个字节长度的文件,因为系统是以簇的形式给这个文件分配disk 空空间,所以这个文件也占用了一个簇的disk 空空间。

为什么会有「失落的集群」?因为磁盘中的每个簇都有一个编号,叫做簇号;存储在磁盘上的文件所占用的簇的簇号被记录在FAT表(文件分配表)中。假设我们删除了一个磁盘文件,正常情况下,FAT表应该会释放这个文件占用的簇,并将这些簇重新标记为未占用。但是由于某种原因,这个文件原来占用的簇在FAT表中没有被释放,就会造成这些簇不能再分配给其他文件的情况,这些簇就相当于丢失了。

知识:胖表

FAT表是操作系统用来记录磁盘上簇的使用情况的“东西”。而且软盘和硬盘的每个分区都有自己的FAT表。操作系统在FAT表中记录磁盘上的任何簇当前是否被文件占用。因此,当我们要在磁盘上保存一个文件时,操作系统可以通过FAT表知道哪些簇已经被占用,哪些簇没有被占用,并从未被占用的簇中为这个文件分配所需的簇。

什么是“交叉链接文件”

“交叉链接文件”也是出现频率较高的磁盘错误。操作系统以集群为基本单位为文件分配磁盘空。一个文件可以占用一个或多个簇,但是一个簇同时只能分配给一个文件(不管这个文件是否占用这个簇)。所谓“交叉链接文件”是指两个或两个以上的文件在disks 空之间使用同一个集群,从而导致这些文件在这个集群上交叉。在这种情况下,该集群的内容可能属于几个交叉链接文件中的一个,或者它可能根本不属于任何文件。

磁盘出错的原因很多,也很复杂,比如病毒攻击、突然断电、非正常关机、磁盘的物理缺陷等等。客观来说,磁盘错误是不可避免的,纠正磁盘错误并不难。除了Windows的ScanDisk和Chkdsk工具(适用于Windows XP),还有很多相关的工具和软件可以纠正磁盘错误,比如诺顿磁盘医生。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 深入解析Windows磁盘扫描程序

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情