Winhex查看MBR以及MBR內容結構的介紹_第1頁
Winhex查看MBR以及MBR內容結構的介紹_第2頁
Winhex查看MBR以及MBR內容結構的介紹_第3頁
Winhex查看MBR以及MBR內容結構的介紹_第4頁
Winhex查看MBR以及MBR內容結構的介紹_第5頁
已閱讀5頁,還剩8頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、硬盤(U盤、移動硬盤)MBR、DBR簡介http://819671119./blog/static/128457552200982433422268/一、幾個概念

BIOS(BasicInput/OutputSystem)

基本輸入輸出系統,全稱是ROM-BIOS,是只讀存儲器基本輸入/輸出系統的簡寫,它實際是一組被固化到電腦中,為電腦提供最低級最直接的硬件控制的程序。

CMOS(ComplementaryMetalOxideSemiconductor)

本意是指互補金屬氧化物半導體,一種大規模應用于集成電路芯片制造的原料,在計算機領域,CMOS常指保存計算機基本啟動信息(如日期、時間、啟動設置等)的芯片。

CMOS的功耗很低,計算機主板上一個紐扣電池就可以給它長時間地提供電力,即使系統掉電,信息也不會丟失。而當主板電池供電不足時CMOS的信息會丟失,此時啟動機器會有一些特殊的現象,如啟動時提示CMOS參數丟失需重新設置,甚至機器黑屏,不能啟動,更換主板上的紐扣電池即恢復正常。

有時人們會把CMOS和BIOS混稱,其實CMOS是主板上的一塊可讀寫的RAM芯片,是用來保存BIOS的硬件配置和用戶對某些參數的設定。而對CMOS中各項參數的設定要通過專門的程序,現在多數廠家將CMOS設置程序做到了BIOS芯片中,在開機時通過按下某個特定鍵就可進入CMOS設置程序而非常方便地對系統進行設置,因此這種CMOS設置又通常被叫做BIOS設置。

ESCD(ExtendedSystemConfigurationData)

擴展系統配置數據,ESCD是系統BIOS用來與操作系統交換硬件配置信息的一種手段,這些數據被存放在CMOS(一小塊特殊的RAM,由主板上的電池來供電)之中,通常ESCD數據只在系統硬件配置發生改變后才會更新

扇區(Sector)

硬盤劃分的最小單位,一個扇區固定為512個字節(Byte)

MBR(masterbootrecord)

即主引導記錄,有時也稱主引導扇區。位于整個硬盤的0扇區(硬盤的0~62即前63個扇區為保留扇區,目前只有MBR占用其中的第一個或前幾個扇區),可以看作是硬盤的第一個扇區,通常只占用這一個扇區,如XP的MBR,grub4dos占用0~17共18個扇區

DBR(DOSbootrecord)

即操作系統引導記錄區,也稱分區的主啟動代碼,位于分區的第0扇區,通常只占用這一個扇區,特殊情況也要占用其它保留扇區,而grub4dos如果是寫入硬盤MBR方式則不修改也不使用DBR

以H結尾或以0x開頭的數字表示該數字為十六進制數

二、主機啟動過程

1.內部電源打開,初始化,等待一小段時間用來產生穩定的電流。如果主板芯片和CPU收到了不符合規定的電流,將自動產生一個RESET信號。在主板沒有收到電源的PowerGood信號之前,重復步驟1

2.執行BIOS中0FFF0h處的代碼。這里只有一條JMP指令,將跳轉到真正的BIOS啟動程序處

3.BIOS開始加電自檢(Power-OnSelfTest,POST),如果出現錯誤,啟動停止

4.BIOS開始尋找顯卡,找到的話將執行顯卡的BIOS,接著顯卡初始化,將顯示一段顯卡信息,我們開機看到的第一屏就是它

5.BIOS開始執行所有其他設備的BIOS,包括軟驅,硬盤、光驅等

6.BIOS顯示啟動信息

7.BIOS開始額外的檢測。一般有內存檢測,如果內存有問題,將顯示錯誤消息

8.BIOS探測所有的硬件,將顯示如硬盤、光驅信息等

9.BIOS給出一個已知硬件的列表

10.BIOS更新ESCD

10.BIOS按照設置的驅動器順序找驅動器,如果驅動器存在的話繼續找MBR,如果找不到驅動器,系統顯示錯誤信息并停止

11.MBR從分區表中找到第一個活動分區(分區描述中第一個字節為80H),然后讀取并執行這個活動分區的分區引導記錄,而分區引導記錄將負責引導系統(如XP)

步驟11中若為grub4dosMBR則依次查找各個分區的根目錄是否有grub4dos的啟動文件(通常為grldr,寫入MBR時可以指定此文件名),也就是說若是grub4dosMBR可以不設置活動分區

上面是打開電源開關(或按Reset鍵)進行冷啟動時的過程,在DOS下按Ctrl+Alt+Del組合鍵(或從Windows中選擇重新啟動計算機)來進行熱啟動時將從步驟8開始

三、硬盤(U盤、移動硬盤)MBR簡介

這里用到一個強大的磁盤查看編輯工具WinHex,可以手動保存和恢復MBR、DBR

運行WinHex,選擇工具->打開磁盤,如圖

其中HD0為本機硬盤,RM1為U盤,選擇HD0,確定

上方為硬盤的分區情況,下方為硬盤的內容,打開是默認位置在0扇區,即上方的“起始扇區”,點擊上方的分區即可切換到各分區的起始扇區

完整的0扇區(XP的MBR)如下

其中0x0000~0x01FF即為硬盤的0扇區,這個扇區的內容分為3部分

第1部分(0x0000~0x01BD)446個字節為完整的XPMBR,選中這部分內容保存到文件即可作為MBR的備份,將此備份內容寫入硬盤的0x0000~0x01BD位置即可恢復XPMBR,其中左邊可讀的部分即為MBR找不到活動分區時的錯誤信息,使用ParagonPartitionManager、PTDD磁盤分區表醫生等工具均可將硬盤的MBR恢復為(寫入)XPMBR

第2部分(0x01BE~0x01FD)64個字節為硬盤的分區表(DiskPartitionTable,DPT),每16個字節描述一個主分區,所以一個硬盤最多可以有4個主分區

分區表的每一分區的第1個字節是活動標志,其值為80H時,表示該分區是當前活動分區,可引導,其值為00H時,表示該分區不可引導

第3部分(0x01FE~0x01FF)2個字節“55AA”是分區有效結束標志

下圖為grub4dosMBR的第一個扇區

其他扇區內容請參考附件

其中0x0003處一個字節為啟動時等待按鍵的延時,圖中為0x06就是6秒

四、硬盤(U盤、移動硬盤)DBR簡介

沒有深入研究DBR到底占用幾個扇區,對于ntldr的DBR,用WinHex查看時可以看到ntfs分區的前7個扇區有內容,fat32前3個扇區有內容,不同的分區軟件可能會有不同,有興趣者可以試試先將有內容的前幾個扇區保存為文件,然后清除第1個扇區(分區的0扇區)之外的其他扇區的內容(用0填充,可以用U盤或者光盤啟動PE再用WinHex恢復),若能正常啟動表示只用第1個扇區即可,否則后面的內容也是有效內容

NTBOOT.EXE(#1附件中有)可以修復ntldr的DBR

Bootsect.exe(好像vista安裝盤中有,沒有使用過)可以修復bootmgr和ntldr的DBR,微軟官方說法:Bootsect.exe更新硬盤分區的主啟動代碼以在BOOTMGR和NTLDR之間切換。可以使用此工具還原計算機上的啟動扇區。此工具會替換FixFAT和FixNTFS

這兩個工具都是只能修改DBR,而不能修改MBR

下面是ntfs分區中ntldrDBR的第一個扇區(用XP做的分區)

其中左邊可讀的部分即為DBR在分區根目錄找不到ntldr文件時的錯誤信息,最后兩個字節“55AA”是分區有效結束標志

下面是fat32分區中ntldrDBR的第一個扇區(用ParagonPartitionManager做的分區)

五、使用WinHex保存或寫入磁盤

寫入操作具有一定危險性,請慎用

保存磁盤的前63(0~62)個扇區的內容到文件

1.計算62扇區的結束位置為63*512-1=32555=0x7DFF

2.在十六進制代碼區右鍵選擇編輯->定義選區,輸入開始0,結束7DFF,確定

如果只保存當前扇區,右鍵選擇編輯->復制扇區->至新文件即可

3.右鍵選擇編輯->復制選塊->至新文件,若復制到剪貼板則右鍵選擇編輯->復制選塊->正常

將硬盤中的XPMBR復制到U盤

1.選中硬盤0扇區的0x0000~0x01BD,右鍵選擇編輯->復制選塊->正常

注意不可以選中整個扇區,否則會覆蓋U盤(目標盤)的分區表

2.將光標移至U盤的0x0000處,如下圖

3.右鍵選擇編輯->剪貼板數據->寫入,此時會提示寫入的偏移地址,注意檢查偏移地址是否正確

4.還有可能會提示選擇剪貼板格式,選擇ASCIIHex,如果用這種格式寫入不正確,試試選擇別的格式

5.如果寫入正確,選擇保存,否則選擇撤銷(Ctrl+Z)二、硬盤主引導記錄(MBR)及其結構/blog/static/73261092007614102218135/硬盤的0柱面、0磁頭、1扇區稱為主引導扇區,FDISK程序寫到該扇區的內容稱為主引導記錄(MBR)。該記錄占用512個字節,它用語硬盤啟動時將系統控制權交給用戶指定的,并在分區表中登記了的某個操作系統區。

1.MBR的讀取

硬盤的引導記錄(MBR)是不屬于任何一個操作系統,也不能用操作系統提供的磁盤操作命令來讀取它。但我們可以用ROM-BIOS中提供的INT13H的2號功能來讀出該扇區的內容,也可用軟件工具Norton8.0中的DISKEDIT.EXE來讀取。

用INT13H的讀磁盤扇區功能的調用參數如下:

入口參數:AH=2(指定功能號)

AL=要讀取的扇區數

DL=磁盤號(0、1-軟盤;80、81-硬盤)

DH=磁頭號

CL高2位+CH=柱面號

CL低6位=扇區號

CS:BX=存放讀取數據的內存緩沖地址

出口參數:CS:BX=讀取數據存放地址

錯誤信息:如果出錯CF=1AH=錯誤代碼

用DEBUG讀取位于硬盤0柱面、0磁頭、1扇區的操作如下:

A>DEBUG

-A100

XXXX:XXXXMOVAX,0201(用功能號2讀1個扇區)

XXXX:XXXXMOVBX,1000(把讀出的數據放入緩沖區的地址為CS:1000)

XXXX:XXXXMOVCX,0001(讀0柱面,1扇區)

XXXX:XXXXMOVDX,0080(指定第一物理盤的0磁頭)

XXXX:XXXXINT13

XXXX:XXXXINT3

XXXX:XXXX(按回車鍵)

-G=100(執行以上程序段)

-D100011FF(顯示512字節的MBR內容)

2.MBR的組成

一個扇區的硬盤主引導記錄MBR由如圖6-15所示的4個部分組成。

·主引導程序(偏移地址0000H--0088H),它負責從活動分區中裝載,并運行系統引導程序。

·出錯信息數據區,偏移地址0089H--00E1H為出錯信息,00E2H--01BDH全為0字節。

·分區表(DPT,DiskPartitionTable)含4個分區項,偏移地址01BEH--01FDH,每個分區表項長16個字節,共64字節為分區項1、分區項2、分區項3、分區項4。

·結束標志字,偏移地址01FE--01FF的2個字節值為結束標志55AA,如果該標志錯誤系統就不能啟動。MasterBootRecord主引導程序出錯信息數據區分區表結束標志0000-0088主引導程序0089-01BD數據區01BE-01CD分區項1(16字節)01CE-01DD分區項2(16字節)01DE-01ED分區項3(16字節)01EE-01FD分區項4(16字節)01FE5501FFAA圖6-15MBR的組成結構圖3.MBR中的分區信息結構

占用512個字節的MBR中,偏移地址01BEH--01FDH的64個字節,為4個分區項內容(分區信息表)。它是由磁盤介質類型及用戶在使用FDISK定義分區說確定的。在實際應用中,FDISK對一個磁盤劃分的主分區可少于4個,但最多不超過4個。每個分區表的項目是16個字節,其內容含義如表6-19所示。

表6-19分區項表(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字節本分區的總扇區數。4.MBR的主要功能及工作流程

啟動PC機時,系統首先對硬件設備進行測試,測試成功后進入自舉程序INT19H,然后讀系統磁盤0柱面、0磁頭、1扇區的主引導記錄(MBR)內容到內存指定單元0:7C00地址開始的區域,并執行MBR程序段。

硬盤的主引導記錄(MBR)是不屬于任何一個操作系統的,它先于所有的操作系統而被調入內存,并發揮作用,然后才將控制權交給主分區(活動分區)內的操作系統,并用主分區信息表來管理硬盤。

MBR程序段的主要功能如下:

·檢查硬盤分區表是否完好。

·在分區表中尋找可引導的“活動”分區。

·將活動分區的第一邏輯扇區內容裝入內存。在DOS分區中,此扇區內容稱為DOS引導記錄(DBR)。

MBR引導程序段的執行流程如圖6-16所示。圖6-16MBR引導程序段執行流程硬盤邏輯驅動器的分區表鏈結構

硬盤是由很多個512字節的扇區組成,而這些扇區會被組織成一個個的“分區”。

硬盤的分區規則是:一個分區的所有扇區必須連續,硬盤可以有最多4個物理上的分區,這4個物理分區可以時個主分區或者3個主分區加一個擴展分區。在DOS/Windows管理下的擴展分區里,可以而且必須再繼續劃分邏輯分區(邏輯盤)。

從MS-DOS3.2問世以后,用戶就可以在一個物理硬盤驅動器上劃分一個主分區和一個擴展分區,并在擴展分區上創建多個邏輯驅動器,也即我們常說的一個物理盤上多個邏輯盤。

舉一個例子,一個10G的硬盤,安裝Windows,有C:、D:、E:三個邏輯盤,那么它的分區情況可以是如下的方式:

分區一:主分區2GB,格式化為C:盤。

分區二:擴展分區8GB。它被再劃分為兩個各4GB的邏輯盤,格式化為以D:和E:盤。

在一個劃分有多個主分區的硬盤上,則可安裝多個不同的操作系統。如Windows、Linux、Solaris等。每個操作系統自己去管理分配給自己的分區。但是,每個操作系統對分區的操作方式是不同的。對于DOS/Windows來說,它能夠把它所能管轄的一個主分區和一個擴展分區格式化,然后按照C:、D:、E:邏輯盤的方式來管理。而Linux則不同,它是把“分區”看作一個設備,既沒有“擴展分區”的概念,也沒有“邏輯盤”的概念。

1.邏輯盤的鏈接關系

在FAT文件系統中,硬盤的邏輯盤字符用字符C:、D:、E:、...、Z:來表示。主分區一般被格式化成C:盤,從D:盤開始的邏輯盤是建立在擴展分區之上的。在系統進行讀寫操作時,DOS首先查看主引導記錄(MBR)中的分區信息表,分區項將指向活動主分區的DOS引導記錄(DBR)。

MBR中的分區表位于0柱面、0磁頭、1扇區內,以位移1BEH開始的第一分區表作為鏈首,有表內的鏈接表項指示下一分區表的物理位置(xx柱面、0磁頭、1扇區),在該位置的扇區內同樣位移1BEH處,保存著第2張分區表,依次類推,直至指向最后一張分區表的物理位置(yy柱面、0磁頭、1扇區)。因該分區表內不存在鏈接表項,即作為分區表鏈的鏈尾。如圖6-17所示。硬盤第一個虛擬第二個虛擬第三個虛擬MBR分區表MBR分區表MBR分區表MBR分區表定義C:盤―>定義D:盤->定義E:盤->定義F:盤描述剩余空間描述剩余空間描述剩余空間描述剩余空間未用未用未用未用未用未用未用未用55AA55AA55AA55AA圖6-17具有4個邏輯盤的分區鏈表示意圖

舉例來說,本來位于柱面0、磁頭0、扇區1上的分區表的每一項記錄和主分區的DBR之間有一對應的關系,但是,如果在擴展分區中建立了多個邏輯盤,例如D:、E:、F:,該分區表中的分區項可指向第一個邏輯盤:,但對于其它的邏輯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論