開機流程:
計算機中有BIOS與CMOS兩個東西, CMOS是記錄各項硬件參數且嵌入在主板上面的儲存器,BIOS則是一個寫入到主板上的一個韌體( 韌體就是寫入到硬件上的一個軟件程序)。這個BIOS就是在啓動的時候,計算機系統會主動運行的第一個程序了!
BIOS能夠設置計算機中的硬件設備,咱們以硬盤爲例,BIOS會依據使用者的配置去取得可以啓動的硬盤,而且到該硬盤裏面去讀取第一個磁區的MBR位置。 MBR佔據446bytes的硬盤容量,其中放置了引導加載程序,而接下來就是MBR內的引導加載程序的工做了。
引導加載程序的目的是加載內核文件,因爲引導加載程序是操做系統在安裝的時候所提供的,因此它認識硬盤內的文件系統格式,所以就可以讀取內核文件,而後接下來就是內核文件的工做,操做系統也就成功啓動!
流程簡述:
BIOS ==> MBR ==> 引導加載程序 ==> 內核文件
一、BIOS:啓動主動運行的韌體,會認識第一個可啓動的裝置。
二、MBR(主引導記錄):第一個可啓動裝置的第一個磁區內的主要啓動記錄區塊,內含啓動管理程序。
三、啓動管理程序(boot loader):可讀取核心文件來運行的軟件;grub(面向linux中)是最主流的boot loader。
四、核心文件:開始操做系統的功能。
MBR位於主引導扇區(即:0磁頭0柱面的第一扇區),共有446bytes。
BIOS與MBR都是硬件自己會支持的功能,至於Boot loader則是操做系統安裝在MBR或分區啓動扇區上的一套軟件。
Boot loader的主要任務:
一、提供菜單:用戶能夠選擇不一樣的開機選項,這也是多重引導的重要功能!
二、加載核心文件:直接指向可啓動的程序區段開始操做系統。
三、轉交給其餘loader:將引導加載功能轉交給其餘loader負責。
引導加載程序裝在啓動扇區上能夠實現「多重引導」的功能。
Boot loader的屬性:
一、每一個分區都擁有本身的啓動扇區(boot sector)
二、實際可啓動的內核文件是放置到各分區裏的。
三、boot loader只會認識本身的系統分區內的可啓動內核文件,以及其餘boot loader而已。
若是要安裝多重啓動, 最好先安裝Windows再安裝Linux(固然大牛反着來照樣能夠,可經過安裝識別windows/linux的引導加載程序)
Linux在安裝的時候,你能夠選擇將boot loader安裝在MBR或分區的啓動扇區,並且Linux的boot loader能夠手動配置菜單,因此你能夠在Linux的boot loader裏面加入Windows啓動的選項。
Windows在安裝的時候,他的安裝程序會主動的覆蓋掉MBR以及本身所在分區的啓動扇區, 並且它沒有讓咱們本身選擇菜單的功能。
相關閱讀:
Linux啓動引導過程 grub和MBR http://www.linuxidc.com/Linux/2013-07/87923.htm
Linux 磁盤基本概念(磁盤、分區、MBR、GPT) http://www.linuxidc.com/Linux/2013-06/85717.htm
RHCE_RHEL6_124 U20.3 解決Grub問題,修復MBR http://www.linuxidc.com/Linux/2012-10/71871.htm
關於MBR, Grub 的幾個問題 http://www.linuxidc.com/Linux/2011-07/39075.htm
Ubuntu更新致MBR破壞 誤操做丟失分區表 http://www.linuxidc.com/Linux/2010-08/28043.htm
本篇文章來源於 Linux公社網站(www.linuxidc.com) 原文連接:http://www.linuxidc.com/Linux/2013-09/90295.htmlinux