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