《FAT文件系統(tǒng)》PPT課件.ppt
《《FAT文件系統(tǒng)》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《FAT文件系統(tǒng)》PPT課件.ppt(54頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 硬盤分區(qū)完成后 就建立起一個(gè)個(gè)相互 獨(dú)立 的邏輯驅(qū)動(dòng)器 這時(shí)如果從軟驅(qū)啟動(dòng)系統(tǒng) 進(jìn)入DOS環(huán)境 在DOS下可以看到DOS分區(qū)的邏輯盤符 這些邏輯盤符代表邏輯驅(qū)動(dòng)器 比如 C D 等 系統(tǒng)一般按26個(gè)英文字母的順序排列 試試鍵入 C 或 D 回車后會看到系統(tǒng)提示 DISKMEDIAERROR 即硬盤介質(zhì)錯(cuò)誤 為什么呢 因?yàn)檫@些邏輯磁盤只是一座座空城 要使用這些城堡 還需要在上面搭建文件系統(tǒng) 這個(gè)過程就是邏輯驅(qū)動(dòng)器的高級格式化 高級格式化一定是針對邏輯磁盤而言的 既不是針對物理硬盤 也不是針對某個(gè)目錄 由于文件系統(tǒng)和邏輯磁盤相對應(yīng) 所以 也可以說高級格式化針對文件系統(tǒng) 本文中邏輯磁盤和邏輯驅(qū)動(dòng)器等價(jià) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 1 用Format格式化硬盤分區(qū) 各DOS邏輯盤的高級格式化可用DOS的高級格式化命令 Format 來完成 高級格式化的主要作用如下 從各個(gè)邏輯盤指定的柱面開始 對扇區(qū)進(jìn)行邏輯編號 分區(qū)內(nèi)的編號 在基本分區(qū)上建立DOS引導(dǎo)記錄 DBR 若命令中帶有參數(shù) S 則裝入DOS的三個(gè)系統(tǒng)文件 在各個(gè)邏輯盤建立文件分配表 FAT 建立根目錄對應(yīng)的文件目錄表 FDT 及數(shù)據(jù)區(qū) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 2 7 4硬盤數(shù)據(jù)存儲區(qū)域 為更深入的了解硬盤 還必須對硬盤的數(shù)據(jù)結(jié)構(gòu)有個(gè)簡單的了解 對于FAT16和FAT32文件系統(tǒng) NTFS采用不同的文件管理技術(shù) 另做介紹 硬盤上的數(shù)據(jù)按照其不同的特點(diǎn)和作用大致可分為5部分 MBR區(qū) DBR區(qū) FAT區(qū) DIR區(qū)和DATA區(qū) 其中 MBR由分區(qū)軟件創(chuàng)建 而DBR區(qū) FAT區(qū) DIR區(qū)和DATA區(qū)由高級格式化程序創(chuàng)建 文件系統(tǒng)寫入數(shù)據(jù)時(shí)只是改寫相應(yīng)的FAT區(qū) DIR區(qū)和DATA區(qū) 也正是這5個(gè)區(qū)域共同作用的結(jié)果 才使整個(gè)硬盤的管理有條不紊 下面對這5個(gè)區(qū)域分別進(jìn)行介紹 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 2 7 4硬盤數(shù)據(jù)存儲區(qū)域 1 MBR區(qū)MBR 即主引導(dǎo)記錄區(qū) 位于整個(gè)硬盤的0磁道0柱面1扇區(qū) 在總共512字節(jié)的主引導(dǎo)扇區(qū)中 MBR的引導(dǎo)程序占用其中的前446個(gè)字節(jié) 偏移0 偏移1BDH 隨后的64個(gè)字節(jié) 偏移1BEH 偏移1FDH 為DPT DiskPartitionTable 硬盤分區(qū)表 最后的兩個(gè)字節(jié) 55AA 偏移1FEH 偏移1FFH 是分區(qū)有效結(jié)束標(biāo)志 由它們共同構(gòu)成硬盤主引導(dǎo)記錄 也稱主引導(dǎo)扇區(qū) 有時(shí)硬盤主引導(dǎo)記錄專指MBR的引導(dǎo)程序 本書中對硬盤主引導(dǎo)記錄和硬盤主引導(dǎo)扇區(qū)不作區(qū)分 查看實(shí)際的MBR 并記住其特征 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 2 7 4硬盤數(shù)據(jù)存儲區(qū)域 2 DBR區(qū)DBR DOSBootRecord 操作系統(tǒng)引導(dǎo)記錄區(qū) 通常位于硬盤0柱1面1扇區(qū) 是操作系統(tǒng)可以直接訪問的第一個(gè)扇區(qū) 它包括一個(gè)引導(dǎo)程序和一個(gè)被稱為BPB BIOSParameterBlock 的本分區(qū)參數(shù)記錄表 引導(dǎo)程序的主要任務(wù)是 當(dāng)MBR將系統(tǒng)控制權(quán)交給它時(shí) 判斷本分區(qū)根目錄前兩個(gè)文件是不是操作系統(tǒng)的引導(dǎo)文件 以DOS為例 即是IO SYS和MSDOS SYS 低版本的DOS要求這兩個(gè)文件必須是前兩個(gè)文件 即位于根目錄的起始處 占用最初的兩個(gè)目錄項(xiàng) 高版本已沒有這個(gè)限制 另外 Windows與DOS是一個(gè)家族 所以Windows也沿用這種管理方式 只是文件名不一樣 如果確定存在 就把IO SYS讀入內(nèi)存 并把控制權(quán)交給IO SYS BPB參數(shù)塊記錄著本分區(qū)的起始扇區(qū) 結(jié)束扇區(qū) 文件存儲格式 硬盤介質(zhì)描述符 根目錄大小 FAT個(gè)數(shù) 分配單元大小等重要參數(shù) 查看實(shí)際的DBR 并記住其特征 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 2 7 4硬盤數(shù)據(jù)存儲區(qū)域 3 FAT區(qū)在DBR之后就是FAT FileAllocationTable 文件分配表 區(qū) 同一個(gè)文件的數(shù)據(jù)并不一定完整地存放在磁盤的一個(gè)連續(xù)的區(qū)域內(nèi) 往往會分成若干段 像一條鏈子一樣存放 這種存儲方式稱為文件的鏈?zhǔn)酱鎯?硬盤上的文件常常要進(jìn)行創(chuàng)建 刪除 增長 縮短等操作 這樣的操作做得越多 盤上的文件就可能被分得越零碎 每段至少是1簇 但是 由于硬盤上保存著段與段之間的連接信息 即FAT 操作系統(tǒng)在讀取文件時(shí) 總是能夠準(zhǔn)確地找到各段的位置并正確讀出 不過 這種以簇為單位的存儲法也是有其缺陷的 這主要表現(xiàn)在對空間的利用上 每個(gè)文件的最后一簇都可能有未被完全利用的空間 稱為尾簇空間 一般來說 當(dāng)文件個(gè)數(shù)比較多時(shí) 平均每個(gè)文件要浪費(fèi)半個(gè)簇的空間 查看實(shí)際的FAT 并記住其特征 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 2 7 4硬盤數(shù)據(jù)存儲區(qū)域 為實(shí)現(xiàn)文件的鏈?zhǔn)酱鎯?硬盤上必須準(zhǔn)確地記錄哪些簇已經(jīng)被文件占用 還必須為每個(gè)已經(jīng)占用的簇指明存儲后繼內(nèi)容的下一個(gè)簇的簇號 對一個(gè)文件的最后一簇 則要指明本簇?zé)o后繼簇 這些都由FAT表來保存 表中有很多表項(xiàng) 每項(xiàng)記錄一個(gè)簇的信息 由于FAT對于文件管理的重要性 所以FAT有一個(gè)備份 即在原FAT的后面再建一個(gè)同樣的FAT 初形成的FAT中 所有項(xiàng)都標(biāo)明為 未占用 如果磁盤有局部損壞 格式化程序會檢測出損壞的簇 在相應(yīng)的項(xiàng)中標(biāo)為 壞簇 以后存文件時(shí)就不會再使用這個(gè)簇 FAT的項(xiàng)數(shù)與硬盤上的總簇?cái)?shù)相當(dāng) 每一項(xiàng)占用的字節(jié)數(shù)也與總簇?cái)?shù)相適應(yīng) 因?yàn)槠渲行枰娣糯靥?FAT的格式有多種 最為常見的是FAT16和FAT32 其中FAT16是指文件分配表使用兩個(gè)字節(jié)即16位表示一個(gè)簇 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 2 7 4硬盤數(shù)據(jù)存儲區(qū)域 由于16位分配表最多能管理65536 即2的16次方 個(gè)簇 而每個(gè)簇的存儲空間最大只有32KB 所以在使用FAT16管理硬盤時(shí) 每個(gè)分區(qū)的最大存儲容量就只有65536 32KB 2048MB 也就是常說的2GB 現(xiàn)在的硬盤容量越來越大 由于FAT16對硬盤分區(qū)的容量限制 所以 當(dāng)硬盤容量超過2GB之后 用戶只能將硬盤劃分成多個(gè)2GB的分區(qū)后才能正常使用 為此微軟公司從Windows95OSR2版本開始使用FAT32標(biāo)準(zhǔn) 即使用32位表示一個(gè)簇的文件分配表來管理硬盤文件 這樣系統(tǒng)就能為文件分配多達(dá)4294967296 即2的32次方 個(gè)簇 所以在簇同樣為32KB時(shí) 每個(gè)分區(qū)容量最大可達(dá)128TB以上 此外 使用FAT32管理硬盤時(shí) 每個(gè)邏輯盤中的簇大小也比使用FAT16標(biāo)準(zhǔn)管理的同等容量的邏輯盤小很多 由于文件存儲在硬盤上占用的磁盤空間以簇為最小單位 所以 某一文件即使只有幾十個(gè)字節(jié)也必須占用整個(gè)簇 因此 邏輯盤的簇單位容量越小越能合理利用存儲空間 所以 FAT32更適用于大容量硬盤 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 2 7 4硬盤數(shù)據(jù)存儲區(qū)域 4 DIR區(qū)DIR Directory 也稱文件目錄表FDT FileDirectoryTable 是根目錄區(qū) 緊接著第二FAT表 即備份的FAT表 之后 記錄著根目錄下每個(gè)文件 目錄 的起始單元 文件的屬性等 定位文件位置時(shí) 操作系統(tǒng)根據(jù)DIR中的起始單元 結(jié)合FAT表就可確定文件在硬盤中的具體位置和大小 查看實(shí)際的DIR 并記住其特征 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 2 7 4硬盤數(shù)據(jù)存儲區(qū)域 5 DATA區(qū)DATA 數(shù)據(jù) 區(qū) 是真正意義上的數(shù)據(jù)存儲的地方 位于DIR區(qū)之后 占據(jù)硬盤上的大部分空間 這5個(gè)區(qū)域在硬盤邏輯分區(qū)上的排列如圖2 58所示 查看實(shí)際的DATA 并記住其特征 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 磁盤 硬盤指邏輯盤 從這里開始除非特別指出物理硬盤 討論的都是邏輯磁盤 討論各分區(qū)內(nèi)的文件系統(tǒng)的管理方式 所有分區(qū)內(nèi)的邏輯扇區(qū) 都從 0 開始編號 直至其最大值 1 涵蓋整個(gè)分區(qū) 的0扇區(qū)叫做DOS引導(dǎo)扇區(qū) 又稱為BOOT區(qū) 由Format 高級格式化 命令將DOS引導(dǎo)記錄 DBR 寫到該扇區(qū) 主要功能是完成系統(tǒng)的自舉 下面分別討論DOS的BOOT和Windows的BOOT 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 3 DOS引導(dǎo)扇區(qū)的結(jié)構(gòu)分析上面讀出的內(nèi)容 可知DOS引導(dǎo)扇區(qū)由以下5個(gè)部分組成 1 跳轉(zhuǎn)指令跳轉(zhuǎn)指令占用兩個(gè)字節(jié) 它將程序執(zhí)行流程跳轉(zhuǎn)到自舉代碼處 如EB3C和EB58 就是跳轉(zhuǎn)到3C和58 JMP3C和JMP58 EB代表匯編語言的JMP 注意該指令本身占用2個(gè)字節(jié) 計(jì)算跳轉(zhuǎn)時(shí)以該指令的下一字節(jié)為基準(zhǔn) 所以實(shí)際執(zhí)行的下一條指令分別位于3E和5A處 從前面硬盤的主引導(dǎo)扇區(qū)的介紹已經(jīng)了解到 DOS引導(dǎo)扇區(qū)是由主引導(dǎo)扇區(qū)的引導(dǎo)程序段讀入并跳轉(zhuǎn)到這里的 緊接著跳轉(zhuǎn)指令的是一條空指令NOP 90 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 2 廠商標(biāo)識和DOS版本號這部分占8個(gè) 03 0A 字節(jié) 其內(nèi)容隨DOS版本不同而略有變化 3 BPB BIOSParameterBlock BIOS參數(shù)塊 BPB從第12 0BH 字節(jié)開始 占用52 0B 3E FAT12 FAT16 或80 0B 5A FAT32 個(gè)字節(jié) 各字節(jié)內(nèi)容及地址分配如表2 14所示 在該部分記錄了磁盤的每扇區(qū)字節(jié)數(shù) 磁頭數(shù) 目錄起始簇等重要信息 該部分的內(nèi)容隨磁盤類型的不同而變化 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 4 DOS引導(dǎo)程序DOS引導(dǎo)程序 即占用448字節(jié) 3E 1FD 或420字節(jié) 5A 1FD 的BOOT代碼 負(fù)責(zé)完成DOS三個(gè)系統(tǒng)文件的裝入 這部分內(nèi)容隨DOS版本不同而略有變化 5 結(jié)束標(biāo)志DBR的結(jié)束標(biāo)志與分區(qū)表的結(jié)束標(biāo)志相同 為 55AA 占用2個(gè)字節(jié) 以上5個(gè)部分共占用512個(gè)字節(jié) 正好是一個(gè)扇區(qū) 因此稱它為DOS引導(dǎo)扇區(qū)或BOOT扇區(qū) 該扇區(qū)的內(nèi)容 除了第5部分結(jié)束標(biāo)志字固定不變外 其余4個(gè)部分都是不確定的 第1 2 4部分都因DOS版本的不同而不同 第3部分 BPB信息 的內(nèi)容也隨DOS版本及磁盤的不同而變化 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 其中 保留扇區(qū) Reservedsectors 是由DOS或Windows指定的被保留用做引導(dǎo)的扇區(qū)數(shù) 早期版本中為1 即BOOT本身占用的1個(gè)扇區(qū) 較新的版本一般為32 除BOOT本身占用的扇區(qū) 一般為1 外 有31個(gè)扇區(qū)保留未用 其中第6扇區(qū)一般是BOOT的備份 在BOOT損壞時(shí) 可用該扇區(qū)覆蓋BOOT扇區(qū)進(jìn)行修復(fù) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 系統(tǒng)隱含扇區(qū) Hiddensectors 是指分區(qū)表中所描述的該分區(qū)的起始扇區(qū) 一般形如某柱面 0 1 至該邏輯磁盤BOOT扇區(qū)之間的扇區(qū)數(shù) 即MBR或虛擬MBR至隨后的邏輯磁盤BOOT之間的扇區(qū)數(shù) 一般為63 注意它與分區(qū)表中隱含扇區(qū)的區(qū)別 硬盤的每一個(gè)分區(qū)都是獨(dú)立的 邏輯驅(qū)動(dòng)器 DOS或Windows將每個(gè)分區(qū)都視為一個(gè)從 0 開始的連續(xù)扇區(qū)塊 每個(gè)分區(qū)的隱含扇區(qū)數(shù)取決于該分區(qū)以前的總扇區(qū)數(shù) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 前面介紹的硬盤分為五個(gè)區(qū)域的情況 指的就是FAT文件系統(tǒng)的情況 NTFS使用和FAT不一樣的管理方式 在后面再介紹 FAT文件系統(tǒng)使用文件分配表 FAT 它是DOS文件管理系統(tǒng)用來記錄每個(gè)文件的存儲位置的表格 以鏈的方式存放簇號 FAT緊接著DOS引導(dǎo)扇區(qū)存放 磁盤上有兩個(gè)FAT 一個(gè)是基本表 另一個(gè)是備份 兩個(gè)表的長度和內(nèi)容相同 每個(gè)FAT所占用的扇區(qū)數(shù)取決于DOS版本 分區(qū)大小 每簇的扇區(qū)數(shù)等因素 其具體所占扇區(qū)數(shù)可參見BPB偏移16H 小于32MB 和24H 大于32MB 處的值 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 磁盤格式化后 用戶文件以簇為單位存放在數(shù)據(jù)區(qū)中 一個(gè)文件至少占用一個(gè)簇 當(dāng)一個(gè)文件占用多個(gè)簇時(shí) 這些簇的簇號不一定是連續(xù)的 但這些簇號在存儲該文件時(shí)就確定了順序 即每個(gè)文件都有其特定的 簇號鏈 在磁盤上的每一個(gè)可用的簇在FAT中有且只有一個(gè)登記項(xiàng) 通過在對應(yīng)簇號的登記項(xiàng)內(nèi)填入 表項(xiàng)值 來表明數(shù)據(jù)區(qū)中的該簇是已占用 空閑或是壞簇三種狀態(tài)之一 損壞的簇可以在格式化過程中 由Format命令發(fā)現(xiàn)并記錄在FAT中 在一個(gè)簇中 只要有一個(gè)扇區(qū)有問題 該簇就不能使用 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 簇號的長度由簇的多少?zèng)Q定 進(jìn)而決定FAT中表項(xiàng)的位數(shù) 現(xiàn)在FAT的位數(shù)有12位 16位和32位三種 FAT表項(xiàng)的位數(shù)與操作系統(tǒng)版本及所用磁盤的容量等有關(guān) 12位表項(xiàng)值可表示4096個(gè)簇 若磁盤的簇?cái)?shù)大于4096 則必須用16位表項(xiàng)值表示 一般來說 小于20740個(gè)扇區(qū) 10MB 的硬盤DOS分區(qū)用12位映射一個(gè)簇 若多于20740個(gè)扇區(qū) 則采用16位的FAT表項(xiàng) 軟盤使用12位的FAT表項(xiàng) 16位的FAT表項(xiàng)最多可表示65535個(gè)簇 一般每簇不多于64個(gè)扇區(qū) 32KB 這樣 采用16位FAT的系統(tǒng)最多只能管理32 65535 2097120KB 2048MB 2GB的磁盤 對于容量超過2GB的大容量硬盤 必須將其劃分成不超過2GB的邏輯盤 如果邏輯盤大于2GB 高級格式化時(shí)又采用FAT16格式 那么 雖然該邏輯驅(qū)動(dòng)器大于2GB 也只能使用前2GB的空間 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 在硬盤主引導(dǎo)扇區(qū)的分區(qū)表中 只有四個(gè)分區(qū)表項(xiàng) 所以無擴(kuò)展分區(qū)硬盤的極限容量是8GB 到了Windows95OSR2版本和Windows98時(shí) 將FAT表項(xiàng)長度增加到32位 稱為FAT32 在FAT32模式下 就是每個(gè)簇只有4KB大小 也依然可以管理4KB 4294967296 表項(xiàng) 17179869184KB 16777216MB 16384GB 16TB的分區(qū) 要想知道系統(tǒng)是否使用FAT32 可在Windows95OSR2或Windows98中查看邏輯盤屬性 選中的 常規(guī) 選項(xiàng)卡 如圖2 66所示 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 如果系統(tǒng)支持FAT32 可以將原FATl6文件系統(tǒng)轉(zhuǎn)換到FAT32 Windows98帶有轉(zhuǎn)換程序 也可以用PartitionMagic進(jìn)行轉(zhuǎn)換 和Fdsik不同 這個(gè)程序不抹去原有數(shù)據(jù)就可實(shí)現(xiàn)轉(zhuǎn)換 對于重要數(shù)據(jù) 還是先做備份以保安全 安裝并運(yùn)行PartitionMagic 選擇 Advanced AdvancedFATProperties 在 PartitionType 中選擇 FAT32 然后單擊 OK 按鈕即可實(shí)現(xiàn)轉(zhuǎn)換 DOS以簇為單位給文件分配磁盤空間 每個(gè)簇在FAT表中占有一個(gè)登記項(xiàng) 所以 在FAT表中 簇編號也是登記項(xiàng)編號 每一個(gè)登記項(xiàng)作為一個(gè)簇的標(biāo)志信息占用一定的字節(jié) 該標(biāo)志信息可取的表項(xiàng)值及其含義如表2 16所示 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 在FAT的簇登記項(xiàng)中 0號登記項(xiàng)和1號登記項(xiàng)是表頭 簇的登記項(xiàng)從2號開始 即磁盤上的第一個(gè)文件從第2簇開始分配 早期DOS版本中 在啟動(dòng)盤上 系統(tǒng)文件IO SYS 或IBMBIO COM 所在的首簇號總是2 綜上所述 FAT的功能主要有如下三點(diǎn) 表明磁盤類型FAT的第0簇和第1簇為保留簇 其中 第0字節(jié) 首字節(jié) 表示磁盤類型 其值與BPB中磁介質(zhì)描述符所對應(yīng)的磁盤類型相同 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 表明一個(gè)文件所占用的各簇的簇鏈分配情況下面以FAT16為例來介紹FAT表項(xiàng)值與簇號的關(guān)系 FAT從0002簇開始分配給文件 表項(xiàng)值0002H FFFFH中的任一值表明文件的下一個(gè)簇號 文件的起始簇號由文件目錄表 FDT 中每個(gè)目錄登記項(xiàng)的第26 27字節(jié)決定 FAT表項(xiàng)中的值既表示一個(gè)簇號 借以表示文件該部分內(nèi)容在磁盤上的位置 又用其值乘以2作為下一個(gè)表項(xiàng)的位置 構(gòu)成一個(gè)FAT鏈 用DEBUG讀出部分FAT表項(xiàng) 低位在前 高位在后 的值并顯示如下 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 其中0002是IO SYS的起始簇號 2 2 4 則自偏移4開始的表項(xiàng)值0003為下一簇 而0003 2 6 即為下一表項(xiàng)的偏移地址 依此類推 直到表項(xiàng)值為FFFFH 表示是該文件的最后一簇 標(biāo)明壞簇和可用簇若磁盤格式化時(shí)發(fā)現(xiàn)壞扇區(qū) 即在相應(yīng)簇的表項(xiàng)中寫入FFF7H 表明該簇的扇區(qū)不能使用 DOS就不會將它分配給用戶文件 磁盤上未用但可用的 空簇 的表項(xiàng)值為0000H 當(dāng)需要存放新文件時(shí) DOS按一定順序?qū)⑺鼈兎峙浣o新文件 雖然FAT記錄了文件所用的磁盤空間信息 但是DOS引導(dǎo)區(qū) 兩個(gè)FAT表 文件目錄區(qū)FDT等磁盤空間并不由FAT中的簇表示 FAT只與DATA區(qū)的空間相對應(yīng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 2 7 4 4文件目錄表用Format命令對磁盤 邏輯盤 進(jìn)行高級格式化的時(shí)候 就已經(jīng)為整個(gè)磁盤建立了一個(gè)根目錄FDT 在根目錄下 用戶可以再創(chuàng)建不同的子目錄或文件 根目錄以及各個(gè)子目錄都有自己的FDT 在具體操作中 DOS規(guī)定用字母C Z代表邏輯盤符 所以DOS簡單地用 盤符 表示根目錄 根目錄的作用是分配根目錄下的所有文件和子目錄的存儲空間 邏輯扇區(qū)號 并通過設(shè)備驅(qū)動(dòng)程序接口確定有效的最大目錄項(xiàng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 1 FAT16的FDT 1 FAT16根目錄中的FDT根目錄下的所有文件及其子目錄 在根目錄的文件目錄表中都有一個(gè) 目錄登記項(xiàng) 每個(gè)目錄登記項(xiàng)占用32個(gè)字節(jié) 分為8個(gè)區(qū)域 提供有關(guān)文件或子目錄的信息 低版本的DOS或Windows系統(tǒng)下 在磁盤中 文件目錄表的起始邏輯扇區(qū)為2 FAT扇區(qū)數(shù) 1 FDT所占用的扇區(qū)數(shù)等于32 根目錄允許的項(xiàng)數(shù) 512 高版本的Windows系統(tǒng)中對根目錄已經(jīng)沒有限制 而是把它作為一個(gè)普通的目錄 或文件 來進(jìn)行管理 由BPB指示其起始扇區(qū) 表2 17是FDT中一個(gè)文件目錄登記項(xiàng)32個(gè)字節(jié)中各字節(jié)的內(nèi)容及含義 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) FAT對每個(gè)文件來說其數(shù)據(jù)結(jié)構(gòu)是一個(gè)單向鏈表 而每個(gè)文件在文件目錄表FDT中占一個(gè)文件目錄項(xiàng) 每個(gè)文件的首簇號就存放在該文件的目錄項(xiàng)的第26 27字節(jié)中 系統(tǒng)根據(jù)這兩個(gè)字節(jié)中的值乘以2得到它在FAT中該文件的單向鏈表的首表項(xiàng) 通過FAT即可找到文件全部內(nèi)容 FDT的文件目錄項(xiàng)中 第0 7字節(jié)為文件名 若有剩余字節(jié)則用空白符20H填充 其中 第1字節(jié)又表明了該文件的狀態(tài) 它有如下三種取值方式 00H 目錄項(xiàng)的空表項(xiàng) 未使用的目錄項(xiàng) E5H 表示該目錄項(xiàng)曾經(jīng)使用過 但文件已被刪除 其他任何合法字符 表示一個(gè)文件名 或子目錄名 的第一個(gè)字符的ASCII碼值 如果是子目錄下的兩個(gè)特殊文件 或 目錄項(xiàng) 其ASCII碼為2EH和2EH2EH 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 2 子目錄結(jié)構(gòu)DOS中采用層次目錄結(jié)構(gòu) 根目錄下可以包含文件和子目錄 子目錄下又可以包含文件或下級子目錄 整個(gè)目錄結(jié)構(gòu)好像一棵倒過來的樹 所以 稱為樹型目錄結(jié)構(gòu) 有些系統(tǒng)對目錄樹的深度有限制 一個(gè)子目錄也占一個(gè)文件目錄項(xiàng) 只不過它的屬性字節(jié)為10H 二進(jìn)制表示為00010000B 文件長度字節(jié)為0 一個(gè)子目錄的內(nèi)容是若干個(gè)文件目錄項(xiàng)或下級子目錄項(xiàng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 當(dāng)前目錄為子目錄時(shí) 使用DIR列文件目錄 通??梢钥吹角皟身?xiàng)特殊文件 表示當(dāng)前子目錄 表示上一級目錄 這兩項(xiàng)同其他子目錄一樣也沒有長度 項(xiàng)所報(bào)告的 首簇號 是子目錄本身的起始簇號 項(xiàng)所報(bào)告的 首簇號 是上一級目錄的起始簇號 如果上一級目錄是根目錄 則該簇號值被置成0 系統(tǒng)利用此結(jié)構(gòu)來實(shí)現(xiàn)目錄之間的雙向聯(lián)系 從而把整個(gè)文件系統(tǒng)聯(lián)系在一起 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 只有當(dāng)文件需要時(shí) 系統(tǒng)才給文件分配數(shù)據(jù)區(qū)空間 存放數(shù)據(jù)的空間按每次一個(gè)簇的方式分配 分配時(shí)系統(tǒng)跳過已分配的簇 第一個(gè)遇到的空簇就是下一個(gè)將要分配的簇 此時(shí)系統(tǒng)并不考慮簇在磁盤上的物理位置 同時(shí) 文件刪除后空出來的簇也可以分配給新的文件 這樣做可使磁盤空間得到有效的利用 可以說 數(shù)據(jù)區(qū)空間的使用是在文件分配表和文件目錄表的統(tǒng)一控制下完成的 每個(gè)文件所有的簇在文件分配表中都是鏈接在一起的 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 下面用Debug命令來顯示D盤的部分目錄內(nèi)容 磁盤的目錄區(qū)起始扇區(qū)號是 2 FAT的扇區(qū)數(shù) 1 其中FAT的長度為CDH 所以 D盤根目錄的起始邏輯扇區(qū)號是2 CDH 1 19BH 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 從顯示結(jié)果可知 ZRM是一個(gè)子目錄 其起始簇號是5BH 一個(gè)文件或子目錄在磁盤上的存儲位置 邏輯扇區(qū)號 是 1 2 FAT的扇區(qū)數(shù) FDT的扇區(qū)數(shù) 起始簇號 2 每簇扇區(qū)數(shù) 所以 ZRM子目錄存放的邏輯扇區(qū)號是 1 2 CDH 20H 5BH 2 20H CDBH 用Debug讀出并顯示其結(jié)果如下 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 可以看到 子目錄ZRM的文件目錄表FDT的前兩個(gè)目錄項(xiàng)中 第一個(gè)目錄項(xiàng)的第0字節(jié)為2EH 第1 10字節(jié)為20H 第11 屬性 字節(jié)為10H 第26 27字節(jié)中的值為005BH 正是子目錄ZRM的首簇號 第二個(gè)目錄項(xiàng)的0 1字節(jié)均為2EH 第26 27字節(jié)內(nèi)容為0000H 表示其上級目錄為根目錄 FAT16的表項(xiàng)分析如圖2 67所示 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 2 FAT32文件系統(tǒng)Windows95OSR2和Windows98支持FAT32文件系統(tǒng) 它是對早期DOS的FATl6文件系統(tǒng)的增強(qiáng) 由于文件系統(tǒng)的核心 文件分配表FAT由16位擴(kuò)充為32位 所以稱為FAT32文件系統(tǒng) 在一邏輯盤 硬盤的一分區(qū) 超過512MB時(shí)使用這種格式 會更高效地存儲數(shù)據(jù) 減少硬盤空間的浪費(fèi) 還會使程序運(yùn)行加快 使用的計(jì)算機(jī)系統(tǒng)資源更少 因此 使用FAT32是使用大容量硬盤的極有效的文件系統(tǒng) 與FATl6文件系統(tǒng)相比 FAT32變化并不大 其中 變化部分有如下7點(diǎn) FAT32文件系統(tǒng)將邏輯盤的空間劃分為三個(gè)部分 依次是引導(dǎo)區(qū) BOOT區(qū) 文件分配表區(qū) FAT區(qū) 和數(shù)據(jù)區(qū) DATA區(qū) 引導(dǎo)區(qū)和文件分配表區(qū)又合稱為系統(tǒng)區(qū) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 引導(dǎo)區(qū)從第一扇區(qū)開始 使用三個(gè)扇區(qū) 實(shí)際只使用了第一個(gè)扇區(qū) 但第二和第三個(gè)扇區(qū)也寫入了 55AA 標(biāo)志 保存有該邏輯盤每扇區(qū)字節(jié)數(shù) 每簇對應(yīng)扇區(qū)數(shù)等重要參數(shù)和引導(dǎo)記錄 之后還留有若干個(gè)保留扇區(qū) 兩者共占用32個(gè)扇區(qū) 而FATl6文件系統(tǒng)的引導(dǎo)區(qū)一般只占用一個(gè)扇區(qū) 沒有保留扇區(qū) 文件分配表區(qū)保存有兩個(gè)相同的文件分配表 因?yàn)槲募加玫拇鎯臻g 簇鏈 及空閑空間的管理都通過FAT來實(shí)現(xiàn) FAT是如此的重要 所以系統(tǒng)保存兩個(gè)以便第一個(gè)損壞時(shí) 還有第二個(gè)備用 文件系統(tǒng)對數(shù)據(jù)區(qū)的存儲空間是按簇進(jìn)行劃分和管理的 簇是空間分配和回收的基本單位 即一個(gè)文件總是占用若干個(gè)整數(shù)簇 文件所使用的最后一簇剩余的空間不再使用 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 從統(tǒng)計(jì)學(xué)上講 平均每個(gè)文件浪費(fèi)0 5簇的空間 簇越大 存儲文件時(shí)空間浪費(fèi)得越多 利用率越低 因此 簇的大小決定了該盤數(shù)據(jù)區(qū)的利用率 FATl6系統(tǒng)簇號用16位二進(jìn)制數(shù)表示 從0002H到FFEFH為可用簇號 FFF0H到FFFFH另有定義 用來表示壞簇 文件結(jié)束簇等 允許每一邏輯盤的數(shù)據(jù)區(qū)最多不超過FFEDH 65518 個(gè)簇 FAT32系統(tǒng)簇號改用32位二進(jìn)制數(shù)表示 大致從00000002H到FFFFFFEFH為可用簇號 FAT表按順序依次記錄該盤各簇的使用情況 是一種位示圖法 這一點(diǎn)和FAT16相同 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 每簇的使用情況用32位二進(jìn)制填寫 未被分配的簇相應(yīng)位置寫零 壞簇相應(yīng)位置填入特定值 已分配的簇相應(yīng)位置填入非零值 具體為 如果該簇是文件的最后一簇 填入的值為FFFFFF0FH 如果該簇不是文件的最后一簇 填入的值為該文件占用的下一個(gè)簇的簇號 這樣 正好將文件占用的各簇構(gòu)成一個(gè)簇鏈 保存在FAT表中 0000000H 00000001H兩簇不使用 其對應(yīng)的兩個(gè)DWORD位置 FAT表開頭的前8個(gè)字節(jié) 用來存放該盤介質(zhì)類型編號 FAT表的大小由該邏輯盤數(shù)據(jù)區(qū)的簇?cái)?shù)決定 取整數(shù)個(gè)扇區(qū) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) FAT32系統(tǒng)一簇對應(yīng)8個(gè)邏輯相鄰的扇區(qū) 理論上 這種用法所能管理的邏輯盤容量上限為16TB 16384GB 容量大于16TB時(shí) 可以用一簇對應(yīng)16個(gè)扇區(qū) 依此類推 但是 對于容量小于512MB的盤 采用FAT32雖然一簇為8個(gè)扇區(qū) 比使用FATl6一簇16個(gè)扇區(qū) 簇有所減小 但FAT32的FAT表較大 占用空間較多 總數(shù)據(jù)區(qū)被減少 兩者相抵 實(shí)際并不能增加有效存儲空間 所以微軟建議對小于512MB的邏輯盤不宜使用FAT32 根目錄區(qū) ROOT區(qū) 不再是固定區(qū)域 固定大小 可看做是數(shù)據(jù)區(qū)的一部分 因?yàn)楦夸浺迅臑楦夸浳募?采用與子目錄文件相同的管理方式 一般情況下從第二簇開始使用 大小視需要增加 因此根目錄下的文件數(shù)目不再受最多512個(gè)的限制 FATl6文件系統(tǒng)的根目錄區(qū) ROOT區(qū) 是固定區(qū)域 固定大小 占用FAT區(qū)之后緊接著的32個(gè)扇區(qū) 最多保存512個(gè)目錄項(xiàng) 是系統(tǒng)區(qū)的一部分 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 目錄區(qū)中的文件目錄項(xiàng)變化較多 一個(gè)目錄項(xiàng)仍占用32字節(jié) 可以是文件目錄項(xiàng) 子目錄項(xiàng) 卷標(biāo)項(xiàng) 僅根目錄有 已刪除目錄項(xiàng) 長文件名目錄項(xiàng)等 目錄項(xiàng)中原來在DOS下保留未用的10個(gè)字節(jié)都有了新的定義 全部32個(gè)字節(jié)的定義如下 0 7字節(jié) 文件名 8 10字節(jié) 文件擴(kuò)展名 11字節(jié) 文件屬性 按二進(jìn)制位定義 最高兩位保留未用 0至5位分別是只讀位 隱藏位 系統(tǒng)位 卷標(biāo)位 子目錄位 歸檔位 當(dāng)只讀位 隱藏位 系統(tǒng)位 卷標(biāo)位全為1 其他位全為0 即11字節(jié)為 0FH 時(shí)表示該項(xiàng)為長文件名記錄項(xiàng) 12 13字節(jié) 僅長文件名目錄項(xiàng)有效 用來存儲其對應(yīng)的短文件名目錄項(xiàng)的文件名字節(jié)校驗(yàn)和 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 13 15字節(jié) 24位二進(jìn)制文件建立時(shí)間 其中高5位為小時(shí) 次6位為分鐘 再次5位的倍數(shù)為秒 最后8位為單位精確到10毫秒的創(chuàng)建秒數(shù) 16 17字節(jié) 16位二進(jìn)制文件建立日期 其中高7位為相對于1980年的年份值 次4位為月份 后5位為月內(nèi)日期 18 19字節(jié) 16位二進(jìn)制文件最新訪問日期 定義同16 17字節(jié) 20 21字節(jié) 起始簇號的高16位 22 23字節(jié) 16位二進(jìn)制文件最新修改時(shí)間 其中高5位為小時(shí) 次6位為分鐘 后5位的倍數(shù)為秒數(shù) 24 25字節(jié) 16位二進(jìn)制文件最新修改日期 定義同16 17字節(jié) 26 27字節(jié) 起始簇號的低16位 28 31字節(jié) 32位文件字節(jié)長度 其中12 19字節(jié)為以后陸續(xù)定義 所有字節(jié)的意義如下 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 對于子目錄項(xiàng) 其長度為零 已刪除目錄項(xiàng)的首字節(jié)值為E5H 在可以使用長文件名的FAT32系統(tǒng)中 文件目錄項(xiàng)保存該文件的短文件名 長文件名用若干個(gè)長文件名目錄項(xiàng)保存 長文件名目錄項(xiàng)倒序排列在文件短目錄項(xiàng)前面 全部采用雙字節(jié)內(nèi)碼保存 每一項(xiàng)最多保存十三個(gè)字符內(nèi)碼 首字節(jié)指明是長文件名的第幾項(xiàng) 11字節(jié)為0FH 12字節(jié)指明類型 13字節(jié)為校驗(yàn)和 26 27字節(jié)為零 以前版本的Windows和DOS與FAT32不兼容 不能識別FAT32分區(qū) 有些程序也依賴于FATl6文件系統(tǒng) 不能在FAT32驅(qū)動(dòng)器下運(yùn)行 將硬盤轉(zhuǎn)換為FAT32格式后 就不能再用雙引導(dǎo)運(yùn)行以前版本的Windows 包括Windows95 Version4 00 950 WindowsNT3 x WindowsNT4 0 Windows3 x等 系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 2 7 4 5DATA區(qū)DATA區(qū)域用于實(shí)際存儲文件數(shù)據(jù) 其組織與管理由系統(tǒng)根據(jù)前面四個(gè)區(qū)域的內(nèi)容來完成 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng) 信息產(chǎn)業(yè)部數(shù)據(jù)恢復(fù)技術(shù)培訓(xùn) 第7講FAT文件系統(tǒng)- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- FAT文件系統(tǒng) FAT 文件系統(tǒng) PPT 課件
鏈接地址:http://m.kudomayuko.com/p-6238751.html