硬碟分區表詳解

來源:互聯網
上載者:User

人們在使用電腦時,有時由於異常操作,有時由於病毒侵襲,會導致某個分區消失或硬碟無法啟動。究其原因,就是硬碟分區表受損。硬碟分區表可以說是支援硬碟正常工作的骨架.作業系統正是通過它把硬碟劃分為若干個分區,然後再在每個分區裡面建立檔案系統,寫入資料檔案.本文主要講述的是分區表的位置,結構以及各個分區表是如何連結起來的.當掌握了這些知識後,即使分區表受到破壞,一樣也可以根據殘存的資料手工修複分區表,從而修複分區。

一.分區表的位置及識別標誌

分區表一般位於硬碟某柱面的0磁頭 1扇區.而第1個分區表(也即主要磁碟分割表)總是位於

(0柱面,1磁頭,1扇區),剩餘的分區表位置可以由主要磁碟分割表依次推匯出來.分區表有64個位元組,佔據其所在扇區的[441-509]位元組.要判定是不是分區表,就看其後緊鄰的兩個位元組(也即[510-511])是不是 "55AA",若是,則為分區表.

二.分區表的結構

分區表由4項組成,每項16個位元組.共4×16 = 64個位元組.每項描述一個分區的基本資料.每個位元組的含義如下:

分區表項含義

位元組 含義
0 Activeflag.活動標誌.若為0x80H,則表示該分區為使用中的磁碟分割.若為0x00H,則表示該分區為非使用中的磁碟分割.
1,2,3 該分區的起始磁頭號,扇區號,柱面號磁頭號 -- 1位元組, 扇區號 -- 2位元組低6位,柱面號 -- 2位元組高2位 + 3位元組
4 分區檔案系統標誌:
分區未用: 0x00H.

擴充分區: 0x05H, 0x0FH.

FAT16分區: 0x06H.

FAT32分區: 0x0BH, 0x1BH, 0x0CH, 0x1CH.

NTFS分區: 0x07H.
5,6,7 該分區的結束磁頭號,扇區號,柱面號,含義同上.
8,9,10,11 邏輯起始扇區號。表示分區起點之前已用了的扇區數.
12,13,14,15 該分區所佔用的扇區數.

分區表項有幾個位元組比較重要,下面分別闡述之:

1、(1,2,3)位元組

磁頭號由(1)位元組8位表示,其範圍為(0 -- 28 - 1),也即(0 磁頭-- 254磁頭)。

扇區號由(2)位元組低6位表示,其範圍為(0 -- 26 - 1),由於扇區號從1開始,所以其範圍是(1扇區-- 63扇區)。

柱面號由(2)位元組高2位 + (3)位元組,共10位表示,其範圍為(0 --2 10 - 1),也即(0 柱面-- 1023柱面)。

當柱面號超過1023時,這10位依然表示成1023,需要注意。

(5,6,7)位元組含義同上。

2、(8, 9, 10, 11)位元組

如果是主要磁碟分割表,則這4 個位元組表示該分區起始邏輯扇區號與邏輯0扇區(0柱面,0磁頭,1扇區)之差。如果非主要磁碟分割表,則這4 個位元組要麼表示該分區起始邏輯扇區號與擴充分區起始邏輯扇區號之差,要麼為63。詳細情況在後面有所闡述。---www.bianceng.cn

注意:

1、扇區上的位元組是按左邊低位,右邊高位的順序排列的。所以在取值時,需要把位元組再反一下,讓高位位元組在左邊,低位位元組在右邊,這一點在讀取邏輯起始扇區號和分區大小時需要注意。舉個例子:第一項的邏輯起始扇區為(3F 00 00 00),轉換為十進位前要先反一下位元組順序,為(00 00 00 3F)然後在轉換為十進位,即63 .同理分區大小為(3F 04 7D 00),先反為(00 7D 04 3F)再轉換為十進位,即8193087。

2、邏輯扇區號與(柱面,磁頭,扇區)的相互轉換:

令L = 邏輯扇區號,C = 柱面號,H = 磁頭號,S = 扇區號。

每道扇區數 = 63

每柱面磁頭數 = 255

每柱面扇區數 = 每道扇區數* 每柱面磁頭數

= 63 × 255

= 16065

柱面號下標從0開始。磁頭號[0 -- 254],扇區號[1 -- 63]。

邏輯扇區號下標也從0開始。

(柱面,磁頭,扇區)轉換成邏輯扇區號的公式為:

L = C×16065 + H ×63 + S - 1 ;

比如(1柱面,1磁頭,1扇區),其邏輯扇區號為:

L = 1×16065 + 1×63 + 1 - 1

= 16128

邏輯扇區號轉換成(柱面,磁頭,扇區) 公式為:

C = L / 16065

H = (L % 16065) / 63

S = (L % 16065) % 63 + 1

比如邏輯扇區號 16127:

C = 16127 / 16065 = 1

H = (16127 % 16065) / 63 = 0

S = (16127 % 16065) % 63 + 1 = 63

即(1柱面,0磁頭,63扇區)

3、分區表上有四項,每一項表示一個分區,所以一個分區表最多隻能表示4個分區。主要磁碟分割表上的4項用來表示主要磁碟分割和擴充分區的資訊。因為擴充分區最多隻能有一個,所以硬碟最多可以有四個主要磁碟分割或者三個主要磁碟分割,一個擴充分區。餘下的分區表是表示邏輯分區的。

這裡有必要闡述一點:邏輯區都是位於擴充分區裡面的,並且邏輯分區的個數沒有限制。

4、分區表所在扇區通常在(0磁頭,1扇區),而該分區的開始扇區通常位於(1磁頭,1扇區),中間隔了63 個隱藏扇區。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。