MBR初識

mbr位置:位與0磁道,0磁頭,1扇區。

爲什麼是1扇區呢,因爲扇區的編號是從1開始計算的,mbr就是硬盤的前512字節.0磁道也就是0柱面,0磁道位與硬盤的最磁道,最外磁道的數據比較稀疏,數據可靠性高,所以用來存放關鍵性的代碼。

mbr的作用:系統在啓動進入bios後,首先自檢(post),然後初始化硬件(init),然後掃描硬盤啓動項,掃描到啓動盤後,copy前512字節到內存0x7c00,將控制權交給mbr。這樣系統就開始啓動了。


mbr512字節的組成:一個MBR總共由四個部分組成。

1、主引導程序。負責從活動分區中裝載,並運行系統引導程序。(137字節)

2、數據區。   (309字節)

3、分區表。64字節爲分區項1、分區項2、分區項3、分區項4。(64字節)

4、結束標誌字,偏移地址01FE--01FF的2個字節值爲結束標誌55AA,如果該標誌錯誤系統就不能啓動。(2字節)

0000-0088

Master Boot Record

主引導程序

主引導

程序

0089-01BD

出錯信息數據區

數據區

01BE-01CD

分區項1(16字節)

分區表

01CE-01DD

分區項2(16字節)

01DE-01ED

分區項3(16字節)

01EE-01FD

分區項4(16字節)

01FE

55

結束標誌

01FF

AA


程序流程:

1 將程序代碼由0:7C00H移動到0:0600H(注,BIOS把MBR放在0:7C00H處)

2 搜索可引導分區,即80H標誌

成功:goto 3

失敗:跳入ROM BASIC

無效分區表:goto 5

3 讀引導扇區

失敗:goto 5

成功:goto 4

4 驗證引導扇區最後是否爲55AAH

失敗:goto 5

成功:goto 6

5 打印錯誤進入無窮循環

6 跳到0:7C00H進行下一步啓動工作



最後送給大家一個讀取磁盤數據的命令,可以查看硬盤前512字節的數據,供大家深入瞭解mbr

dd if=/dev/hda of=mbr.bin bs=512 count=1 
od -xa mbr.bin


dd命令是copy磁盤的命令,if輸入文件,of輸出文件,bs一個塊的大小,count讀取塊的數量

od命令和hexdump命令相似,參數x代表16進制,x1代表用一個字符標識,-t標識顯示的format,A標識基質的format

今天到此爲止,好久不寫博客了,好久不進步了,反省ing。。。。。。。。

 

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