EXT2檔案系統(資料恢復相關)

2021-04-25 04:18:32 字數 1305 閱讀 9247

[ext2 檔案系統 資料恢復相關]

ext2(第二擴充套件檔案系統)是乙個用於linux核心的檔案系統,它最初是由雷公尺卡設計的擴充套件檔案系統 。雖然ext2不是乙個日誌檔案系統,但其繼任者(ext3)已經提供了日誌的功能,並幾乎完全相容ext2。ext2在一些linux發行版本的作業系統中是預設的檔案系統格式,包括debian和red hat linux作業系統,直至後來被ext3所取代 。 

歷史早期開發的linux核心是模仿minix作業系統而來。自然而然,minix檔案系統被用作最初的linux的預設檔案系統。但是minix檔案系統有很多bug,如檔案大小上限為64兆位元組,檔名的長度限制在14個字元等。由於這些限制,開發一種取代minix檔案系統的擴充套件檔案系統成為了必然。

為了緩解新檔案系統的增加所帶來的問題,並且為了提供乙個通用的api檔案,vfs,一種虛擬檔案系統應用層被新增到linux核心。擴充套件的檔案系統(ext2),於2023年4月發布。ext2檔案系統解決在minix檔案系統遇到的兩個最大的障礙(最大分割槽大小和檔名長度的限制),將限制提公升為最多允許分割槽容納2千兆位元組的資料和檔名最多為255個字元。但是,即便如此,仍然有許多問題存在:沒有支援單獨訪問,修改和inode上的資料修改時間戳。

作為解決這些問題,兩個新的檔案制定了在2023年1月:第二xiafs和延長檔案系統( ext2 ) ,它是全面擴充套件檔案系統,包含許多想法從伯克利快速檔案系統。 ext2也設計了可擴充套件到與空間留在它的許多磁碟上的資料結構,以供將來的版本。

在linux核心2.6之前,在區塊上的限制意味著ext2檔案系統的最大檔案大小2tib 。後來的linux核心允許更大的檔案大小,但32位系統仍僅限於2體tib的檔案大小。

ext2在usb快閃儲存器驅動器和其他固態硬碟上的效能要優於日誌檔案系統。 ext2效能比ext3少寫,因為它並不需要寫日誌。

ext2資料結構

ext2中的空間被分割成資料塊,再由資料塊組織成塊組,類似於unix檔案系統中的柱面組。這樣做是為了減少外部碎片,同時儘量減少磁碟要求時讀寫大量的連續資料塊時的尋道等待時間。每個塊組都有可能包含超級和塊組描述符表的副本,幷包含所有塊組塊位圖,乙個inode上bitmap圖,乙個索引節點表和實際的實際資料塊,以上幾點對於資料恢復來講有著非常重要的意義。超級塊中包含的檔案系統的重要資訊,也正因為如此在檔案系統內部才會有其多個備份。但是,通常只有第乙個副本,才用於啟動時的讀取。即便超級塊已經有了多組備份,但也難免檔案系統不在特殊情況下崩潰,所以對超級塊的恢復只是資料恢復中的初步問題。

檔案系統的限制

理論ext2檔案系統的限制linux下

塊大小: 1 kib 2 kib 4 kib 8 kib

檔案大小: 2tib 8tib 16tib 32tib

ext2檔案系統

ext2磁碟結構 ext2分割槽和ext2分組的分布圖 下圖是借用其他部落格的 塊組中的每個塊包含的資訊 超級快 1個塊 描述該分割槽中的整個檔案系統的資訊,包括有多少個快組,每個快組有多少個塊,多少個索引節點等。組描述符塊 n塊 塊點陣圖 1塊 索引節點位圖 1塊 索引節點 n塊 資料塊 n塊 塊...

Ext2檔案系統

ext2檔案系統的總體布局,如下圖。1檔案系統的最小儲存單元是塊 block 塊的大小一般為512bytes,或者是它的整數倍,塊的大小是在格式化是所確定的。不能修改除非重新格式化。上圖中顯示了檔案系統的總體布局,由乙個boot block和對個block group組成,每個block group...

掛載EXT2檔案系統

檔案系統的安裝主要是通用mount命令來實現的,然後通過系統呼叫由使用者態進入到核心態,把某乙個分割槽下的檔案系統掛載到某乙個目錄下,當然掛載也可以能指定掛載的檔案系統。mount函式通過sys mount函式來實現,其具體函式如下 asmlinkage long sys mount char us...