檔案 FAT檔案系統分析

2021-06-18 18:11:38 字數 1578 閱讀 1389

一、硬碟儲存結構

硬碟總體儲存圖:

採用希捷硬碟120g,winhex檢視,主引導記錄mbr如下:

硬碟分割槽表,64位元組,分四個分割槽,每個分割槽佔16位。

擴充套件分割槽,就像加入了乙個u盤,第乙個扇區512位元組,為分割槽引導記錄dbr,還有其他。

二、fat檔案儲存基本原理

fat表就是乙個簇號的索引。當目錄或者檔案建立後,目錄表中會有乙個起始的簇號,這時就對應fat表的位置,1個簇有很多扇區,這樣將大的空間對映為小的簇號來管理。

根據目錄表的起始簇號,查fat表,直到找到標記ff ff ff 0f時,說明檔案已經完全找到。

三、根目錄檔案儲存

以4g容量的u盤為例,u盤的名字都寫在u盤裡,以檔案的形式來管理。u盤dbr引導扇區(佔乙個扇區512位元組)、保留扇區、檔案分配表fat1、fat2、根目錄表。差不多是相鄰的。

1、基本原理

引導扇區的0eh處是保留扇區數a,ax扇區位元組數,定位到fat1;//    fat1挨著保留扇區

fat1的偏移+引導扇區的24h處的fat占用扇區處,定位到fat2;//    fat2挨著fat1

根目錄位置= fat2結束位置+(起始簇號-2)x每簇扇區數; //起始簇號一般為2,起始簇號在引導扇區2ch處

注意:fat中,對應0號簇的單元常常是:f8ffff0f,對應1號簇值為:ffffffff或ffffff0f

2、檔案儲存

找到根目錄項後,短檔案採用32個位元組的8.3檔案格式儲存目錄,長檔案會將檔名分割,再連續儲存它,長檔案最後乙個目錄項,是存將長檔案變換成短檔案的目錄。

目錄項的0bh處位元組是0f,代表是長檔案儲存,

其0h處的位元組,後5位代表專案編號,從01、02開始,第6位為1,則說明為最後一項。

目錄及檔案儲存:

檔案儲存對應的結束標記:ff ff ff 0f

u盤新建乙個資料夾是,根目錄會多乙個32位元組的目錄資料結構,同時寫fat表,其所占用的簇號,再分配相應的簇。這時,所分配的簇,又會多兩個目錄項,父目錄和當前目錄(各32位元組)。

3、資料分析

四、總結

1、儲存方式:前面索引塊,後面目錄資訊,通過起始塊號找到索引區,然後一塊一塊資料讀出,即可得到全部資料。

2、目錄路徑時,在windef定義了#define max_path 260 是全路徑最長長度。

3、多出兩個目錄項,參考第5點時,其目錄項儲存結構有問題。

4、字元數目,儲存存不下時,第乙個目錄結構標識後面還有,然後依次讀取。

5、關於目錄結構的變長字元,可以插入'\n'來定位其字串,可參看超級瑪麗原始碼。

參考:1.1、2、fat檔案系統原理-資料恢復

3、fat下長檔案名字

4、fat32檔案系統的儲存組織結構(1)

5、fat32檔案系統的儲存組織結構(2)

1.1 fat下長檔案名字

3、長檔名和短檔名對應關係

hadoop檔案系統分析

hadoop分布式檔案系統 架構和設計 為了容錯,檔案的所有資料塊都會有副本。每個檔案的資料塊大小和副本係數都是可配置的。應用程式可以指定某個檔案的副本數目。副本係數可以在檔案建立的時候指定,也可以在之後改變。通過乙個機架感知的過程,namenode可以確定每個datanode所屬的機架id。乙個簡...

Yaffs 檔案系統分析

1 yaffs檔案系統結構 1.1 簡介 1.1.1 應用場合 yaffs yet another flash file system 檔案系統是專門針對nand快閃儲存器設計的嵌入式檔案系統,目前有yaffs和yaffs2兩個版本,兩個版本的主要區別之一在於yaffs2能夠更好的支援大容量的nan...

SIM卡檔案系統分析

本文出自 hi.baidu.com roooy sim卡全稱為subscriber identity module,它不僅僅能包含使用者的 簿和簡訊息,而且一些智慧型sim卡還包含了乙個微型的處理器晶元和乙個檔案系統在裡面。這個在sim卡裡面的檔案系統是基於iso 7816這個標準來設計而且完全參照...