在mbr磁碟上,每個邏輯分割槽都對應有乙個資料結構,它類似於主引導記錄mbr,占用乙個扇區的空間,通常稱為ebr。在ebr中,只有分割槽表中的前兩項以及結束標誌0xaa55有效。ebr分割槽表的第一項表明當前邏輯分割槽的偏移位址,第二項表明下乙個邏輯分析ebr的開始位置。邏輯分割槽的管理類似於資料結構中的鍊錶,第乙個節點由煉表頭指定,即mbr分割槽表中的擴充套件分割槽指定了第乙個邏輯分割槽ebr的開始位置,之後每個節點中都有乙個屬性表明下乙個節點的位址。ebr的原理如下圖所示。
如上圖所示的3個邏輯分割槽中,如果需要讀取分割槽3中的資料,系統會採取如下流程:
1:讀入磁碟mbr扇區,查詢分割槽表中是否存在型別為5的擴充套件分割槽,並記錄擴充套件分割槽的偏移位址;
2::跳轉到擴充套件分割槽的第乙個ebr扇區,該ebr的第二項記錄了第二個邏輯分割槽ebr的位址;
3:讀取第二個ebr扇區,該ebr的第二項記錄了第三個邏輯分割槽的ebr位址;
4:跳轉到第三個ebr扇區處,讀取第乙個分割槽表項,該項中分割槽開始偏移記錄了該邏輯分割槽到本ebr之間的偏移距離。
5:讀取第三個邏輯分割槽的內容。
在這個過程中,必須要注意的是,
ebr中分割槽表項開始位址是相對位址,而
mbr中的分割槽開始位址則是相對於磁碟扇區
0的絕對偏移位址。例如,對於上圖中的第乙個邏輯分割槽
ebr,其中的第一項表示當前邏輯分割槽,其開始偏移指的是相對於該
ebr的偏移,如
ebr的位址是
0x10000
,且ebr
指定邏輯分割槽開始偏移為
0x800
,那麼該邏輯分割槽相對於磁碟扇區
0的絕對開始位置為
0x10800
。另外,
ebr中的第二個分割槽表項指向下乙個邏輯分割槽
ebr的位址,它和第一項有所不同,它是相對於主擴充套件分割槽的開始偏移的相對位置。如
mbr中記錄了擴充套件分割槽的開始位置為
0x100000
,且ebr
中第二項開始偏移為
0x10000
,那麼下乙個邏輯分割槽
ebr相對於磁碟扇區
0的絕對偏移為
0x110000
。只要注意
ebr中兩個分割槽表項的開始位置的計算方式不同,就能夠很容易的獲取每個邏輯分割槽的位址和大小。
本文出自 「jsl_mes」 部落格,請務必保留此出處
磁碟結構簡介
今天在學習 鳥哥的linux私房菜 時,鳥哥講到了磁碟結構,看得我雲裡霧裡的。索性網上搜尋,看到一篇比較好的博文,主要是圖例比較精準,結合文字描述很快就搞明白了。這裡講的主要是網上所謂的老式磁碟,它是由乙個個碟片組成的,我們先從個碟片結構講起。如圖1所示,圖中的一圈圈灰色同心圓為一條條磁軌,從圓心向...
磁碟結構簡介
今天在學習 鳥哥的linux私房菜 時,鳥哥講到了磁碟結構,看得我雲裡霧裡的。索性網上搜尋,看到一篇比較好的博文,主要是圖例比較精準,結合文字描述很快就搞明白了。這裡講的主要是網上所謂的老式磁碟,它是由乙個個碟片組成的,我們先從個碟片結構講起。如圖1所示,圖中的一圈圈灰色同心圓為一條條磁軌,從圓心向...
磁碟結構簡介
今天在學習 鳥哥的linux私房菜 時,鳥哥講到了磁碟結構,看得我雲裡霧裡的。索性網上搜尋,看到一篇比較好的博文,主要是圖例比較精準,結合文字描述很快就搞明白了。這裡講的主要是網上所謂的老式磁碟,它是由乙個個碟片組成的,我們先從個碟片結構講起。如圖1所示,圖中的一圈圈灰色同心圓為一條條磁軌,從圓心向...