主引導扇區

主引導扇區

求助編輯百科名片

引導扇區位於整個硬盤的0磁頭0柱面1扇區,包括硬盤主引導記錄MBR(Master Boot Record)和分區表DPT(Disk Partition Table)。其中主引導記錄的作用就是檢查分區表是否正確以及確定哪個分區爲引導分區,並在程序結束時把該分區的啓動程序(也就是操作系統引導扇區)調入內存加以執行。

編輯本段簡介

一個完整硬盤的數據應該包括五部分:MBR,DBR,FAT,DIR區和DATA區。其中只有主引導扇區是唯一的,其它的隨你的分區數的增加而增加。

編輯本段主引導扇區釋疑

關鍵詞:引導扇區、主引導扇區、主引導記錄硬盤分區表
很多朋友對於硬盤的主引導扇區裏的MBR(Main Boot Record)和DPT
(Disk Partition Table)的區別有些分不太清。於是我想把它寫個簡短的
介紹,希望能對這些朋友有點幫助。
引導扇區在每個分區裏都存在,但是我們常說的*主引導扇區*是硬盤的
第一物理扇區。它由兩個部分組成:即主引導記錄MBR和硬盤分區表DPT。在
總共512字節的主引導扇區裏其中MBR佔446個字節(偏移0--偏移1BDH),DPT
佔64個字節(偏移1BEH--偏移1FDH),最後兩個字節“55,AA”(偏移1FEH
偏移1FFH)是分區的結束標誌。大致的結構如下圖:
|------------------------------------------------|0000  
| |
| |
|                Main Boot Record                |
| |
| |
|               主引導記錄(446字節)            |
| |
| |
| |
| |01BD
|------------------------------------------------|01BE
| |
|            分區信息 1(16字節)                |01CD
|------------------------------------------------|01CE
| |
|             分區信息 2(16字節)               |01DD
|------------------------------------------------|01DE
| |
|             分區信息 3(16字節)                |01ED
|------------------------------------------------|01EE
| |
|             分區信息 4(16字節)               |01FD
|------------------------------------------------|01FE
| |
|                       55 | AA                         |
|------------------------------------------------|01FF
圖一:主引導扇區結構圖
主引導記錄中包含了硬盤的一系列參數和一段引導程序。引導程序主要
是用來在系統硬件自檢完後引導具有激活標誌的分區上的操作系統。它執行
到最後的是一條JMP指令跳到操作系統的引導程序去。這裏往往是引導型病
毒的注入點,也是各種多系統引導程序的注入點。但是由於引導程序本身完
成的功能比較簡單,所以我們可以完全地判斷該引導程序的合法性(看JMP
指令的合法性),因而也易於修復。象命令fdisk/mbr可以修復MBR和KV300
這類軟件可以查殺任意類型的引導型病毒,就是這個原因。
往下來是硬盤的分區表,由4個16字節的分區信息表組成。每個信息表的
結構如下:
偏移 長度 所表達的意義
存貯字節位 內容及含義
第1字節 引導標誌。若值爲80H表示活動分區,若值爲00H表示非活動分區。
第2、3、4字節 本分區的起始磁頭號、扇區號、柱面號。其中:
磁頭號——第2字節;
扇區號——第3字節的低6位;
柱面號——爲第3字節高2位+第4字節8位。
第5字節 分區類型符。
00H——表示該分區未用(即沒有指定);
06H——FAT16基本分區;
0BH——FAT32基本分區;
05H——擴展分區
07H——NTFS分區;
0FH——(LBA模式)擴展分區(83H爲Linux分區等)。
第6、7、8字節 本分區的結束磁頭號、扇區號、柱面號。其中:
磁頭號——第6字節;
扇區號——第7字節的低6位;
柱面號——第7字節的高2位+第8字節。
第9、10、11、12字節 本分區之前已用了的扇區數
第13、14、15、16字節 本分區的總扇區數
最後的兩個標誌“55 AA”是分區表的結束標誌,如果這兩個標誌被修改
(有些病毒就會修改這兩個標誌),則系統引導時將報告找不到有效的分區表
由上面的所列出的結構可以大致地瞭解主引導扇區的結構和用途。下面,
有一些關於主引導扇區的常見問題:
Q1、fdisk/mbr 會不會把硬盤的分區表破壞呀?
A:從上面的圖,我們可以看到fdisk/mbr是不會影響到DPT的。fdisk/
mbr只是把主引導分區裏的MBR部分重新寫過,而不會對DPT有任何破壞。
Q2、在Linux裏有一種方法可以恢復MBR是用如下的命令:dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1 其中bs(buffer size)是指重寫的字節數。爲什麼不是512
呢?主引導扇區是一個扇區(512字節呀)?
A: 答案是因爲我們用上面的命令是爲了修復可能被病毒修改了的主引導記
錄MBR,或者想把LILO卸載掉,而不是恢復整個主引導扇區。所以我們
只把主引導扇區備份文件boot.NNNN的前446個字節重寫入主引導扇區。
boot.NNNN是我們在安裝Linux之前整個主引導分區的備份。如果我們把
512個字節全部寫入主引導扇區就可能會把安裝了Linux後改變了的硬盤
DPT表也破壞掉。那就壞事了。 :-)
linuxrat補充一些:=)...
MBR-> Main/Master Boot Record, 有些書上是寫成Master的.
我認爲可以分成三個部分吧, MBR+DPT+MagicNumber(446+64+2=512)
這也就是爲什麼進行MBR備份的時候要指定bs=512 或者 bs=1k, count=1的原因. 然後恢復時經常看到HOWTO裏面是bs=446 count=1. 這個446就是指令部分的恢復, 不是DPT的恢復. 往往MBR裏面的第一個指令是cli... 研究起來是比較有意思的.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章