linux系統開機啟動流程介紹
linux系統啟動時都發生了什麼
主引導記錄mbr
開啟電腦主機電源,當聽到滴的一聲,就說明系統已經開始了開機自檢post(power on self test)。自檢開始這個過程中主要是檢測計算機硬體裝置,比如cpu、記憶體、主機板、顯示卡等裝置是否存在故障。硬體故障分為兩種情況,對於嚴重故障(致命性故障),則停機,此時由於各種初始化操作還沒完成,不能給出任何提示或訊號。對於非嚴重故障,則給出提示或聲音報警訊號,等待使用者處理。如果沒有故障,post完成自己的接力任務將尾部工作交接給bios處理。
最常見的是記憶體鬆動的情況,bios自檢階段會報錯,系統就無法啟動起來。
bios(basic input / output system),又稱基本輸入輸出系統,可以視為是乙個永久地記錄在rom中的乙個軟體,是作業系統輸入輸出管理系統的一部分。早期的bios晶元確實是」唯讀」的,裡面的內容是用一種燒錄器寫入的,一旦寫入就不能更改,除非更換晶元。現在的主機板都使用一種叫flash eprom的晶元來儲存系統bios,裡面的內容可通過使用主機板廠商提供的擦寫程式擦除後重新寫入,這樣就給使用者公升級bios提供了極大的方便。
執行bios中的程式來列舉本地裝置並對其初始化。這一步主要是根據我們在bios中設定的系統啟動順序來搜尋用於啟動系統的驅動器,如硬碟、光碟、u盤、軟盤和網路等。我們以硬碟啟動為例,bios此時去讀取硬碟驅動器的第乙個扇區(mbr,512位元組),然後執行裡面的**。實際上這裡bios並不關心啟動裝置第乙個扇區中是什麼內容,它只是負責讀取該扇區內容、並執行。
我們首先來了解一下mbr,它是master boot record的縮寫。通常,我們將包含mbr引導**的扇區稱為主引導扇區,它處於硬碟的0柱面、0磁頭、1扇區。因這一扇區中,引導**占有絕大部分的空間,故而將習慣將該扇區稱為mbr扇區(簡稱mbr)。由於這一扇區承擔有不同於磁碟上其他普通儲存空間的特殊管理職能,作為管理整個磁碟空間的乙個特殊空間,它不屬於磁碟上的任何分割槽,因而分割槽空間內的格式化命令不能清除主引導記錄的任何資訊。
它由三個部分組成,主引導程式(bootloader)、 硬碟分割槽表dpt(disk partition table)和mbr結束標誌(55aa),其結構圖如下所示:
引導引導程式包括兩個不同的階段:
煩!不想寫了!看最上方的圖吧!
在mbr分割槽表中最多4個主分割槽或者3個主分割槽+1個擴充套件分割槽,也就是說擴充套件分割槽只能有乙個,然後可以再細分為多個邏輯分割槽。在linux系統中,硬碟分割槽命名為sda1-sda4或者hda1-hda4(其中a表示第一塊硬碟,b代表第二塊硬碟,依次類推)。在mbr硬碟中,分割槽號1-4是主分割槽(或者擴充套件分割槽),邏輯分割槽號只能從5開始。
在mbr分割槽表中,乙個分割槽最大的容量為2t,且每個分割槽的起始柱面必須在這個disk的前2t內。你有乙個3t的硬碟,根據要求你至少要把它劃分為2個分割槽,且最後乙個分割槽的起始扇區要位於硬碟的前2t空間內。
linux啟動流程
linux系統主要通過以下步驟啟動 讀取mbr的資訊,啟動boot manager windows使用ntldr作為boot manager,如果您的系統中安裝多個版本的windows,您就需要在ntldr中選擇您要進入的系統。linux通常使用功能強大,配置靈活的grub作為boot manage...
linux啟動流程
bios basic input output system mbr main boot record kernel kernel自解壓 核心初始化 核心啟動 start kernel 自身為0 程序,建立1 程序執行,直接執行在物理記憶體空間上,沒有虛位址。1 程序裝入並執行程式 sbin ini...
Linux啟動流程
下面簡單介紹下啟動,詳細的後續再補。1.載入bios的硬體資訊並進行自我測試,並依據設定取得第乙個可以啟動的裝置 2.讀取並執行第乙個裝置內的mbr master boot record,硬碟的主引導記錄 的boot loader 即是grub,spfdisk等程式 3.依據boot loader的...