Linux的啟動流程

Linux的啟動流程大致上如下圖.

blob.png

現在詳細說明一下每個步驟:

  1. 第一階段

    當系統啟動時,系統首先會加載BIOS。BIOS的首先會檢查各硬件設備,當檢查完畢沒有問題之后。BIOS會根據設定的BootSequence來尋找可以引導系統的設備。一般而言,Linux是通過磁盤上MBR來引導系統的。

  2. 第二階段

    MBR是Master Boot Record,是位于磁盤第0磁道的第1扇區,大小是512字節。其中開始的446字節是主bootloader,接著的64字節是磁盤分區表,剩下的2個字節就是校驗碼。當系統加載MBR的時候,MBR上的bootloader就會開始發揮作用。

  3. 第三階段

    Bootloader就是主引導加載器。CentOS5,CentOS6上使用的Bootloader是grub ,而CentOS7上使用的是grub2.以grub為例,grub大體上是分為2步,第一步是stage1,stage1就是尋找位于磁盤上的stage2,第二步就是stage2,就是把內核加載在內存中的特定空間中,解壓、展開,并把系統控制權交給內核Kernel。

  4. 第四階段

    內核Kernel獲得控制權之后,會探測可識別到的所有硬件設備;加載硬件驅動程序(有可能會借助于ramdisk加載驅動);以只讀方式掛載根文件系統(rootfs);運行用戶空間上的第一個程序,CentOS5/6上的是init(于/sbin/init)。

  5. 第五階段

    init在啟動的時候,首先會讀取位于/etc/inittab的配置文件來以設定的運行級別。這里介紹Linux上的運行級別分別有:

    0:關機

    1:單用戶模式(root, 無須登錄), single, 維護模式;

    2: 多用戶模式,會啟動網絡功能,但不會啟動NFS;維護模式;

    3:多用戶模式,正常模式;文本界面;

    4:預留級別;可同3級別;

    5:多用戶模式,正常模式;圖形界面;

    6:重啟

    接著init會以設定的運行級別,來運行系統初始腳本(會執行/etc/rc.d/rc#.d上的腳本,#代表對應的運行級別的數字)、完成系統初始化。然后關閉對應下需要關閉的服務,啟動需要啟動服務。最后就會設置登陸終端,用戶就能開始登陸,使用系統。

原創文章,作者:Net17_Tim,如若轉載,請注明出處:http://www.www58058.com/11913

(0)
Net17_TimNet17_Tim
上一篇 2016-02-28 12:24
下一篇 2016-02-28 12:28

相關推薦

  • 用戶 組

    用戶 組    在linux系統中,用戶管理是基于用戶名和密碼的方式進行資源的分配,linux上用戶Username/UID分為以下類別:    管理員: root,0    普通用戶: 1-65535 普通用戶分為:系統用戶和登錄用戶兩種 系統用戶:1-499(cen…

    系統運維 2016-08-04
  • 非交互式添加分區

    非交互式添加分區 方法一 添加/deb/sdb 下的分區,其實位置為1到1000M,第二個分區位置為1001至3000M,位置千萬不能指定錯誤 parted /dev/sdb mkpart primary 1 1000M parted /dev/sdb mkpart primary 1001 3000M 方法二 (1)將你要在parted命令行輸入的命令實現…

    Linux干貨 2017-04-24
  • 簡單的啟動排錯

    一、出現 grub> 字樣,等待交互式輸入指令,說明MBR中Bootloader的stage1、stage1_5、stage2都正常,但丟失了/boot/grub.conf 文件,所以無法加載啟動項菜單,就無法讀取默認啟動的kernel、initrd等文件路徑。 解決辦法:無需救援模式,直接在此交互式界面指定相關文件的加載路徑。 (1) grub&gt…

    Linux干貨 2016-11-26
  • RPM軟件包管理

                                                RPM 軟件包管理 1、rpm軟件包管理: &nbs…

    系統運維 2016-09-01
  • 馬哥教育網絡班22期+第三周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。  who | tr -s [[:space:]] | cut -d" " -f1 | sort -u [root@localhost cdrom]# who root     pts/1     &…

    Linux干貨 2016-09-07
  • LVS常見的類型實現方式

    前言  由于lvs的基礎知識已經在第一篇lvs中講解了,所以在這里只做實驗,包括lvs-nat,lvs-dr,以及基于Freiwall標記和實現會話綁定實驗。 一、lvs-nat:也是MASQERADING,簡稱為m(masquerading)    實驗圖:     地址規劃:     …

    Linux干貨 2015-06-29

評論列表(1條)

  • xiaoxie
    xiaoxie 2016-02-29 13:11

    寫的不錯,感謝分享。。。。

欧美性久久久久