淺談硬盤引導記錄

    最近看了一些關於磁盤主引導記錄方面的書籍與文章博客,總結了一些經驗,與大家一起分享,若是有錯誤之處,望不吝賜教。

    一塊原始的硬盤上面什麼信息都是沒有的,也沒有什麼具體的格式。所以,在使用一塊硬盤前,我們需要把它格式化,格式化爲具體哪一種格式按照具體的需要進行。在這裏,我只談談很常見的FAT、FAT16、FAT32、NTFS等格式。

    當一塊原始的硬盤被初始化爲一種具體的格式,比如NTFS,那麼在磁盤的0柱面0磁道1扇區(就是大家常常聽到的CHS,cylinder=柱面,head=磁頭/軌道,sector=扇區)記錄一些信息,這些信息就是磁盤主引導紀錄,它包括主引導記錄、硬盤分區表和兩個字節的有效標誌(AA55H)組成。

    這裏我們重點說說硬盤分區表。DPT(disk partition table)處在0柱面0磁道1扇區中,由4個表項組成,每個表項佔據16個字節,這16個字節都有具體的含義;每個表項的分別對應描述了一個分區,說的通俗點就是主分區。這也就是爲什麼常常聽說在MBR分區格式中最多只能有4個主分區(我們在爲硬盤分區的時候也可以分成3個主分區與1個擴展分區,或者也可以只有一個主分區與一個擴展分區。在主分區與擴展分區下可以建立若干個邏輯分區)。

    我們知道,一個扇區有512Byte,DPT佔據了64個,有效標誌佔據2個,剩下的446Byte就給了MBR(master bootloader record )。如果想了解MBR的組成,網上有不少資料可以查找。下面說說DPT中表項的內容:

    在表項中:

  第0字節  是否爲活動分區,80H表示活動分區,否則爲00H

  第1字節  該分區的起始磁頭號

  第2字節  該分區的起始扇區號(低6位)和起始柱面號(高2位)

  第3字節  該分區的起始柱面號(低8位)

  第4字節  系統標誌位;00H表示分區未使用0CH、0BH表示FAT32分區;06H表示DOS FAT16分區,05H表示DOS擴展分區;65H表示Netwear分區;02H表示xenix分區;    

                 01H表示FAT12分區;82H表示Linux分區。

  第5字節  該分區結束磁頭號

  第6字節  該分區結束扇區號(低6位)和結束柱面號(高2位)

  第7字節  該分區結束柱面號(低8位)

第8-11字節  該分區前有多少個扇區

以上就是每個表項中的每個字節所代表的含義。

第12-15字節  該分區有多少個扇區


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章