操作系統(tǒng)引導過程

所謂操作系統(tǒng)的引導過程是將存放在硬盤上的靜態(tài)的操作系統(tǒng)裝載到內(nèi)存中跳仿,并開始執(zhí)行操作系統(tǒng)的過程还绘。

第一階段:BIOS


1.1 何為BIOS窍荧?

BIOS灿椅,英文“Basic Input Output System”浸间,中文“基本輸入輸出系統(tǒng)”太雨。百度百科中的解釋如下:

它是一組固化到計算機內(nèi)主板上一個ROM芯片上的程序,它保存著計算機最重要的基本輸入輸出的程序魁蒜、開機后自檢程序系統(tǒng)自啟動程序囊扳,它可從CMOS中讀寫系統(tǒng)設(shè)置的具體信息。 其主要功能是為計算機提供最底層的兜看、最直接的硬件設(shè)置和控制锥咸。

BIOS保存在ROM芯片中,系統(tǒng)上電后第一件事就是運行BIOS程序(這不是必須的)细移。

疑問:計算機CPU如何在上電之后直接運行BIOS呢搏予?

答:對于x86系列的CPU,一加電就將指令寄存器設(shè)置為:0xFFFF0000弧轧,表示CPU開始從0xFFFF0000這個內(nèi)存中取出一條指令執(zhí)行雪侥,通常在0xFFFF0000處是一條地址轉(zhuǎn)跳指令碗殷,轉(zhuǎn)向BIOS的入口。

1.2 硬件自檢

BIOS程序首先檢查速缨,計算機硬件能否滿足運行的基本條件锌妻,這叫做"硬件自檢"(Power-On Self-Test),縮寫為POST旬牲。如果硬件出現(xiàn)問題仿粹,主板會發(fā)出不同含義的蜂鳴,啟動中止原茅。

1.3 加載引導扇區(qū)

BIOS設(shè)置里有一個選項是Boot Sequence牍陌,可以設(shè)置外部存儲設(shè)備的啟動順序,排在前面的設(shè)備就是優(yōu)先轉(zhuǎn)交控制權(quán)的設(shè)備员咽。

硬件自檢完成后,BIOS的主要工作就是加載引導扇區(qū)贮预。BIOS根據(jù)Boot Sequence中的順序贝室,將最前面的存儲設(shè)備的引導扇區(qū)的內(nèi)容加載到內(nèi)存中,并跳轉(zhuǎn)到引導程序的第一條指令仿吞。

BIOS將所檢查外部存儲設(shè)備的第一個扇區(qū)(512B)載入內(nèi)存滑频,放在0x00007C00處,如果一個扇區(qū)的最后兩個字節(jié)是“55 AA”唤冈,那么這就是一個引導扇區(qū)峡迷,這個外部存儲設(shè)備也就是一塊可引導盤。通常這個大小為512B的程序就稱為引導程序(boot)你虹。如果最后兩個字節(jié)不是“55 AA”绘搞,那么BIOS就檢查下一個外部存儲設(shè)備。如果沒有其他啟動介質(zhì)傅物,則顯示 ”No ROM BASIC” 夯辖,然后死機。

第二階段:MBR


2.1 何為MBR董饰?

MBR蒿褂,英文“Master Boot Record”,中文“主引導記錄”卒暂。MBR為存儲設(shè)備的第一個扇區(qū)啄栓,也就是該存儲設(shè)備的最前面的512字節(jié)。

計算機讀取MBR的512字節(jié)內(nèi)容也祠,如果這512個字節(jié)的最后兩個字節(jié)是0x55和0xAA昙楚,表明這個設(shè)備可以用于啟動;如果不是诈嘿,表明設(shè)備不能用于啟動桂肌,控制權(quán)于是被轉(zhuǎn)交給"啟動順序"中的下一個設(shè)備数焊。

2.2 MBR結(jié)構(gòu)

MBR的主要作用是告訴計算機到存儲設(shè)備的哪個位置去找操作系統(tǒng)。主要由三部分組成:

  • 第1-446字節(jié):調(diào)用操作系統(tǒng)的機器碼崎场。
  • 第447-510字節(jié):硬盤分區(qū)表(Disk Partition Table佩耳,DPT),將硬盤分成若干分區(qū)谭跨。
  • 第511-512字節(jié):主引導記錄簽名(0x55和0xAA)干厚。

2.3 分區(qū)表

MBR中的分區(qū)表長度只有64個字節(jié),里面分成4項螃宙,每項16個字節(jié)蛮瞄,所以一個硬盤最多只能分四個一級分區(qū),又叫做"主分區(qū)"谆扎。每個區(qū)可以安裝不同的操作系統(tǒng)挂捅,"主引導記錄"因此必須知道將控制權(quán)轉(zhuǎn)交給哪個區(qū)。

每個主分區(qū)的16個字節(jié)堂湖,由6個部分組成:

  • 第1個字節(jié):如果為0x80闲先,就表示該主分區(qū)是激活分區(qū),控制權(quán)要轉(zhuǎn)交給這個分區(qū)无蜂。四個主分區(qū)里面只能有一個是激活的伺糠。
  • 第2-4個字節(jié):主分區(qū)第一個扇區(qū)的物理位置(柱面、磁頭斥季、扇區(qū)號等等)训桶。
  • 第5個字節(jié):主分區(qū)類型。
  • 第6-8個字節(jié):主分區(qū)最后一個扇區(qū)的物理位置酣倾。
  • 第9-12字節(jié):該主分區(qū)第一個扇區(qū)的邏輯地址舵揭。
  • 第13-16字節(jié):主分區(qū)的扇區(qū)總數(shù)。

2.4 擴展分區(qū)和邏輯分區(qū)

隨著硬盤越來越大躁锡,四個主分區(qū)已經(jīng)不夠了琉朽,需要更多的分區(qū)。但是稚铣,分區(qū)表只有四項箱叁,因此規(guī)定有且僅有一個區(qū)可以被定義成"擴展分區(qū)"(Extended partition)。

所謂"擴展分區(qū)"惕医,就是指這個區(qū)里面又分成多個區(qū)耕漱。這種分區(qū)里面的分區(qū),就叫做"邏輯分區(qū)"(logical partition)抬伺。

計算機先讀取擴展分區(qū)的第一個扇區(qū)螟够,叫做"擴展引導記錄"(Extended boot record,縮寫為EBR)。它里面也包含一張64字節(jié)的分區(qū)表妓笙,但是最多只有兩項(也就是兩個邏輯分區(qū))若河。

計算機接著讀取第二個邏輯分區(qū)的第一個扇區(qū),再從里面的分區(qū)表中找到第三個邏輯分區(qū)的位置寞宫,以此類推萧福,直到某個邏輯分區(qū)的分區(qū)表只包含它自身為止(即只有一個分區(qū)項)。因此辈赋,擴展分區(qū)可以包含無數(shù)個邏輯分區(qū)鲫忍。

第三階段:硬盤啟動


計算機的控制權(quán)就要轉(zhuǎn)交給硬盤的某個分區(qū)了。

3.1 卷引導記錄

四個主分區(qū)里面钥屈,只有一個是激活的悟民。計算機會讀取激活分區(qū)的第一個扇區(qū),叫做"卷引導記錄"(Volume Boot Record篷就,縮寫為VBR射亏,也可稱為分區(qū)引導記錄,Partition Boot Record竭业,縮寫為PBR)智润。

"卷引導記錄"的主要作用是,尋找激活分區(qū)根目錄下的NTLDR(XP)永品、bootmgr(Win7 above)、grldr(Grub)击纬、btldr.mbr(BootLink)等可用于引導的程序鼎姐。

3.2 啟動管理器

"啟動管理器"(boot loader)是系統(tǒng)預(yù)先安裝的程序,由用戶選擇啟動哪一個操作系統(tǒng)更振。"卷引導記錄"搜索到激活分區(qū)中的"啟動管理器"炕桨,將控制權(quán)交給"啟動管理器"運行。

"啟動管理器"尋找激活分區(qū)中的啟動配置數(shù)據(jù)(如:Win7中的BCD文件肯腕、XP中的boot.ini文件)献宫,根據(jù)啟動配置數(shù)據(jù),在顯示器上顯示多操作系統(tǒng)選擇畫面实撒。選擇相應(yīng)的操作系統(tǒng)姊途,控制權(quán)交給操作系統(tǒng)。

Linux環(huán)境中知态,目前最流行的啟動管理器是Grub捷兰。在windows下為啟動管理器bootmgr(xp中的ntldr文件)。

第四階段:操作系統(tǒng)


控制權(quán)轉(zhuǎn)交給操作系統(tǒng)后负敏,操作系統(tǒng)的內(nèi)核首先被載入內(nèi)存贡茅。

以Win7系統(tǒng)為例,整個操作系統(tǒng)引導過程如下:

1、電腦開機后顶考,開始啟動BIOS赁还,開始BIOS自檢。

2驹沿、通過自檢后艘策,bios找到硬盤上的主引導記錄MBR.

3、MBR開始讀取硬盤分區(qū)表DPT甚负,找到活動分區(qū)柬焕,找到活動分區(qū)中的分區(qū)引導記錄PBR,并且把控制權(quán)交給PBR.

4梭域、PBR搜索活動區(qū)中的啟動管理器bootmgr斑举,找到后,PBR把控制權(quán)交給bootmgr(相當于xp里的ntldr文件)病涨。

5富玷、Bootmgr尋找活動分區(qū)中的boot文件夾中的BCD文件(啟動配置數(shù)據(jù),相當于xp里的boot.ini文件)既穆。

6赎懦、找到BCD后,Bootmgr首先從BCD 中讀取啟動管理器bootmgr菜單的語言版本信息幻工,然后再調(diào)用BOOTMGR與相應(yīng)語言的BOOTMGR.EXE.MUI (在boot文件夾對應(yīng)語言文件夾中)組成相應(yīng)語言的啟動菜單励两,之后在顯示器上顯示多操作系統(tǒng)選擇畫面。

7囊颅、如果存在多個操作系統(tǒng)而且系統(tǒng)設(shè)置的等待時間不是0当悔,那么屏幕就顯示多個操作系統(tǒng)的選擇界面。如果沒有多系統(tǒng)踢代,那么直接進入windows 7系統(tǒng)盲憎,不顯示選擇界面。

8胳挎、選擇windows 7系統(tǒng)后饼疙,bootmgr就會讀取BCD里win7系統(tǒng)所在的盤里的windows\system32\winload.exe文件,并且將控制權(quán)交給winload.exe慕爬。

9窑眯、Winload.exe加載windows7內(nèi)核、硬件医窿、服務(wù)等伸但,之后加載桌面等信息,從而啟動整個windows 7系統(tǒng)留搔。

上面幾步可以概括一下就是:
BIOS--MBR--DPT--PBR--Bootmgr--BCD--系統(tǒng)選擇界面---選擇windows7------Winload.exe----內(nèi)核加載等 --啟動整個windows7系統(tǒng)

參考文獻


1更胖、阮一峰:計算機是如何啟動的?
2、百度百科:BIOS
3却妨、百度經(jīng)驗:Windows 7開機啟動流程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饵逐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子彪标,更是在濱河造成了極大的恐慌倍权,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捞烟,死亡現(xiàn)場離奇詭異薄声,居然都是意外死亡,警方通過查閱死者的電腦和手機题画,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門默辨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人苍息,你說我怎么就攤上這事缩幸。” “怎么了竞思?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵表谊,是天一觀的道長。 經(jīng)常有香客問我盖喷,道長爆办,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任课梳,我火速辦了婚禮距辆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惦界。我一直安慰自己挑格,他們只是感情好咙冗,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布沾歪。 她就那樣靜靜地躺著,像睡著了一般雾消。 火紅的嫁衣襯著肌膚如雪灾搏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天立润,我揣著相機與錄音狂窑,去河邊找鬼。 笑死桑腮,一個胖子當著我的面吹牛泉哈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼丛晦,長吁一口氣:“原來是場噩夢啊……” “哼奕纫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起烫沙,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤匹层,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后锌蓄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體升筏,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年瘸爽,在試婚紗的時候發(fā)現(xiàn)自己被綠了您访。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝶糯,死狀恐怖洋只,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昼捍,我是刑警寧澤识虚,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站妒茬,受9級特大地震影響担锤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜乍钻,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一肛循、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧银择,春花似錦多糠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至析孽,卻和暖如春搭伤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背袜瞬。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工怜俐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人邓尤。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓拍鲤,卻偏偏與公主長得像贴谎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子季稳,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

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

  • 引導過程 引導過程指的是從計算機通電那一瞬間到CPU開始執(zhí)行操作系統(tǒng)代碼時的整個過程赴精。在這個非常初期的階段匯總,C...
    CoderKo1o閱讀 10,662評論 1 11
  • 轉(zhuǎn)載聲明:本文雖然不是本人100%原創(chuàng)绞幌,但也是辛辛苦苦整理的蕾哟,可以轉(zhuǎn)載,但請注明出處 這篇文章是關(guān)于折騰Windo...
    SOMCENT閱讀 8,024評論 3 37
  • 理論部分 鏡像 一莲蜘、鏡像的百科定義 1谭确、維基百科 ISO映像是一種光盤的存檔文件(英語:archive file)...
    幻影翔閱讀 1,914評論 4 3
  • Ubuntu的發(fā)音 Ubuntu问顷,源于非洲祖魯人和科薩人的語言昂秃,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,260評論 9 467
  • 不管全世界所有人怎么說杜窄,我都認為自己的感受才是正確的肠骆。無論別人怎么看,我絕不打亂自己的節(jié)奏塞耕。喜歡的事自然可以堅持蚀腿,...
    篤學青衿閱讀 146評論 0 0