黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

轉(zhuǎn):硬盤(pán)結(jié)構(gòu)簡(jiǎn)介的好文---MBR、分區(qū)表、CHS等

系統(tǒng) 2275 0

最近學(xué)FreeBSD的時(shí)候,在分區(qū)方面遇到一些疑問(wèn),順便就了解了一下主分區(qū),邏輯分區(qū),以及磁盤(pán)存儲(chǔ)的一些概念,發(fā)現(xiàn)了一篇好文章,在此轉(zhuǎn)載

?

一、系統(tǒng)引導(dǎo)過(guò)程簡(jiǎn)介

  系統(tǒng)引導(dǎo)過(guò)程主要由以下幾個(gè)步驟組成(以硬盤(pán)啟動(dòng)為例)

  1、 開(kāi)機(jī);

  2、 BIOS加電自檢(POST——Power On Self Test),內(nèi)存地址為0fff:0000;

  3、 將硬盤(pán)第一個(gè)扇區(qū)(0頭0道1扇區(qū),也就是Boot Sector)讀入內(nèi)存地址0000:7c00處;

  4、 檢查(WORD)0000:7dfe是否等于0xaa55.若不等于則轉(zhuǎn)去嘗試其他介質(zhì);如果沒(méi)有其他啟動(dòng)介質(zhì),則顯示 “No ROM BASIC” ,然后死機(jī);

  5、 跳轉(zhuǎn)到0000:7c00處執(zhí)行MBR中的程序;

  6、 MBR先將自己復(fù)制到0000:0600處,然后繼續(xù)執(zhí)行;

  7、 在主分區(qū)表中搜索標(biāo)志為活動(dòng)的分區(qū)。如果發(fā)現(xiàn)沒(méi)有活動(dòng)分區(qū)或者不止一個(gè)活動(dòng)分區(qū),則停止;

  8、 將活動(dòng)分區(qū)的第一個(gè)扇區(qū)讀入內(nèi)存地址0000:7c00處;

  9、 檢查(WORD)0000:7dfe是否等于0xaa55,若不等于則顯示 “Missing Operating System”,然后停止,或嘗試軟盤(pán)啟動(dòng);

  10、 跳轉(zhuǎn)到0000:7c00處繼續(xù)執(zhí)行特定系統(tǒng)的啟動(dòng)程序;

  11、 啟動(dòng)系統(tǒng)。

  以上步驟中(2),(3),(4),(5)步由BIOS的引導(dǎo)程序完成;(6),(7),(8),(9),(10)步由MBR中的引導(dǎo)程序完成。

  一般多系統(tǒng)引導(dǎo)程序(如Smart Boot Manager, BootStar, PQBoot等)都是將標(biāo)準(zhǔn)主引導(dǎo)記錄替換成自己的引導(dǎo)程序,在運(yùn)行系統(tǒng)啟動(dòng)程序之前讓用戶選擇想要啟動(dòng)的分區(qū)。而某些系統(tǒng)自帶的多系統(tǒng)引導(dǎo)程序(如 LILO,NT Loader等)則可以將自己的引導(dǎo)程序放在系統(tǒng)所處分區(qū)的第一個(gè)扇區(qū)中,在Linux中即為兩個(gè)扇區(qū)的SuperBlock.

  注:以上步驟中使用的是標(biāo)準(zhǔn)的MBR,多系統(tǒng)引導(dǎo)程序的引導(dǎo)過(guò)程與此不同。

二、硬盤(pán)結(jié)構(gòu)及參數(shù)

  3D參數(shù)(Disk Geometry):CHS(Cylinder/Head/Sector) C-Cylinder柱面數(shù)表示硬盤(pán)每面盤(pán)片上有幾條磁道,最大為1024(用10個(gè)二進(jìn)制位存儲(chǔ));H-Head磁頭數(shù)表示硬盤(pán)總共有幾個(gè)磁頭,也就是幾面盤(pán)片,最大為256(用8個(gè)二進(jìn)制位存儲(chǔ));S-Sector扇區(qū)數(shù)表示每條磁道上有幾個(gè)扇區(qū),最大為63(用6個(gè)二進(jìn)制位存儲(chǔ))。

  1、引導(dǎo)扇區(qū)

  Boot Sector組成

  Boot Sector也就是硬盤(pán)的第一個(gè)扇區(qū),它由MBR(Master Boot Record), DPT(Disk Partition Table) 和 Boot Record ID三部分組成。 MBR又稱(chēng)為主引導(dǎo)記錄,占用Boot Sector的前446個(gè)字節(jié)(0~0x1BD),存放系統(tǒng)主引導(dǎo)程序(它負(fù)責(zé)從活動(dòng)分區(qū)中裝載并且運(yùn)行系統(tǒng)引導(dǎo)程序)。 DPT即主分區(qū)表占用64個(gè)字節(jié)(0x1BE~0x1FD),記錄磁盤(pán)的基本分區(qū)信息。主分區(qū)表分為四個(gè)分區(qū)項(xiàng),每項(xiàng)16個(gè)字節(jié),分別記錄每個(gè)主分區(qū)的信息(因此最多可以有四個(gè)主分區(qū))。 Boot Record ID即引導(dǎo)區(qū)標(biāo)記占用兩個(gè)字節(jié)(0x1FE~0x1FF),對(duì)于合法引導(dǎo)區(qū),它等于0xaa55,這是判別引導(dǎo)區(qū)是否合法的標(biāo)志)。

  Boot Secor具體結(jié)構(gòu)如圖:

轉(zhuǎn):硬盤(pán)結(jié)構(gòu)簡(jiǎn)介的好文---MBR、分區(qū)表、CHS等概念



  2、分區(qū)表結(jié)構(gòu)簡(jiǎn)介

  分區(qū)表由四個(gè)分區(qū)項(xiàng)構(gòu)成,每一項(xiàng)結(jié)構(gòu)如下:

  BYTE State:分區(qū)狀態(tài),0=未激活,0x80=激活(注意此項(xiàng));

  BYTE StartHead:分區(qū)起始磁頭號(hào);

  WORD StartSC:分區(qū)起始扇區(qū)和柱面號(hào),底字節(jié)的底6位為扇區(qū)號(hào),高2位為柱面號(hào)的第9,10位,高字節(jié)為柱面號(hào)的低8位;

  BYTE Type:分區(qū)類(lèi)型,如0x0B=FAT32,0x83=Linux等,00表示此項(xiàng)未用;

  BYTE EndHead:分區(qū)結(jié)束磁頭號(hào);

  WORD EndSC:分區(qū)結(jié)束扇區(qū)和柱面號(hào),定義同前;

  DWORD Relative:在線性尋址方式下的分區(qū)相對(duì)扇區(qū)地址(對(duì)于基本分區(qū)即為絕對(duì)地址);

  DWORD Sectors:分區(qū)大小(總扇區(qū)數(shù))。

  在DOS或Windows系統(tǒng)下,基本分區(qū)必須以柱面為單位劃分(Sectors*Heads個(gè)扇區(qū)),如對(duì)于CHS為764/256/63的硬盤(pán),分區(qū)的最小尺寸為256*63*512/1048576=7.875MB.

  由于硬盤(pán)的第一個(gè)扇區(qū)已經(jīng)被引導(dǎo)扇區(qū)占用,所以一般來(lái)說(shuō),硬盤(pán)的第一個(gè)磁道(0頭0道)的其余62個(gè)扇區(qū)是不會(huì)被分區(qū)占用的。某些分區(qū)軟件甚至將第一個(gè)柱面全部空出來(lái)。

  擴(kuò)展分區(qū)結(jié)構(gòu)如圖:

轉(zhuǎn):硬盤(pán)結(jié)構(gòu)簡(jiǎn)介的好文---MBR、分區(qū)表、CHS等概念

三. 系統(tǒng)啟動(dòng)過(guò)程簡(jiǎn)介

??? 系統(tǒng)啟動(dòng)過(guò)程主要由一下幾步組成(以硬盤(pán)啟動(dòng)為例):

??? 1. 開(kāi)機(jī) :-)
??? 2. BIOS 加電自檢 ( Power On Self Test -- POST )內(nèi)存地址為 0ffff:0000
??? 3. 將硬盤(pán)第一個(gè)扇區(qū) (0頭0道1扇區(qū), 也就是Boot Sector)讀入內(nèi)存地址 0000:7c00 處.
??? 4. 檢查 (WORD) 0000:7dfe 是否等于 0xaa55, 若不等于則轉(zhuǎn)去嘗試其他啟動(dòng)介質(zhì), 如果沒(méi)有其他啟動(dòng)介質(zhì)則顯示"No ROM BASIC" 然后死機(jī).
??? 5. 跳轉(zhuǎn)到 0000:7c00 處執(zhí)行 MBR 中的程序.
??? 6. MBR 首先將自己復(fù)制到 0000:0600 處, 然后繼續(xù)執(zhí)行.
??? 7. 在主分區(qū)表中搜索標(biāo)志為活動(dòng)的分區(qū). 如果發(fā)現(xiàn)沒(méi)有活動(dòng)分區(qū)或有不止一個(gè)活動(dòng)分區(qū), 則轉(zhuǎn)停止.
??? 8. 將活動(dòng)分區(qū)的第一個(gè)扇區(qū)讀入內(nèi)存地址 0000:7c00 處.
??? 9. 檢查 (WORD) 0000:7dfe 是否等于 0xaa55, 若不等于則顯示 "Missing Operating System" 然后停止, 或嘗試軟盤(pán)啟動(dòng).
??? 10. 跳轉(zhuǎn)到 0000:7c00 處繼續(xù)執(zhí)行特定系統(tǒng)的啟動(dòng)程序.
??? 11. 啟動(dòng)系統(tǒng) ...

??? 以上步驟中 2,3,4,5 步是由 BIOS 的引導(dǎo)程序完成. 6,7,8,9,10步由MBR中的引導(dǎo)程序完成.

??? 一般多系統(tǒng)引導(dǎo)程序 (如 SmartFDISK, BootStar, PQBoot 等)都是將標(biāo)準(zhǔn)主引導(dǎo)記錄替換成自己的引導(dǎo)程序, 在運(yùn)行系統(tǒng)啟動(dòng)程序之前讓用戶選擇要啟動(dòng)的分區(qū).
??? 而某些系統(tǒng)自帶的多系統(tǒng)引導(dǎo)程序 (如 lilo, NT Loader 等)則可以將自己的引導(dǎo)程序放在系統(tǒng)所處分區(qū)的第一個(gè)扇區(qū)中, 在 Linux中即為 SuperBlock (其實(shí) SuperBlock 是兩個(gè)扇區(qū)).

??? 注: 以上各步驟中使用的是標(biāo)準(zhǔn) MBR, 其他多系統(tǒng)引導(dǎo)程序的引導(dǎo)過(guò)程與此不同.

?

請(qǐng)參見(jiàn)原文
http://blog.sina.com.cn/s/blog_56f9f1600100090x.html

http://hi.baidu.com/noname2236/blog/item/56f1be1ccaed478886d6b672.html ?

轉(zhuǎn):硬盤(pán)結(jié)構(gòu)簡(jiǎn)介的好文---MBR、分區(qū)表、CHS等概念


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論