FAT文件系统原理
FAT文件结构讲解

FAT文件结构讲解FAT(File Allocation Table)是一个用于存储和管理文件在磁盘上的文件系统。
FAT文件系统最初是由Microsoft开发的,适用于DOS和Windows操作系统。
它采用了一种简单的文件结构,使用了FAT表来记录文件在磁盘上的分配情况。
在这篇文章中,我们将详细介绍FAT文件结构的内部工作原理。
引导记录是FAT文件系统的第一个扇区,它包含了文件系统的基本信息和启动引导程序。
引导记录的前11个字节称为“引导码”,用于识别文件系统类型。
接下来的53个字节包含了文件系统的信息,如磁盘大小、簇(Cluster)大小和FAT表的位置。
在FAT12和FAT16文件系统中,引导记录总共占据了62个字节。
FAT表的值表示了簇的状态。
常见的值有以下几种:-0x000:表示簇空闲,没有被分配给任何文件。
-0xFF0-0xFF6(或0xFFF0-0xFFF6):这些值表示保留的簇,用于存储文件系统的元数据。
-0xFF7(或0xFFF7):表示簇坏掉,无法使用。
-0x002-0xFEF(或0x002-0xFEFF):这些值表示簇已被文件分配,并且是有效的。
-0x001-0xFF8(或0x001-0xFFF8):这些值表示簇已被文件分配,但是是最后一个簇,文件结束。
FAT表将所有的簇连接到一起,形成一个链表。
为了遍历这个链表,我们从文件的开始簇(即文件的第一个簇)开始,查找下一个簇的位置,然后再查找下一个簇的位置,直到文件结束。
文件系统使用这个链表来查找文件的数据,因为文件的数据可能分布在磁盘的不同位置。
数据区是存储文件的实际数据的地方。
每个簇都有固定的大小,通常是512字节或4096字节。
文件系统将数据区划分为多个簇,每个簇可以存储一个文件或部分文件的数据。
当文件的大小超过一个簇的大小时,文件系统会从FAT表中查找下一个簇的位置,然后写入文件的下一个簇的数据。
为了提高磁盘访问的效率,FAT文件系统还引入了目录项(Directory Entry)来存储文件和文件夹的相关信息。
FAT文件系统原理

FAT文件系统原理FAT(File Allocation Table)文件系统是一种用于管理磁盘空间和存储文件的文件系统。
它最初由微软公司于1977年开发,广泛应用于早期的个人电脑和移动设备中。
FAT文件系统具有简单、可靠和高兼容性的特点,因此仍被用于许多现代操作系统中。
FAT文件系统的核心原理是使用文件分配表(File Allocation Table)来跟踪文件在存储媒体中的分配情况。
文件分配表是一个表格,用于记录存储媒体上每个存储块(cluster)的分配情况。
存储媒体(如硬盘、闪存等)被划分为一个个固定大小的存储块,文件分配表将这些存储块连接起来以形成文件。
FAT文件系统使用一个文件目录来记录所有文件和目录的相关信息。
每个文件和目录占据一个固定大小(通常为32字节)的目录条目。
每个目录条目包含了文件的名称、大小、起始簇号等信息。
目录条目中有一个特殊的标记,用于表示该条目是否已被删除或者未被使用。
当用户创建一个新文件时,FAT文件系统首先会找到一个未被使用的目录条目来保存文件的信息。
然后,它会从文件分配表中寻找连续的空闲存储块以存储文件的内容,并将这些存储块的索引记录到文件分配表中。
当用户删除一个文件时,FAT文件系统会将对应的目录条目标记为未使用,并将文件分配表中对应的存储块标记为可用。
FAT文件系统的文件访问速度较慢,主要是因为文件分配表的顺序访问会带来一定的开销。
为了加速文件访问,FAT文件系统采用了簇的概念。
一个簇由多个连续的存储块组成,文件的内容被分配到一个或多个簇上。
这样,文件系统可以根据文件的簇号从文件分配表中快速定位到文件的实际存储位置,减少顺序查找的时间。
此外,FAT文件系统还具有很好的兼容性。
它可以在不同的操作系统和硬件平台上使用,并且可以与其他文件系统(如NTFS、EXT等)共存。
这使得FAT文件系统成为许多移动设备、U盘、闪存卡等存储介质的常用文件系统。
总的来说,FAT文件系统通过使用文件分配表来管理存储媒体的空间,并使用目录条目来记录文件和目录的相关信息,实现了简单、可靠和高兼容性的文件管理。
几种文件系统的原理与对比

几种文件系统的原理与对比文件系统是计算机存储管理的一种重要方式,它负责组织和管理计算机文件的存储、命名、访问和保护等操作。
不同的文件系统采用了不同的策略和原理来管理文件的组织和存储,下面将对几种常见的文件系统原理与对比进行详细介绍。
1. FAT文件系统(File Allocation Table)FAT文件系统是最早使用的文件系统之一,它采用了FAT表的概念来管理磁盘上的文件。
在FAT表中,每个文件都分配了一个表项来记录其存储位置信息。
FAT文件系统的优点是简单易用,对于小型存储介质和嵌入式设备较为合适;缺点是文件系统效率低下,不适用于大容量存储设备。
2. NTFS文件系统(New Technology File System)NTFS文件系统是微软开发的,用于Windows操作系统的文件系统,它采用了B+树的索引方式来管理文件。
NTFS的优点在于支持大容量存储设备,具有更高的效率和更好的稳定性,同时支持文件加密、压缩和访问控制等高级功能。
3. EXT文件系统(Extended File System)EXT文件系统是Unix和Linux操作系统常用的文件系统,目前已经发展到EXT4版本。
EXT文件系统使用了索引节点(Inode)的概念来管理文件,每个文件都有一个索引节点,记录了文件的属性和数据块的地址信息。
EXT4文件系统在性能、兼容性和可靠性方面有了很大的改进,支持更大的文件和更高的性能。
4. HFS+文件系统(Hierarchical File System Plus)HFS+文件系统是苹果公司开发的文件系统,用于Macintosh电脑的操作系统。
HFS+文件系统支持大文件和Unicode编码,并且具有日志功能来提高文件系统的可靠性。
HFS+文件系统是一种面向大容量存储的文件系统,适用于苹果设备的特定要求。
在对比几种文件系统时,可以从以下几个方面进行比较:1.空间管理:文件系统应能有效地管理存储设备的空间,提供高效的存储分配和回收策略。
透彻分析FAT文件系统(二)

透彻分析FAT文件系统!(二)四、FAT分区原理。
先来一幅结构图:现在我们着重研究FAT格式分区内数据是如何存储的。
FAT分区格式是MICROSOFT最早支持的分区格式,依据FAT表中每个簇链的所占位数(有关概念,后面会讲到)分为fat12、fat16、fat32三种格式"变种",但其基本存储方式是相似的。
仔细研究图7中的fat16和fat32分区的组成结构。
下面依次解释DBR、FAT1、FAT2、根目录、数据区、剩余扇区的概念。
提到的地址如无特别提示均为分区内部偏移。
4.1 关于DBR.DBR区(DOS BOOT RECORD)即操作系统引导记录区的意思,通常占用分区的第0扇区共512个字节(特殊情况也要占用其它保留扇区,我们先说第0扇)。
在这512个字节中,其实又是由跳转指令,厂商标志和操作系统版本号,BPB(BIOS Parameter Block),扩展BPB,os引导程序,结束标志几部分组成。
以用的最多的FAT32为例说明分区DBR各字节的含义。
见图8。
图8的对应解释见表3图9给出了winhex对图8 DBR的相关参数解释:根据上边图例,我们来讨论DBR各字节的参数意义。
MBR将CPU执行转移给引导扇区,因此,引导扇区的前三个字节必须是合法的可执行的基于x86的CPU指令。
这通常是一条跳转指令,该指令负责跳过接下来的几个不可执行的字节(BPB和扩展BPB),跳到操作系统引导代码部分。
跳转指令之后是8字节长的OEM ID,它是一个字符串,OEM ID标识了格式化该分区的操作系统的名称和版本号。
为了保留与MS-DOS的兼容性,通常Windows 2000格式化该盘是在FAT16和FAT32磁盘上的该字段中记录了“MSDOS 5.0”,在NTFS磁盘上(关于ntfs,另述),Windows 2000记录的是“NTFS”。
通常在被Windows 95格式化的磁盘上OEM ID字段出现“MSWIN4.0”,在被Windows 95 OSR2和Windows 98格式化的磁盘上OEM ID字段出现“MSWIN4.1”。
FAT文件系统分析

FAT文件系统分析FAT文件系统的数据结构中有两个重要的结构:文件分配表和目录项:文件和文件夹内容储存在簇中,如果一个文件或文件夹需要多余1个簇的空间,则用FAT表来秒速如何找到另外的簇。
FAT结构用于指出文件的下一个簇,同时也说明了簇的分配状态。
FAT12、FAT16、FAT32这三种文件系统的主要区别在于FAT项的大小不同。
FAT文件系统的每一个文件和文件夹都被分配到一个目录项,目录项中记录着文件名、大小、文件内容起始地址以及其他一些元数据。
在FAT文件系统中,文件系统的数据记录在“引导扇区DBR”中。
引导扇区位于整个文件系统的0扇区,是文件系统隐藏区域的一部分,我们称其为DBR(DOS Boot Recorder ——DOS引导记录)扇区,DBR中记录着文件系统的起始位置、大小、FAT表个数及大小等相关信息。
在FAT文件系统中,同时使用“扇区地址”和“簇地址”两种地址管理方式。
这是因为只有存储用户数据的数据区使用簇进行管理(FAT12和FAT16的根目录除外),所有簇都位于数据区。
其他文件系统管理数据区域是不以簇进行管理的,这部分区域使用扇区地址进行管理。
文件系统的起始扇区为0号扇区。
FAT32的保留区FAT32文件系统的开始部分有一个由若干扇区组成的保留区,保留区的信息会记录在DBR扇区中,比较常见的为32、34或38个扇区。
引导扇区:引导扇区是FAT32文件系统的第一个扇区,也称DBR扇区。
包含以下基本信息:·每扇区字节数·每簇扇区数·保留扇区数·FAT表个数·文件系统大小(扇区数)·每个FAT表大小(扇区数)·根目录起始簇号·其他附加信息说明:我们可以通过每个FAT表的大小扇区数乘以FAT的个数得到FAT区域的大小;通过保留扇区数和FAT区域的大小就可以得知数据区的起始位置,也即文件系统第一簇的位置。
由根目录的簇号和第一簇的位置就可以得到根目录的位置。
FAT文件系统原理

FAT文件系统原理FAT(File Allocation Table)是一种文件系统,最早由微软公司开发,用于磁盘驱动器的存储和管理。
FAT文件系统的设计目标是简单、高效和可移植,因此得到了广泛应用,尤其是在早期的计算机系统中。
下面是FAT文件系统的原理的详细解释。
FAT文件系统使用文件分配表来跟踪文件在磁盘上的存储位置。
文件分配表是一个记录了文件分配信息的表格,它包含了每个存储块的状态(已分配或未分配),以及下一个块的指针。
文件分配表把磁盘划分为多个存储簇(通常是一个或多个扇区的集合),文件存储在这些存储簇中。
FAT文件系统的核心数据结构是文件分配表。
文件分配表包含两个关键信息:文件分配表项和簇号。
文件分配表项记录了每个存储簇的状态。
常见的状态有:未分配、已分配但没有数据和已分配且有数据。
簇号用来标识文件磁盘上的存储位置,每个文件可以由一个或多个存储簇组成。
文件分配表项中的指针指向下一个簇号,在文件存储过程中,文件系统就是按照这个指针链条来定位文件数据的。
在FAT文件系统中,文件的起始簇号存储在目录项中。
目录项是一个结构,记录了文件的属性、文件名和文件的起始簇号等信息。
簇号指向文件分配表中的对应项,然后根据指针链条逐个访问每个存储簇,直到全部访问完毕,就可以读取或写入整个文件了。
由于每个存储簇的大小是固定的,在读取文件时,可能会出现一些碎片。
碎片是指数据文件被分散地存储在多个存储簇中,而不是连续存储在相邻簇中。
为了避免碎片化,FAT文件系统有一些处理碎片问题的策略。
例如,文件系统会优先将新文件存储在已删除文件的存储簇上,这样可以最大程度地保持簇的连续性,减少碎片。
此外,FAT文件系统也支持磁盘碎片整理工具,用于优化磁盘空间的利用率。
FAT文件系统的一个优势是可移植性。
由于FAT文件系统是一种简单和通用的文件系统,因此可以在不同的操作系统和平台上使用。
它的文件系统结构相对简单,易于实现和理解。
因此,FAT文件系统广泛用于嵌入式设备、移动存储介质和U盘等。
文件系统fat和ntfs的原理

文件系统fat和ntfs的原理文件系统是计算机操作系统中的一部分,用于组织和管理计算机存储设备中的文件和目录。
常见的文件系统有FAT和NTFS两种。
本文将分别介绍FAT和NTFS文件系统的原理和特点。
一、FAT文件系统的原理和特点1. 原理:FAT(File Allocation Table)文件系统是由微软公司开发的一种简单的文件系统。
它使用了文件分配表来追踪磁盘上文件的存储位置。
FAT文件系统使用磁盘上的文件分配表来记录每个文件占用的簇号,并使用链表的方式将这些簇连接起来,从而形成完整的文件。
2. 特点:(1)FAT文件系统具有良好的兼容性,可以在多个操作系统中共享文件。
(2)FAT文件系统的存储结构简单,占用资源少,适用于较小容量的存储设备。
(3)FAT文件系统支持文件和目录的命名,可以对文件进行读写、删除、复制等操作。
(4)FAT文件系统对文件的大小和簇大小有一定的限制,无法支持大文件和大容量存储设备。
(5)FAT文件系统没有对文件进行加密和访问控制的能力,安全性较低。
二、NTFS文件系统的原理和特点1. 原理:NTFS(New Technology File System)文件系统是微软公司开发的一种高级文件系统。
它采用了B+树的数据结构来组织和管理文件和目录。
NTFS文件系统将磁盘空间划分为多个逻辑区域,通过文件记录和索引来管理文件的存储和访问。
2. 特点:(1)NTFS文件系统支持大容量存储设备和大文件,可以处理几TB 甚至PB级别的数据。
(2)NTFS文件系统具有高度的可靠性和稳定性,支持磁盘冗余和数据恢复。
(3)NTFS文件系统支持文件和目录的权限控制,可以对文件进行加密和访问控制。
(4)NTFS文件系统支持文件的压缩和加密,可以节省存储空间并提高数据安全性。
(5)NTFS文件系统支持文件的快照和防止数据损坏,可以提供更好的数据保护和恢复能力。
三、FAT和NTFS文件系统的比较1. 性能比较:FAT文件系统在小容量存储设备上性能较好,但在大容量存储设备上性能较差。
硬盘 FAT 文件系统原理的详细分析

一、硬盤的物理結構:硬盤存儲數據是根據電、磁轉換原理實現的。
硬盤由一個或幾個表面鍍有磁性物質的金屬或玻璃等物質盤片以及盤片兩面所安裝的磁頭和相應的控制電路組成( 圖1) ,其中盤片和磁頭密封在無塵的金屬殼中。
硬盤工作時,盤片以設計轉速高速旋轉,設置在盤片表面的磁頭則在電路控制下徑向移動到指定位置然後將數據存儲或讀取出來。
當系統向硬盤寫入數據時,磁頭中『寫數據』電流產生磁場使盤片表面磁性物質狀態發生改變,並在寫電流磁場消失後仍能保持,這樣數據就存儲下來了;當系統從硬盤中讀數據時,磁頭經過盤片指定區域,盤片表面磁場使磁頭產生感應電流或線圈阻抗產生變化,經相關電路處理後還原成數據。
因此只要能將盤片表面處理得更平滑、磁頭設計得更精密以及盡量提高盤片旋轉速度,就能造出容量更大、讀寫數據速度更快的硬盤。
這是因為盤片表面處理越平、轉速越快就能越使磁頭離盤片表面越近,提高讀、寫靈敏度和速度;磁頭設計越小越精密就能使磁頭在盤片上佔用空間越小,使磁頭在一張盤片上建立更多的磁道以存儲更多的數據。
二、硬盤的邏輯結構:硬盤由很多盤片(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 程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FAT文件系统原理一、硬盘的物理结构:硬盘存储数据是根据电、磁转换原理实现的。
硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(图1),其中盘片和磁头密封在无尘的金属壳中。
硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据存储或读取出来。
当系统向硬盘写入数据时,磁头中“写数据”电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。
因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。
这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。
二、硬盘的逻辑结构。
硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。
如果有N个盘片。
就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。
每个盘片被划分成若干个同心圆磁道(逻辑上的,是不可见的。
)每个盘片的划分规则通常是一样的。
这样每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3……形成Cylinders×Heads×Sector个扇区。
这三个参数即是硬盘的物理参数。
我们下面的很多实践需要深刻理解这三个参数的意义。
三、磁盘引导原理。
3.1MBR(MasterBootRecord)扇区:计算机在按下power键以后,开始执行主板bios程序。
进行完一系列检测和配置以后。
开始按bios中设定的系统引导顺序引导系统。
假定现在是硬盘。
Bios执行完自己的程序后如何把执行权交给硬盘呢。
交给硬盘后又执行存储在哪里的程序呢。
其实,称为mbr的一段代码起着举足轻重的作用。
MBR(masterbootrecord),即主引导记录,有时也称主引导扇区。
位于整个硬盘的0柱面0磁头1扇区(可以看作是硬盘的第一个扇区),bios在执行自己固有的程序以后就会jump到mbr中的第一条指令。
将系统的控制权交由mbr来执行。
在总共512byte的主引导记录中,MBR的引导程序占了其中的前446个字节(偏移0H~偏移1BDH),随后的64个字节(偏移1BEH~偏移1FDH)为DPT(DiskPartitionTable,硬盘分区表),最后的两个字节“55AA”(偏移1FEH~偏移1FFH)是分区有效结束标志。
MBR不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的MBR,即使不同,MBR也不会夹带操作系统的性质。
具有公共引导的特性。
我们来分析一段mbr。
下面是用winhex查看的一块希捷120GB 硬盘的mbr。
你的硬盘的MBR引导代码可能并非这样。
不过即使不同,所执行的功能大体是一样的。
我们看DPT部分。
操作系统为了便于用户对磁盘的管理。
加入了磁盘分区的概念。
即将一块磁盘逻辑划分为几块。
磁盘分区数目的多少只受限于C~Z的英文字母的数目,在上图DPT共64个字节中如何表示多个分区的属性呢?microsoft通过链接的方法解决了这个问题。
在DPT共64个字节中,以16个字节为分区表项单位描述一个分区的属性。
也就是说,第一个分区表项描述一个分区的属性,一般为基本分区。
第二个分区表项描述除基本分区外的其余空间,一般而言,就是我们所说的扩展分区。
这部分的大体说明见表1。
表1图2分区表第一字段字节位移字段长度值字段名和定义0x01BEBYTE0x80引导指示符(BootIndicator)指明该分区是否是活动分区。
0x01BFBYTE0x01开始磁头(StartingHead)0x01C06位0x01开始扇区(StartingSector)只用了0~5位。
后面的两位(第6位和第7位)被开始柱面字段所使用0x01C110位0x00开始柱面(StartingCylinder)除了开始扇区字段的最后两位外,还使用了1位来组成该柱面值。
开始柱面是一个10位数,最大值为10230x01C2BYTE0x07系统ID(SystemID)定义了分区的类型,详细定义,请参阅图40x01C3BYTE0xFE结束磁头(EndingHead)0x01C46位0xFF结束扇区(EndingSector)只使用了0~5位。
最后两位(第6、7位)被结束柱面字段所使用0x01C510位0x7B结束柱面(EndingCylinder)除了结束扇区字段最后的两位外,还使用了1位,以组成该柱面值。
结束柱面是一个10位的数,最大值为10230x01C6DWORD0x0000003F相对扇区数(RelativeSectors)从该磁盘的开始到该分区的开始的位移量,以扇区来计算0x01CADWORD0x00DAA83D总扇区数(TotalSectors)该分区中的扇区总数注:上表中的超过1字节的数据都以实际数据显示,就是按高位到地位的方式显示。
存储时是按低位到高位存储的。
两者表现不同,请仔细看清楚。
以后出现的表,图均同。
也可以在winhex中看到这些参数的意义:说明:每个分区表项占用16个字节,假定偏移地址从0开始。
如图3的分区表项3。
分区表项4同分区表项3。
1、0H偏移为活动分区是否标志,只能选00H和80H。
80H为活动,00H为非活动。
其余值对microsoft而言为非法值。
2、重新说明一下(这个非常重要):大于1个字节的数被以低字节在前的存储格式格式(littleendianformat)或称反字节顺序保存下来。
低字节在前的格式是一种保存数的方法,这样,最低位的字节最先出现在十六进制数符号中。
例如,相对扇区数字段的值0x3F000000的低字节在前表示为0x0000003F。
这个低字节在前的格式数的十进制数为63。
3、系统在分区时,各分区都不允许跨柱面,即均以柱面为单位,这就是通常所说的分区粒度。
有时候我们分区是输入分区的大小为7000M,分出来却是6997M,就是这个原因。
偏移2H和偏移6H的扇区和柱面参数中,扇区占6位(bit),柱面占10位(bit),以偏移6H为例,其低6位用作扇区数的二进制表示。
其高两位做柱面数10位中的高两位,偏移7H组成的8位做柱面数10位中的低8位。
由此可知,实际上用这种方式表示的分区容量是有限的,柱面和磁头从0开始编号,扇区从1开始编号,所以最多只能表示1024个柱面×63个扇区×256个磁头×512byte=8455716864byte。
即通常的8.4GB(实际上应该是7.8GB左右)限制。
实际上磁头数通常只用到255个(由汇编语言的寻址寄存器决定),即使把这3个字节按线性寻址,依然力不从心。
在后来的操作系统中,超过8.4GB的分区其实已经不通过C/H/S的方式寻址了。
而是通过偏移CH~偏移FH共4个字节32位线性扇区地址来表示分区所占用的扇区总数。
可知通过4个字节可以表示2^32个扇区,即2TB=2048GB,目前对于大多数计算机而言,这已经是个天文数字了。
在未超过8.4GB的分区上,C/H/S的表示方法和线性扇区的表示方法所表示的分区大小是一致的。
也就是说,两种表示方法是协调的。
即使不协调,也以线性寻址为准。
(可能在某些系统中会提示出错)。
超过8.4GB的分区结束C/H/S一般填充为FEHFFHFFH。
即C/H/S所能表示的最大值。
有时候也会用柱面对1024的模来填充。
不过这几个字节是什么其实都无关紧要了。
虽然现在的系统均采用线性寻址的方式来处理分区的大小。
但不可跨柱面的原则依然没变。
本分区的扇区总数加上与前一分区之间的保留扇区数目依然必须是柱面容量的整数倍。
(保留扇区中的第一个扇区就是存放分区表的MBR或虚拟MBR的扇区,分区的扇区总数在线性表示方式上是不计入保留扇区的。
如果是第一个分区,保留扇区是本分区前的所有扇区。
3.2扩展分区:扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录(ExtendedBootRecord,EBR),也有人称之为虚拟mbr或扩展mbr,意思是一样的。
扩展引导记录包括一个扩展分区表和该扇区的标签。
扩展引导记录将记录只包含扩展分区中每个逻辑驱动器的第一个柱面的第一面的信息。
一个逻辑驱动器中的引导扇区一般位于相对扇区32或63。
但是,如果磁盘上没有扩展分区,那么就不会有扩展引导记录和逻辑驱动器。
第一个逻辑驱动器的扩展分区表中的第一项指向它自身的引导扇区。
第二项指向下一个逻辑驱动器的EBR。
如果不存在进一步的逻辑驱动器,第二项就不会使用,而且被记录成一系列零。
如果有附加的逻辑驱动器,那么第二个逻辑驱动器的扩展分区表的第一项会指向它本身的引导扇区。
第二个逻辑驱动器的扩展分区表的第二项指向下一个逻辑驱动器的EBR。
扩展分区表的第三项和第四项永远都不会被使用。
通过一幅4分区的磁盘结构图可以看到磁盘的大致组织形式。
如图5:关于扩展分区,如图6所示,扩展分区中逻辑驱动器的扩展引导记录是一个连接表。
该图显示了一个扩展分区上的三个逻辑驱动器,说明了前面的逻辑驱动器和最后一个逻辑驱动器之间在扩展分区表中的差异。
除了扩展分区上最后一个逻辑驱动器外,表2中所描述的扩展分区表的格式在每个逻辑驱动器中都是重复的:第一个项标识了逻辑驱动器本身的引导扇区,第二个项标识了下一个逻辑驱动器的EBR。
最后一个逻辑驱动器的扩展分区表只会列出它本身的分区项。
最后一个扩展分区表的第二个项到第四个项被使用。
表2扩展分区表项的内容扩展分区表项分区表项的内容第一个项包括数据的开始地址在内的与扩展分区中当前逻辑驱动器有关的信息第二个项有关扩展分区中的下一个逻辑驱动器的信息,包括包含下一个逻辑驱动器的EBR的扇区的地址。
如果不存在进一步的逻辑驱动器的话,该字段不会被使用第三个项未用第四个项未用扩展分区表项中的相对扇区数字段所显示的是从扩展分区开始到逻辑驱动器中第一个扇区的位移的字节数。
总扇区数字段中的数是指组成该逻辑驱动器的扇区数目。
总扇区数字段的值等于从扩展分区表项所定义的引导扇区到逻辑驱动器末尾的扇区数。
有时候在磁盘的末尾会有剩余空间,剩余空间是什么呢?我们前面说到,分区是以1柱面的容量为分区粒度的,那么如果磁盘总空间不是整数个柱面的话,不够一个柱面的剩下的空间就是剩余空间了,这部分空间并不参与分区,所以一般无法利用。