日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

浅谈Linux下的EXT3文件系统

發布時間:2025/5/22 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈Linux下的EXT3文件系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【EXT3的基本介紹】

1、EXT3文件系統存儲單位是“塊”,就好比NTFS的“簇”。格式化硬盤或分區時將所有磁盤空間分成若干個大小相同“塊”?!皦K”大小是可以在格式化指定,也可以采用默認的。

2、塊是EXT3文件系統中的數據存儲單元,每個塊都有一個唯一編號,從0開始。0號塊起始于文件系統起始扇區。

3、EXT3文件系統將若干個塊組成“塊組”,每個塊組大小相同。但是由于塊的總數不一定是塊組的整倍數,所以最后一個塊組相對于其他塊組要小。

4、每個塊組都對應一個塊組描述符,這些塊組描述符統一放在文件系統的前面,對塊組進行管理。

5、EXT3文件系統使用“i節點”來記錄文件的時間,大小,塊指針等信息;用目錄項描述文件名和節點號,通過節點號就能訪問其節點信息了。

6、在整個文件系統的頭部,是超級快,用以描述文件系統的綜合信息。


如下是EXT3文件系統的結構圖


【分析超級快】

? ?EXT3的超級塊起始于文件系統的第2號扇區,占用兩個扇區,0-1號扇區被引導程序占用。EXT3的超級快是一個非常重要的扇區,它記錄了文件系統的很多參數。如果超級快損壞文件系統將不可用

如下是超級塊的一些常見參數:

0x00~0x03:文件系統中包含的i節點總數。

0x04~0x07:文件系統中包含的總塊數。

0x08~0x0B:保留塊數,文件系統給自身保留的塊數量。

0x0C~0x0F:空閑塊數,既當前文件系統的可用塊數量。

0x10~0x13:空閑i節點數,當前文件系統的可用i節點數量。

0x14~0x17:第一個數據塊,既0號塊組的起始起始塊號。

0x18~0x1B:塊大小描述值,塊大小=2的N次方*1024字節,N為改參數。

0x1C~0x1F:段大小描述值,與塊大小描述值相同。

0x20~0x23:塊組大小描述值,既每塊組中的塊數量。

0x24~0x27:每塊組中包含的段數,與塊組大小描述符相同。

0x28~0x2B:每塊中包含i節點數。

…………

此處省略部分參數解釋


【分析塊組描述符表】

? ?EXT3文件系統的塊組描述符表起始于超級塊下面的一個塊,每個塊組描述符占32個字節,多個塊組描述符組成了塊組描述符表。如下圖:是使用“Winhex”打開的塊組描述符表。


塊組描述的參數解釋如下:

0x00~0x03:該塊組的塊位圖起始塊號。

0x04~0x07:該塊組的i節點位圖起始塊號。

0x08~0x0B:該塊組的i節點表起始塊號。

0x0C~0x0D:該塊組的空閑塊數,既可用塊數量。

0x0E~0x0F:該塊組的空閑i節點數,既可用i節點數量。

0x10~0x11:該塊組的目錄總數。

0x12~0x13:填充。

0x14~0x1F:未用。

超級塊和塊組描述符表的是非常重要的,如果超級塊或者塊組描述符損壞,會導致文件系統不可以,因此文件系統對他們都有備份。如果文件系統不具有“稀疏超級塊特性”,那么每個塊組中都有超級塊以及塊組描述符;如果文件系統具有“稀疏超級塊特性”,那么只會在3、5、7的冪中才會有備份(如:1、3、5、7、9、25、49等)。


【塊位圖分析】

? ?EXT3文件系統中以塊為存儲單位,若干個塊又組成了一個塊組,在塊組中塊的使用情況用塊位圖來記錄。塊位圖的主要特點如下:

1、每個塊組中都塊位圖,塊位圖的地址在該塊組描述符中有指定。

2、對于含有超級塊、塊組描述表以及它們的備份的塊組,塊位圖位于塊組描述表的下一個塊;否則,則位于塊組的第一個塊。

3、在創建文件系統的時候,系統會將每個塊組中的塊數和塊位圖中的位數設置為相同。因此保證了塊位圖的每一位對應一個塊。

4、塊位圖中的每個字節對應8個塊(1字節=8位),第一個塊對應該字節的最低位(例如:某字節的值為0xFE,轉換成二進制為11111110,則第一個塊對應最低位0)。如果某個塊的對應為沒有設置,那么則表示此塊目前未使用;否則,則表示此塊以使用或者是不可用。

5、計算塊在文件系統中的絕對位置的公式如下:

文件系統的絕對塊號=(當前偏移量-塊位圖的起始位置)* 8 + 塊組在文件系統中的起始位置


【i節點位圖分析】

? ?EXT3文件系統中使用i節點來描述文件的元數據,i節點的使用情況由塊組中的i節點位圖來記錄。i節點位圖的基本特點如下:

1、每個塊組中都有i節點位圖,i節點位圖的地址在該塊組描述符中指定。

2、i節點位圖的位置在塊位圖的下一個塊,和塊位圖一樣,i節點中的每個字節對應8個i節點,第一個i節點對應該字節的最低位。

3、由于i節點位圖的大小小于一個塊,所以i節點的大小需要使用塊組描述符中i節點數除以8得出i節點位圖的大小。

4、i節點從1開始編號,既第一個i節點是1號i節點而不是0號i節點。

5、計算文件系統中絕對i節點公式如下:

文件系統中絕對i節點=(當前偏移量-i節點位圖的起始位置)* 8 + 改塊組的第一個i節點號


【i節點分析】

? ?EXT3文件系統的i節點用來存儲除文件名以外的所有信息,i節點的主要特點如下:

1、文件系統中每個塊組都有自己的i節點,每個文件或目錄占用一個i節點,若干個i節點組成i節點表。

2、i節點位于i節點位圖的下一個塊,在超級塊中記錄了文件傳統中i節點的總數,在塊組描述符中記錄了本塊組i節點的總數。

3、每個i節點的大小為128字節,也可以定義大于128字節的“大i節點”。

4、每個i節點都有編號,第一個i節點編號為1,1~10號i節點為系統保留,2號i節點被分配給根目錄使用。

5、如果已知一個i節點號,計算該i節點所在的塊組公式如下:

(i節點號-1)DIV 每塊組i節點數?

如下:是使用Winhex打開的一個完整的i節點

如下:是各參數的解釋

這里重點解釋一下“直接塊指針”和“間接塊指針”。

? ?在EXT3文件系統中一個有15個塊指針,分別是12直接塊指針、1個間接塊指針、1個二級間接塊指針、1個三級間接塊指針。12個直接塊指針直接指向文件的內容,如果文件的內容大于12個塊,那么第13個間接塊指針所指向的塊記錄直接塊指針而不是文件內容,直接塊指針再指向文件內容。如果間接塊指針也不夠用時,就需要二級間接塊指針了,二級間接指針指向的塊記錄間接塊指針。以此類推,不做多解釋,如果二級間接塊指針還不夠用時就需要三級間接塊指針了。


【分析目錄項】

? ?目錄項用來存放文件或目錄的i節點號、目錄項的長度、文件名等信息,他們存儲在分配給目錄項的塊中。目錄項的主要特點如下:

1、目錄項存儲在目錄區中,i節點內有描述目錄區地址的塊指針。

2、目錄項的長度是不固定,隨文件名的長度不同而不同,文件名最長為255個字符。

3、雖然目錄項的長度不固定,但是其長度一定是4字節的倍數,如果文件名不夠4字節的倍數,則在尾部填0補齊。

4、目錄區中的前兩個項一個是“.”和“..”,分別表示當前目錄和上一級目錄。

5、每個目錄項中有一個長度值指向下一個目錄項,最后一個目錄項的長度則指向本塊的結尾處。

如下:是使用Winhex打開的文件系統根目錄

其中各目錄項的解釋如下:


【分析EXT3文件系統的底層存儲結構】

? ?EXT3文件系統首相被分成若干個塊組,并通過塊組描述符描述這些塊組,所有塊組描述符組成塊組描述表,塊組描述表位于超級塊的下一個塊。文件以塊為單位進行存儲,每個文件都有自己的i節點以及目錄項,i節點中記錄了文件的大小、時間信息、塊指針等信息,而目錄項則記錄了文件的i節點號、文件名等信息。將i節點和目錄項結合起來分析,就可以得出文件的所有信息,并通過塊指針定位到數據存放的地址,塊指針所指向的塊就是文件的內容。

綜合上述,EXT3文件系統可以用一副圖來描述其內部結構。如下圖:

分析EXT3內部存儲結構的步驟如下:

1、讀取超級塊和塊組描述符的參數

超級塊位于2號扇區,從超級塊中可以獲取一下參數。

塊大小、每塊組包含的塊數、每塊組包含的i節點數、i節點大小等等。

塊組描述符位于超級塊的下一個塊,從塊組描述符中可以獲取一下參數。

該塊組i節點表的起始位置等等。

2、讀取i節點表

我們知道1~10號i節點為系統 保留,2號i節點被分配給根目錄使用,所以我們找到2號i節點,根據i節點中的直接塊指針可以找到根目錄。

3、讀取根目錄區

根據i節點的直接塊指針,我們找到了根目錄,我們可以在根目錄項中分析我們需要的目錄i節點,并計算出該目錄所在的塊組。計算公式如下:(目錄i節點號 - 1)DIV 每塊組中的i節點數?

計算出該目錄所在的塊組之后,還需要計算出該i節點號對應該塊組的幾號i節點。計算公式如下:

[(目錄i節點號 - 1)MOD 每塊組中的i節點數 ] + 1

4、讀取子目錄區

根據上述的方法我已經可以定位到子目錄區了,在子目錄中我們可以分析我們需要的子目錄或文件i節點了。如果是文件,則查看i節點內的直接塊指針所指向塊的內容,如果有間接指針,則分析間接指針。如果還有子目錄,則按照上述的方法進行計算塊組,計算塊組中的i節點號即可。


呼...終于寫完了,下班后本來沒打算寫的,后來還是堅持寫下來了。雖然以是凌晨了,不過感覺還是挺值得的。只要堅持,沒有什么事做不到的,相信自己。



本文轉自yun5277 51CTO博客,原文鏈接:http://blog.51cto.com/dengqi/1351708,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的浅谈Linux下的EXT3文件系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产美女一区二区 | 亚洲人在线视频 | 极品销魂美女一区二区 | 成人精品视频一区二区三区尤物 | 夜夜小视频 | 岛国av动作片 | 婷婷色影院 | 人妻在卧室被老板疯狂进入 | 国产污污视频在线观看 | 国产乱真实合集 | 欧美成人免费看 | 色咪咪网站 | 日色视频 | 欧美一区三区二区在线观看 | 国产精品高潮呻吟久久久久久 | 中文字幕日韩av | 91国内视频| 有码一区二区三区 | 九色免费视频 | 豆花视频在线 | 天堂成人在线视频 | 99免费在线观看 | 国产白丝袜美女久久久久 | av不卡免费观看 | 亚洲三级久久 | 精品久久久亚洲 | 天天爽天天爽 | 久久国产香蕉 | 日本成人精品视频 | 爱福利视频一区 | 视频区小说区 | 欧美午夜精品理论片a级按摩 | 少妇2做爰bd在线意大利堕落 | 91精品国产日韩91久久久久久 | 精品一区二区三区蜜臀 | 亚洲在线第一页 | 韩日一区二区 | 寻找身体恐怖电影免费播放 | 亚洲精品中文字幕在线 | 色呦呦在线免费观看 | 欧美操女人 | 人人爱人人 | 草草影院1 | 国产 欧美 日韩 | 别揉我奶头一区二区三区 | 欧美在线不卡视频 | 日韩视频专区 | 五月婷婷一区二区 | 午夜不卡视频 | www一区二区 | 国产黄色录像片 | 免费在线视频一区 | 久久午夜夜伦鲁鲁片 | 亚洲va在线观看 | 色91av| 亚洲精品三区 | 亚洲精品另类 | 韩国女同性做爰三级 | 插我舔内射18免费视频 | 少妇被又大又粗又爽毛片久久黑人 | 先锋资源网av | 噜噜色成人 | 久久综合第一页 | 久免费一级suv好看的国产 | 96精品在线 | 日本美女一级片 | 免费av电影网址 | 少妇一级视频 | 亚洲精品久久久久久无码色欲四季 | 一区二区三区伦理 | av站 | 久久久97 | 日本精品人妻无码免费大全 | 亚洲精品视频在线观看免费 | 美利坚合众国av | 性感av在线 | 美女流白浆视频 | 西方av在线 | аⅴ资源新版在线天堂 | 亚洲精品喷潮一区二区三区 | 日韩成人一区二区三区 | 8090理论片午夜理伦片 | 成人听书哪个软件好 | 丰满秘书被猛烈进入高清播放在 | 亚洲天堂精品一区 | 免费99精品国产自在在线 | 夜夜操av | 黄色国产免费 | 黄色av资源 | 亚洲激情影院 | 美女张开腿露出尿口 | av男人网| 国产精品无码一区二区三区三 | 久色 | 亚洲欧美在线视频观看 | 中文字幕乱码亚洲精品一区 | 亚洲欧美www | 男男play呻吟动漫网站 | 大奶一区二区 |