FAT
文件系统原理
(
一
)
一、
硬盘的物理结构:
硬盘存储数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成
(
图
1)
,其中盘片和磁头密封在无尘的金属壳中。
硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据存储或读取出来。当系统向硬盘写入数据时,磁头中 “ 写数据 ” 电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。
硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据存储或读取出来。当系统向硬盘写入数据时,磁头中 “ 写数据 ” 电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。
二、硬盘的逻辑结构。
硬盘由很多盘片 (platter) 组成,每个盘片的每个面都有一个读写磁头。如果有 N 个盘片。就有 2N 个面,对应 2N 个磁头 (Heads) ,从 0 、 1 、 2 开始编号。每个盘片被划分成若干个同心圆磁道 ( 逻辑上的,是不可见的。 ) 每个盘片的划分规则通常是一样的。这样每个盘片的半径均为固定值 R 的同心圆再逻辑上形成了一个以电机主轴为轴的柱面 (Cylinders) ,从外至里编号为 0 、 1 、 2…… 每个盘片上的每个磁道又被划分为几十个扇区 (Sector) ,通常的容量是 512byte ,并按照一定规则编号为 1 、 2 、 3…… 形成 Cylinders×Heads×Sector 个扇区。这三个参数即是硬盘的物理参数。我们下面的很多实践需要深刻理解这三个参数的意义。
硬盘由很多盘片 (platter) 组成,每个盘片的每个面都有一个读写磁头。如果有 N 个盘片。就有 2N 个面,对应 2N 个磁头 (Heads) ,从 0 、 1 、 2 开始编号。每个盘片被划分成若干个同心圆磁道 ( 逻辑上的,是不可见的。 ) 每个盘片的划分规则通常是一样的。这样每个盘片的半径均为固定值 R 的同心圆再逻辑上形成了一个以电机主轴为轴的柱面 (Cylinders) ,从外至里编号为 0 、 1 、 2…… 每个盘片上的每个磁道又被划分为几十个扇区 (Sector) ,通常的容量是 512byte ,并按照一定规则编号为 1 、 2 、 3…… 形成 Cylinders×Heads×Sector 个扇区。这三个参数即是硬盘的物理参数。我们下面的很多实践需要深刻理解这三个参数的意义。
三、磁盘引导原理。
3.1 MBR(master boot record)
扇区:
计算机在按下 power 键以后,开始执行主板 bios 程序。进行完一系列检测和配置以后。开始按 bios 中设定的系统引导顺序引导系统。假定现在是硬盘。 Bios 执行完自己的程序后如何把执行权交给硬盘呢。交给硬盘后又执行存储在哪里的程序呢。其实,称为 mbr 的一段代码起着举足轻重的作用。 MBR(master boot record), 即主引导记录,有时也称主引导扇区。位于整个硬盘的 0 柱面 0 磁头 1 扇区 ( 可以看作是硬盘的第一个扇区 ) , bios 在执行自己固有的程序以后就会 jump 到 mbr 中的第一条指令。将系统的控制权交由 mbr 来执行。在总共 512byte 的主引导记录中, MBR 的引导程序占了其中的前 446 个字节 ( 偏移 0H~ 偏移 1BDH) ,随后的 64 个字节 ( 偏移 1BEH~ 偏移 1FDH) 为 DPT(Disk PartitionTable ,硬盘分区表 ) ,最后的两个字节 “55 AA”( 偏移 1FEH~ 偏移 1FFH) 是分区有效结束标志。
MBR 不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的 MBR ,即使不同, MBR 也不会夹带操作系统的性质。具有公共引导的特性。
我们来分析一段 mbr 。下面是用 winhex 查看的一块希捷 120GB 硬盘的 mbr 。
计算机在按下 power 键以后,开始执行主板 bios 程序。进行完一系列检测和配置以后。开始按 bios 中设定的系统引导顺序引导系统。假定现在是硬盘。 Bios 执行完自己的程序后如何把执行权交给硬盘呢。交给硬盘后又执行存储在哪里的程序呢。其实,称为 mbr 的一段代码起着举足轻重的作用。 MBR(master boot record), 即主引导记录,有时也称主引导扇区。位于整个硬盘的 0 柱面 0 磁头 1 扇区 ( 可以看作是硬盘的第一个扇区 ) , bios 在执行自己固有的程序以后就会 jump 到 mbr 中的第一条指令。将系统的控制权交由 mbr 来执行。在总共 512byte 的主引导记录中, MBR 的引导程序占了其中的前 446 个字节 ( 偏移 0H~ 偏移 1BDH) ,随后的 64 个字节 ( 偏移 1BEH~ 偏移 1FDH) 为 DPT(Disk PartitionTable ,硬盘分区表 ) ,最后的两个字节 “55 AA”( 偏移 1FEH~ 偏移 1FFH) 是分区有效结束标志。
MBR 不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的 MBR ,即使不同, MBR 也不会夹带操作系统的性质。具有公共引导的特性。
我们来分析一段 mbr 。下面是用 winhex 查看的一块希捷 120GB 硬盘的 mbr 。
你的硬盘的
MBR
引导代码可能并非这样。不过即使不同,所执行的功能大体是一样的。
这是wowocock关于磁盘mbr的反编译
,已加了详细的注释,感兴趣可以细细研究一下。
我们看 DPT 部分。操作系统为了便于用户对磁盘的管理。加入了磁盘分区的概念。即将一块磁盘逻辑划分为几块。磁盘分区数目的多少只受限于 C ~<
我们看 DPT 部分。操作系统为了便于用户对磁盘的管理。加入了磁盘分区的概念。即将一块磁盘逻辑划分为几块。磁盘分区数目的多少只受限于 C ~<