全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
MBR內(nèi)幕 個(gè)人計(jì)算機(jī)在系統(tǒng)BIOS中設(shè)置了一個(gè)訪問硬盤的中斷接口(INT 13H)。當(dāng)一個(gè)應(yīng)用程序需要訪問硬盤時(shí),它將通過操作系統(tǒng)計(jì)算出CHS(即Cylinder柱面、Heads盤面、Sector扇區(qū)的組合)地址然后使用這個(gè)地址調(diào)用INT 13中斷的相應(yīng)功能。BIOS使用這個(gè)CHS地址進(jìn)行硬盤的讀寫工作。傳統(tǒng)BIOS的INT 13有很多缺陷,比如它能訪問的最大地址范圍是是8GB (102425663)。如今,比較常見的是INT 13將CHS地址轉(zhuǎn)換為LBA邏輯塊地址。LBA是非常單純的一種尋址模式;從0開始編號(hào)來定位區(qū)塊,第一區(qū)塊LBA=0,第二區(qū)塊LBA=1,依此類推。LBA使用64位的地址空間表示扇區(qū)數(shù)目,在每扇區(qū)512字節(jié)的前提下,它可以尋址的上限是 8,796,093,022,208 GB。傳統(tǒng)上操作系統(tǒng)對(duì)硬盤的尋址是通過柱(Cylinder)、面(Head)、扇區(qū)(Sector)的組合來進(jìn)行。硬盤的每個(gè)盤片稱為一個(gè)面,每個(gè)面對(duì)應(yīng)著一個(gè)磁頭,所以可以用磁頭(head)表示硬盤的盤片,各面磁道(track)號(hào)相同的磁道合稱為一個(gè)柱面(cylinder),每個(gè)磁道又分為若干個(gè)扇區(qū)(sector)。扇區(qū)是硬盤讀寫操作的基本單元,每個(gè)扇區(qū)一般是512個(gè)字節(jié)。硬盤上可供用戶使用的空間從CHS(0,0,1)開始,此扇區(qū)稱作“主引導(dǎo)扇區(qū)”。主引導(dǎo)扇區(qū)上的512字節(jié)存儲(chǔ)的信息依次是引導(dǎo)代碼(偏移量000到1BD 共446個(gè)字節(jié)),分區(qū)表(偏移量1BE到1FD共64字節(jié),每個(gè)分區(qū)表占16字節(jié)),分區(qū)有效標(biāo)志(1fe、1ff, 值是55AA)。在系統(tǒng)啟動(dòng)時(shí),BIOS自檢完畢后將控制權(quán)交給MBR中的引導(dǎo)代碼段,由此段代碼加載操作系統(tǒng)完成啟動(dòng)過程。注意:MBR是獨(dú)立于操作系統(tǒng)的。分區(qū)表結(jié)構(gòu)第一分區(qū)表1BE1BF1C01C11C21C31C41C5Boot indStart HStart SStart CSys indEnd HEnd SEnd C1C61C71C81C91CA1CB1CC1CDRealsec4Realsec3Realsec2Realsec1#sect4#sect3#sect2#sect1第二分區(qū)表1CE1CF1D01D11D21D31D41D5Boot indStart HStart SStart CSys indEnd HEnd SEnd C1D61D71D81D91DA1DB1DC1DDRealsec4Realsec3Realsec2Realsec1#sect4#sect3#sect2#sect1第三分區(qū)表1DE1DF1E01E11E21E31E41E5Boot indStart HStart SStart CSys indEnd HEnd SEnd C1E61E71E81E91EA1EB1EC1EDRealsec4Realsec3Realsec2Realsec1#sect4#sect3#sect2#sect1第四分區(qū)表1EE1EF1F01F11F21F31F41F5Boot indStart HStart SStart CSys indEnd HEnd SEnd C1F61F71F81F91FA1FB1FC1FDRealsec4Realsec3Realsec2Realsec1#sect4#sect3#sect2#sect1 說明:1、boot ind 活動(dòng)分區(qū)標(biāo)志,4個(gè)分區(qū)只能有一個(gè)可以設(shè)置為活動(dòng)分區(qū),活動(dòng)分區(qū)標(biāo)識(shí)符是80H,非活動(dòng)分區(qū)是00H。sys ind 分區(qū)文件類型。比如0B代表FAT32,擴(kuò)展分區(qū)是052、start H,end H,start S,end S,start C,end C分別表示開始結(jié)束的面(H),扇區(qū)(S),柱(C)。3、Realsec是DWORD值(字節(jié)順序realsec1,2,3,4),表示當(dāng)前分區(qū)之前的總扇區(qū)數(shù)。#sect是DWORD值(字節(jié)順序#sect1,2,3,4),表示當(dāng)前分區(qū)占用的扇區(qū)數(shù)。在主分區(qū)表的4個(gè)表項(xiàng)的某一項(xiàng)中記錄擴(kuò)展分區(qū)信息。要將某個(gè)分區(qū)置為擴(kuò)展分區(qū),只要將它的Sys ind字節(jié)置為05H即可。擴(kuò)展分區(qū)分區(qū)表項(xiàng)記錄的是擴(kuò)展分區(qū)的地址信息,此分區(qū)表項(xiàng)中的第2、3、4個(gè)字節(jié)組成的物理地址指向擴(kuò)展分區(qū)的位置。而在擴(kuò)展分區(qū)的第一個(gè)扇區(qū)中又有一個(gè)同主分區(qū)表結(jié)構(gòu)相同的分區(qū)表,第一表項(xiàng)是硬盤第一個(gè)邏輯分區(qū)的信息,第二表項(xiàng)則又是一個(gè)擴(kuò)展分區(qū),其中含有第三個(gè)邏輯分區(qū)的物理地址依此類推,所有的邏輯分區(qū)就這樣一環(huán)一環(huán)連接起來構(gòu)成了鏈?zhǔn)浇Y(jié)構(gòu),而一旦擴(kuò)展分區(qū)表項(xiàng)壞掉,相當(dāng)于這條鏈子從根上斷掉,因此后面的所有邏輯分區(qū)將全部消失。偏移1FE處開始的兩個(gè)字節(jié)值為55AAH,這是合法標(biāo)志。如果沒有這個(gè)值,操作系統(tǒng)將不會(huì)認(rèn)為這是一個(gè)合法的引導(dǎo)扇區(qū)。 假如有一個(gè)分區(qū)起始位置在分區(qū)表中表示為(HSC)AAH、BBH、CCH,那么可以直接得Head 值為AAH,扇區(qū)的二進(jìn)制值的前兩位移到柱面數(shù)的二進(jìn)制值的前面。例如我們從硬盤分區(qū)表中直接讀出Sector=BBH=10111011B,Cylinder=CCH=11001100H,那么真實(shí)的Sector就應(yīng)該是111011B=3BH,Cylinder=10001100H=8CH。這么做是為了配合bios和ATA規(guī)范才使用這種方式。所以,1024*256*64*512/1024/1024=8192M,即8GB。既然cylinder占10位,那么在分區(qū)表中所能表示的最大范圍只有1024,那么怎么使用10位記錄超過10位的cylinder值呢?在這種情況下,分區(qū)起始地址并不起什么作用,而是要靠#sects和Realsec來決定實(shí)際的分區(qū)地址。 下面是一個(gè)硬盤主引導(dǎo)扇區(qū)的數(shù)據(jù)標(biāo)本:(可以使用hexedit /dev/had獲?。?0 1 2 3 4 5 6 7 8 9 A B C D E F0000: eb 48 90 d0 bc 00 7c fb 50 07 50 1f fc be 1b 7c .H.|.P.P.|0020: 38 2c 7c 09 75 15 83 c6 10 e2 f5 cd 18 8b 14 8b 8,|.u.0030: ee 83 c6 10 49 74 16 38 2c 74 f6 be 10 07 03 02 .It.8,t.0040: 80 00 00 80 f7 81 a0 00 00 08 fa ea 50 7c 00 00 .P|.0050: 31 c0 8e d8 8e d0 bc 00 20 fb a0 40 7c 3c ff 74 1. .|u.t7f.0090: 4c 10 be 05 7c c6 44 ff 01 66 8b 1e 44 7c c7 04 L.|.D.f.D|.00a0: 10 00 c7 44 02 01 00 66 89 5c 08 c7 44 06 00 70 .D.f.D.p00b0: 66 31 c0 89 44 04 66 89 44 0c b4 42 cd 13 72 05 f1.D.f.D.B.r.00c0: bb 00 70 eb 7d b4 08 cd 13 73 0a f6 c2 80 0f 84 .p.s.00d0: f1 00 e9 8d 00 be 05 7c c6 44 ff 00 66 31 c0 88 .|.D.f1.00e0: f0 40 66 89 44 04 31 d2 88 ca c1 e2 02 88 e8 88 .f.D.1.00f0: f4 40 89 44 08 31 c0 88 d0 c0 e8 02 66 89 04 66 .D.1.f.f0100: a1 44 7c 66 31 d2 66 f7 34 88 54 0a 66 31 d2 66 .D|f1.f.4.T.f1.f0110: f7 74 04 88 54 0b 89 44 0c 3b 44 08 7d 3c 8a 54 .t.T.D.;D.T0120: 0d c0 e2 06 8a 4c 0a fe c1 08 d1 8a 6c 0c 5a 8a .L.l.Z.0130: 74 0b bb 00 70 8e c3 31 db b8 01 02 cd 13 72 2a t.p.1.r*0140: 8c c3 8e 06 48 7c 60 1e b9 00 01 8e db 31 f6 31 .H|.1.10150: ff fc f3 a5 1f 61 ff 26 42 7c be 7e 7d e8 40 00 .a.&B|.0160: eb 0e be 83 7d e8 38 00 eb 06 be 8d 7d e8 30 00 .8.0.0170: be 92 7d e8 2a 00 eb fe 47 52 55 42 20 00 47 65 .*.GRUB .Ge0180: 6f 6d 00 48 61 72 64 20 44 69 73 6b 00 52 65 61 om.Hard Disk.Rea0190: 64 00 20 45 72 72 6f 72 00 bb 01 00 b4 0e cd 10 d. Error.01a0: ac 3c 00 75 f4 c3 00 00 00 00 00 00 00 00 00 00 .u.01b0: 00 00 00 00 00 00 00 00 60 47 61 47 00 00 00 01 .GaG.01c0: 01 00 0b fe 7f 87 3f 00 00 00 49 17 60 00 80 00 .?.I.01d0: 41 88 0f fe ff ff 88 17 60 00 39 cd f0 08 00 00 A.9.01e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .01f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa .U. 左列是偏移地址,中間是數(shù)據(jù)區(qū),右列是ASCII文本區(qū)。偏移地址1BE至1CD處的十六個(gè)字節(jié)是第一個(gè)分區(qū)表項(xiàng)。 第一部分:00 表示此分區(qū)為非活動(dòng)分區(qū)。 第二部分:01 01 00 表示此分區(qū)開始于1面、1扇區(qū)、0道。 第三部分:0b 表示此分區(qū)文件系統(tǒng)為Fat32。 第四部分:FE 7F 87 表示此分區(qū)結(jié)束于254面,63扇區(qū),391道。 至此,我們就可以大致估算出這個(gè)分區(qū)的容量為: 391*63*254*512/1024/1024=3055M。 第五部分:3F 00 00 00 表示位于此分區(qū)之前的扇區(qū)數(shù)為0000003F=63個(gè)扇區(qū) 第六部分:49 17 60 00 表示此分區(qū)占用的扇區(qū)數(shù)為00601749H=6297417個(gè)扇區(qū)=3074M, 與第4部分計(jì)算出來的分區(qū)容量大致吻合。 這塊硬盤在linux下執(zhí)行fdisk -l /dev/hda 的輸出如下:Disk /dev/hda: 80.0 GB, 80026361856 bytes255 heads, 63 sectors/track, 9729 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/hda1 1 392 3148708+ b Win95 FAT32/dev/hda2 * 393 9729 74999452+ f Win95 Extd (LBA)/dev/hda5 393 1310 7373803+ 83 Linux/dev/hda6 1311 1507 1582371 83 Linux/dev/hda7 1508 3266 14129136 83 Linux/dev/hda8 3267 3332 530113+ 82 Linux swap/dev/hda9 3333 3593 2096451 b Win95 FAT32/dev/hda10 3594 7509 31455238+ b Win95 FAT32/dev/hda11 7510 9729 17832118+ b Win95 FA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 纏繞成型課程設(shè)計(jì)
- 國際象棋的課程設(shè)計(jì)
- 游戲人物鑒賞課程設(shè)計(jì)
- 中考生物考前必背知識(shí)手冊(含習(xí)題詳解)
- 美化文字微課程設(shè)計(jì)
- 統(tǒng)計(jì)軟件課程設(shè)計(jì)預(yù)測
- 自然主題幼兒園課程設(shè)計(jì)
- 中風(fēng)護(hù)理工作總結(jié)
- 電機(jī)順序啟動(dòng)課程設(shè)計(jì)
- 2024年設(shè)備監(jiān)理師考試題庫含答案(基礎(chǔ)題)
- 2024時(shí)事政治考試題庫(100題)
- 2024地理知識(shí)競賽試題
- 《城市軌道交通工程盾構(gòu)吊裝技術(shù)規(guī)程》(征求意見稿)
- 【新教材】統(tǒng)編版(2024)七年級(jí)上冊語文期末復(fù)習(xí)課件129張
- 欽州市浦北縣2022-2023學(xué)年七年級(jí)上學(xué)期期末語文試題
- 古典時(shí)期鋼琴演奏傳統(tǒng)智慧樹知到期末考試答案章節(jié)答案2024年星海音樂學(xué)院
- 樂山市市中區(qū)2022-2023學(xué)年七年級(jí)上學(xué)期期末地理試題【帶答案】
- 兩人合伙人合作協(xié)議合同
- 蘇教版一年級(jí)上冊數(shù)學(xué)期末測試卷含答案(完整版)
- 2024年中考?xì)v史復(fù)習(xí)-中國古代史專項(xiàng)試題
- DZ/T 0462.5-2023 礦產(chǎn)資源“三率”指標(biāo)要求 第5部分:金、銀、鈮、鉭、鋰、鋯、鍶、稀土、鍺(正式版)
評(píng)論
0/150
提交評(píng)論