幾乎所有的檔案系統都會把磁碟劃分為若干層次以方便組織和管理,這些層次包括:
①扇區(sector):磁碟上的最小資料單元。
②簇(cluster):乙個或多個扇區。
③分割槽(partition):通常指整個檔案系統。
fat12各區分布情況:
fat12引導扇區格式(其中名稱以bpb_開頭的域屬於bpb(bios parameterblock),以bs_開頭的域不屬於bpb,只是引導扇區(boot sector)的一部分): 名稱
偏移長度
內容bs_jmpboot03
乙個短跳轉指令
bs_oemname38
廠商名bpb_bytspersec112
每扇區位元組數
bpb_secperclus131
每簇扇區數
bpb_rsvdseccnt142
boot記錄占用多少扇區
bpb_numfats161
共有多少fat表
bpb_rootentcnt172
根目錄檔案數(條目數)最大值
bpb_totsec16192
扇區總數
bpb_media211
介質描述符
bpb_fatsz16222
每fat扇區數
bpb_secpertrk242
每磁軌扇區數
bpb_numheads262
磁頭數(面數)
bpb_hiddsec284
隱藏扇區數
bpb_totsec32324
如果bpb_totsec16是0,由這個值記錄扇區數
bs_drvnum361
中斷13的驅動器號
bs_reservedl371
未使用bs_bootsig381
擴充套件引導標記(29h)
bs_volid394
卷序列號
bs_vollab
4311
卷標bs_filesystype548
檔案系統型別
引導**及其他
62448
引導**、資料及其他填充字元等
結束標誌
5102
0xaa55
根目錄區位於第二個fat表之後,開始的扇區號為19,它由若干個目錄條目(directory entry)組成,條目最多有bpb_rootentcnt個。由於根目錄區的大小是依賴於bpb_rootentcnt的,所以長度不固定,根目錄區中的每乙個條目占用32位元組。
根目錄區中的條目格式:
名稱偏移
長度描述
dir_name
00xb
檔名8位元組,副檔名3位元組
dir_attr
0xb1
檔案屬性
保留位0xc
10保留位
dir_wrttime
0x16
2最後一次寫入時間
dir_wrtdate
0x18
2最後一次寫入日期
dir_fstclus
0x1a
2此條目對應的開始簇號
dir_filesize
0x1c
4檔案大小
比較重要的就是dir_fstclus這一項,它告訴我們檔案存放在磁碟的什麼位置,從而讓我們可以找到它。軟盤中一簇只包含乙個扇區。資料區的第乙個簇的簇號是2,而不是0或者1。
讀寫U盤 FAT32 引導扇區
看了 自己動手寫作業系統 後,也想自己打造乙個迷你作業系統,但是書中使用的軟盤現在基本已經絕跡了,而u盤成為一種喜聞樂見的工具。因此想將作業系統寫入u盤中,而讀寫u盤的引導扇區成為成功的關鍵。將u盤格式化為fat32檔案系統,要讀寫u盤的引導扇區,需要首先了解fat32的格式。它包含四個部分 保留扇...
檔案系統 FAT12
fat12是dos時代使用的檔案系統,適用於軟盤等小容量儲存介質。其特點 小容量,最大為4.1mb 以簇為單位,最大簇數4084 每個fat表項佔12bits,所以稱之為fat12 每個扇區預設512位元組 根據容量不同,每個簇有1至4個扇區。fat表2 如果存在 是fat表1的備份。根目錄最多包涵...
RedHat6 5引導過程與MBR扇區修復
實驗目標 1了解linux系統的引導過程 2 學會解決常見的啟動類故障 實驗環境 1 vmware虛擬機器 2 redhat6.5系統 實驗原理 1 linux系統引導過程分為一下幾種 開機自檢 伺服器開機後對硬體的檢測,比如 cpu 記憶體 顯示卡 當檢測成功就會後就會移交系統控制權 mbr引導 ...