MBR與grub

今天折騰了一天桨醋,安裝minix3菱魔。

我用的硬盤(pán)是之前裝了linux的贤笆,用minix安裝光盤(pán)進(jìn)入蝇棉,setup一路走過(guò)去,在分區(qū)那里把之前的linux分區(qū)刪除芥永,然后安裝minix3篡殷。安裝結(jié)束之后,重啟進(jìn)入grub埋涧。折騰許久板辽,排除了主板、硬盤(pán)棘催、CD以及安裝方式的問(wèn)題劲弦,最后發(fā)現(xiàn)是MBR的問(wèn)題。

因?yàn)樵瓉?lái)安裝了linux醇坝,所以磁盤(pán)MBR有g(shù)rub的部分代碼邑跪,但是安裝minix時(shí)候,刪除分區(qū)并不會(huì)重寫(xiě)MBR呼猪,所以開(kāi)機(jī)后就無(wú)法正確引導(dǎo)了画畅。后來(lái)用disk genius重寫(xiě)MBR,然后再安裝就好了宋距。之后再官方查到一個(gè)解決方案轴踱,沒(méi)有嘗試,可能也有效乡革。

http://wiki.minix3.org/doku.php?id=usersguide:installationtroubleshooting

把MBR和grub的一些知識(shí)總結(jié)下吧寇僧。

MBR(Main Boot Record)是磁盤(pán)最前邊的一段主引導(dǎo)記錄(一段程序)摊腋,由于在硬盤(pán)的第一個(gè)扇區(qū)沸版,所以也把該扇區(qū)做主引導(dǎo)扇區(qū)嘁傀,它在硬盤(pán)上的位置是(0柱面,0磁頭视粮,1扇區(qū))细办。因此,談到MBR時(shí)蕾殴,有時(shí)候是指主引導(dǎo)記錄(扇區(qū)前面446字節(jié))笑撞,有時(shí)候是指主引導(dǎo)扇區(qū)(512字節(jié))。(該扇區(qū)后面部分是4個(gè)16字節(jié)的磁盤(pán)分區(qū)表钓觉,以及2字節(jié)的結(jié)束標(biāo)志)茴肥。

標(biāo)準(zhǔn)MBR扇區(qū)結(jié)構(gòu)

當(dāng)系統(tǒng)加電后,系統(tǒng)收線讀取硬件固化在主板ROM上的bios程序荡灾,并開(kāi)始執(zhí)行瓤狐。bios首先檢查硬件,初始化基礎(chǔ)中斷向量和寄存器等批幌,然后根據(jù)bios中設(shè)置的啟動(dòng)順序?qū)⒖刂破鹘唤o下一階段础锐,即到MBR。

MBR載入到內(nèi)存荧缘,開(kāi)始執(zhí)行皆警。MBR的主要作用是檢查分區(qū)表是否正確并且將控制權(quán)交給硬盤(pán)主分區(qū)(活動(dòng)分區(qū))上的引導(dǎo)程序(如GNU GRUB)。

一個(gè)磁盤(pán)只能支持4個(gè)主分區(qū)截粗,每個(gè)分區(qū)表結(jié)構(gòu)如下:

分區(qū)結(jié)構(gòu)信息

由于最后分區(qū)總扇區(qū)號(hào)是4字節(jié)信姓,所以一個(gè)分區(qū)最大是2^32個(gè)扇區(qū),如果每個(gè)扇區(qū)是512字節(jié)绸罗,那么一個(gè)最大的主分區(qū)就是2TB财破。如果考慮到,扇區(qū)號(hào)(邏輯地址)也是4字節(jié)的从诲,那么一個(gè)磁盤(pán)最大就是2TB左痢,所以每個(gè)主分區(qū)只能有1/4磁盤(pán)大小。磁盤(pán)還可以把某個(gè)區(qū)設(shè)置擴(kuò)展分區(qū)系洛,理論上該擴(kuò)展分區(qū)可以劃分無(wú)數(shù)個(gè)邏輯分區(qū)俊性。

控制權(quán)到活動(dòng)分區(qū)后,主要有兩種情況描扯,一是卷引導(dǎo)記錄定页,計(jì)算機(jī)會(huì)讀取激活分區(qū)的第一個(gè)扇區(qū),叫做卷引導(dǎo)記錄(Volume boot record绽诚,縮寫(xiě)為VBR)典徊,其作用是告訴計(jì)算機(jī)杭煎,操作系統(tǒng)在這個(gè)分區(qū)里的位置。然后卒落,計(jì)算機(jī)就會(huì)加載操作系統(tǒng)了羡铲。另一種情況是,有啟動(dòng)管理器(boot loader)的情況儡毕,如grub也切。在這種情況下,執(zhí)行MBR后將控制器交給grub腰湾,在grub中可以由用戶(hù)選擇啟動(dòng)哪個(gè)分區(qū)的哪個(gè)系統(tǒng)雷恃。

控制器到操作系統(tǒng)后,加載內(nèi)核费坊。以Linux系統(tǒng)為例倒槐,先載入/boot目錄下面的kernel。內(nèi)核加載成功后附井,第一個(gè)運(yùn)行的程序是/sbin/init讨越。它根據(jù)配置文件(Debian系統(tǒng)是/etc/initab)產(chǎn)生init進(jìn)程。這是Linux啟動(dòng)后的第一個(gè)進(jìn)程羡忘,pid進(jìn)程編號(hào)為1谎痢,其他進(jìn)程都是它的后代。然后卷雕,init線程加載系統(tǒng)的各個(gè)模塊节猿,比如窗口程序和網(wǎng)絡(luò)程序,直至執(zhí)行/bin/login程序漫雕,跳出登錄界面滨嘱,等待用戶(hù)輸入用戶(hù)名和密碼。

至此浸间,全部啟動(dòng)過(guò)程完成太雨。

補(bǔ)充,GRUB是GRand Unified Bootloader的縮寫(xiě)魁蒜,它是一個(gè)多重操作系統(tǒng)啟動(dòng)管理器囊扳。用來(lái)引導(dǎo)不同系統(tǒng)。GRUB是一個(gè)系統(tǒng)引導(dǎo)程序兜看,分為兩個(gè)階段锥咸,第一階段它保存在MBR中。用匯編語(yǔ)言編寫(xiě)细移,也就是MBR中的引導(dǎo)程序部分搏予。①基本的硬件設(shè)備初始化(屏蔽所有的中斷、關(guān)閉處理器內(nèi)部指令/數(shù)據(jù)cache 等)弧轧。②為加載 Bootloader 的Stage2 準(zhǔn)備空間雪侥。③如果是從某個(gè)固態(tài)存儲(chǔ)媒質(zhì)中碗殷,則拷貝 Bootloader 的stage2 到RAM 空間中。④設(shè)置好堆棧速缨。⑤跳轉(zhuǎn)到 stage2 的C 程序入口點(diǎn)锌妻。GRUB引導(dǎo)程序的第二階段,通常用C語(yǔ)音編寫(xiě)鸟廓,這個(gè)階段的任務(wù)有: ①初始化本階段要使用到的硬件設(shè)備从祝。②檢測(cè)系統(tǒng)內(nèi)存映射襟己。③將kernel 映像和根文件系統(tǒng)映像從flash 上讀到RAM 空間中引谜。④為內(nèi)核設(shè)置啟動(dòng)參數(shù)⑤調(diào)用內(nèi)核。它通常保存在/boot/grub/中擎浴。 當(dāng)我們啟動(dòng)系統(tǒng)進(jìn)入GRUB界面時(shí)员咽,會(huì)看到有選擇信息,如果我們自己編譯了系統(tǒng)內(nèi)核的話(huà)贮预,你可以選擇從某個(gè)內(nèi)核啟動(dòng)贝室。同時(shí)要注意的是GRUB的配置文件和內(nèi)核在/boot分區(qū)。從前面分析我們可以看出仿吞,/BOOT和MBR不存在包含關(guān)系滑频。GRUB第一階段需要去MBR中去讀引導(dǎo)程序,GRUB第二階段需要到/boot分區(qū)讀系統(tǒng)內(nèi)核和配置文件唤冈。

附:

linux啟動(dòng)過(guò)程

grub第二階段峡迷,根據(jù)/boot/gurb/grub.cfg中的內(nèi)容,找到kernel和initrd你虹,并拷貝到內(nèi)存中绘搞。initrd是Initial RAM Disk的縮寫(xiě),這個(gè)文件是在安裝系統(tǒng)時(shí)產(chǎn)生的傅物,是一個(gè)臨時(shí)的根文件系統(tǒng)(rootfs)夯辖。因?yàn)镵ernel為了精簡(jiǎn),只保留了最基本的模塊董饰,因此蒿褂,Kernel上并沒(méi)有各種硬件的驅(qū)動(dòng)程序,也就無(wú)法識(shí)rootfs所在的設(shè)備卒暂,故產(chǎn)生了initrd這個(gè)文件啄栓,該文件裝載了必要的驅(qū)動(dòng)模塊,當(dāng)Kernel啟動(dòng)時(shí)介却,可以從initrd文件中裝載驅(qū)動(dòng)模塊谴供,直到掛載真正的rootfs,然后將initrd從內(nèi)存中移除齿坷。

Kernel會(huì)以只讀方式掛載根文件系統(tǒng)桂肌,當(dāng)根文件系統(tǒng)被掛載后数焊,開(kāi)始裝載第一個(gè)進(jìn)程(用戶(hù)空間的進(jìn)程),執(zhí)行/sbin/init崎场,之后就將控制權(quán)交接給了init程序佩耳。

參考:

http://www.blogfshare.com/mbr-dpt-ebr.html

http://blog.csdn.net/dale_chenjiawen/article/details/44282673

http://www.cnblogs.com/codecc/p/boot.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市谭跨,隨后出現(xiàn)的幾起案子干厚,更是在濱河造成了極大的恐慌,老刑警劉巖螃宙,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛮瞄,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡谆扎,警方通過(guò)查閱死者的電腦和手機(jī)挂捅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)堂湖,“玉大人闲先,你說(shuō)我怎么就攤上這事∥薹洌” “怎么了伺糠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)斥季。 經(jīng)常有香客問(wèn)我训桶,道長(zhǎng),這世上最難降的妖魔是什么泻肯? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任渊迁,我火速辦了婚禮,結(jié)果婚禮上灶挟,老公的妹妹穿的比我還像新娘琉朽。我一直安慰自己,他們只是感情好稚铣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布箱叁。 她就那樣靜靜地躺著,像睡著了一般惕医。 火紅的嫁衣襯著肌膚如雪耕漱。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,837評(píng)論 1 290
  • 那天抬伺,我揣著相機(jī)與錄音螟够,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛妓笙,可吹牛的內(nèi)容都是我干的若河。 我是一名探鬼主播,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼寞宫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼萧福!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起辈赋,我...
    開(kāi)封第一講書(shū)人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鲫忍,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后钥屈,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體悟民,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年焕蹄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逾雄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阀溶。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡腻脏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出银锻,到底是詐尸還是另有隱情永品,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布击纬,位于F島的核電站鼎姐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏更振。R本人自食惡果不足惜炕桨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肯腕。 院中可真熱鬧献宫,春花似錦、人聲如沸实撒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)知态。三九已至捷兰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間负敏,已是汗流浹背贡茅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人顶考。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓彤叉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親村怪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子秽浇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容