磁碟分割槽方式有多種,目前比較主流的是fatntfs,本文記錄下fat16的一些內容。
一、 磁碟的總體結構
物理:乙個機械硬碟由很多碟片組成,乙個碟片有兩個面,對應兩個讀寫磁頭。磁頭以0、1、2... 編號。每個碟片被劃分成多個同心圓磁軌,不同碟片上半徑相同的同心圓構成了乙個柱面,從外至裡編號為 0、1、2...
每個磁軌被劃分為幾十個扇區(sector),一般容量是 512byte(位元組),扇區按照一定規則編號為 1、2、3...
也就是說,乙個硬碟是以扇區為基本單位,有柱面數x磁頭數(盤面數)x每個面上的扇區數 個扇區。
儲存:從前到後,磁碟有以下部分:
1.mbr(master boot record)扇區
位於硬碟的第乙個扇區,bios在執行自己固有的程式以後就會進入到mbr中的第一條指令,mbr分為兩部分:引導**和dpt(硬碟分割槽表),最後以55aa結束。下圖為一塊磁碟的mbr部分,其中選中部分為dpt。在 dpt共64個位元組中,以 16個位元組為分割槽表項單位描述乙個分割槽的屬性。第乙個分割槽表項描述乙個分割槽的屬性,一般為基本分割槽。第二個分割槽表項描述除基本分割槽外的其餘
空間,一般而言,是擴充套件分割槽。
2.保留扇區,一般為62個
3.第乙個分割槽,通常為活動分割槽
4.第二分割槽dpt、保留扇區
5.第二扇區
......
二、fat16分割槽原理
假設前面描述的磁碟第一分區方式為fat16,其結構從前到後如下:
1.dbr
2.fat1
3.fat2
4.根資料夾:32個扇區
5.其他資料夾及檔案,以簇為單位從2開始編號
6.剩餘扇區
1.dbr區(dos boot record)即作業系統引導記錄區
通常占用512位元組,由跳轉指令、廠商標誌、作業系統版本號、bpb(bios parameter block)、擴充套件bpb、os引導程式、結束標誌幾部分組成。下如下圖所示,前三個位元組為跳轉指令,之後8個位元組為廠商標誌和作業系統版本號,之後被選中的53個位元組為bpb,之後的**為擴充套件bpb,引導程式**,結束標誌(55aa)。
bpb部分簡介
1)前兩個位元組為扇區位元組數,圖中乙個扇區為512位元組,為02 00,但是採取小端儲存方式,所以圖中為00 02。其他合法值為1024 、2048 、4096。
2)乙個位元組為每個簇的扇區數,圖中為1.其他合法值為2、4、8、16、32、64 和 128。
3)兩個位元組為保留扇區數,圖中為08 00
4)乙個位元組為fat數,圖為02
5)兩個位元組為根目錄項數,圖為00 02,代表有512項
6)兩個位元組為小扇區數,圖為00 38
7)乙個位元組為**描述符,圖為f8,表示硬碟,0xf0表示高密度的3.5寸軟盤
8)兩個位元組為每個fat表的扇區數,圖為38 00,表示乙個fat表有56個扇區
9)兩個位元組表示每道扇區數,圖為3f 00
10)兩個位元組表示磁頭數,圖為ff 00
11)四個位元組表示隱藏扇區數,圖為80 00 00 00
12)四個位元組表示大扇區數,圖為00 00 00 00,如果小扇區數字段的值不為0,那麼本字段的值為0
13)之後為擴充套件bpb欄位,在此不做展開。
2.fat表+目錄區儲存原理
fat1和fat2的內容相同,作為備份,所以下文直接說fat。
fat是乙個資料表,以 2 個位元組為單位,這個單位稱為fat記錄項,通常情況其第1、2個記錄(前4個位元組)用作介質描述。從第三個記錄項開始記錄除根目錄外的其他檔案及資料夾的簇鏈情況。fat表中兩位元組的取值意義如下表所示:
目錄區中的記錄項以32位元組為單位,這32個位元組的內容如下表所示,根據檔案的首簇號去fat表中尋找檔案的下乙個部分,以此類推,以鍊錶的形式將檔案不連續儲存。
FAT16和FAT32目錄結構分析
fat16和fat32從原理上看是同一類技術,放在一起分析,有助於了解其細節差異 先回歸一下fat16 fat32 分割槽的大致結構如下 從分割槽結構上看,fat16和fat32目錄結構比較不一樣的地方在於 fat16 多了乙個根目錄區,根目錄區由fdt目標表項組成,每乙個分割槽表項佔32位元組 由...
FAT16檔案系統
fat16檔案系統 yoyoone 1.基本知識 扇區 每個磁軌被分為若干個弧段,這些弧段就是扇區。通常情況下,每個扇區512個位元組。簇 fat將磁碟空間按一定數目的扇區為單位進行劃分,這樣的單位稱為簇。簇的大小一般為2的n次方。2.fat16表的組織形式 使用fat檔案系統必須具有幾個部分 保留...
FAT16檔案系統簡介 一
我們在前面已經完成了主引導扇區程式的編寫。通過主引導記錄,我們已經實現了裝入分割槽引導扇區執行的操作。和主引導扇區一樣,分割槽引導扇區也只有區區 512 個位元組,根本不可能放得下所有的 來將以作業系統核心裝入記憶體,完成重定位工作並設定核心的執行環境。應次,分割槽引導扇區也只能做一件事,那就是把真...