Linux啟動流程

內核級別:

1、POST開機加電自檢

BIOS加載CMOS信息并進行開機自檢,檢測硬件設備是否正常并進行硬件設備初始化

2、Boot Sequence(BIOS):定義設備啟動順序

BIOS定義設備啟動順序,并讀取啟動設備數據加載硬盤上的第一個扇區MBR。

3、Boot Loader(MBR):bootloader功能實現

Boot Loader提供一個菜單,允許用戶選擇要啟動的系統或不同的內核版本,把用戶選定的內核裝載到RAM中的特定的空間中,解壓、展開而后把系統控制權移交給內核。

4、Kernel(ramdisk):內核實現

(1)Linux內核會以自己的功能重新檢測一次硬件,不一定使用BIOS檢測到的信息。

(2)加載硬件驅動程序(啟動過程中所需要的內核模塊,借助ramdisk加載)

(3)以只讀方式掛載根目錄文件系統。(掛載到ramdisk虛擬文件系統上,ramdisk中的/lib/modules下面有真正根的驅動程序。)

(4)運行用戶空間的第一個應用程序:/sbin/init

用戶級別(以Centos5為例)

5、/sbin/init/程序運行(在/etc/inittab設置)

init程序主要依賴于配置文件:/etc/inittab,類似shell script。流程如下:

(1)先去的runlevel即默認執行等級的相關等級;(以5為例)

(2)使用/etc/rc.d/rc.sysinit進行系統初始化;(以下Centos5中有的/etc/inittab有)

(3)由于runlevel是5,因此只進行“5:5:wait:/etc/rc.d/rc5”,其他行則略過;

(4)設置好【ctrl】+【alt】+【del】這組合的組合鍵功能;

(5)設置不斷電系統的pf,pr兩種機制

(6)啟動終端機

以下附上Centos6的圖片: Linux啟動流程

init處理系統初始化流程(/etc/rc.d/rc.sysinit)

設置好系統環境 (1)設置主機名; (2)設置歡迎信息; (3)激活udev和selinux; (4)掛載/etc/fstab文件中定義的所有文件系統; (5)檢測根文件系統,并以讀寫方式重新掛載根文件系統;(重新掛載是指根文件檢測完之后) (6)設置系統時鐘; (7)根據/etc/sysctl.conf文件來設置內核參數; (8)激活lvm即軟raid設備; (9)激活swap設備; (10)加載額外設備的驅動程序;(內核加載驅動只加載根文件系統的) (11)清理操作; 注意:在init配置文件:/etc/inittab中,有一行內容是定義/etc/rc.d/rc.sysinit,此腳本文件是負責完成系統初始化的腳本文件。 Linux啟動流程

關閉/啟動對應級別下的服務

腳本文件/etc/rc.d/rc作用為當級別切換時啟動或停止服務;此腳本接受傳遞的參數給腳本中$runlevel變量,然后,讀取/etc/rc$runlevel.d/K和/etc/rc$runlevel.d/S所有文件,這些文件就是為什么開機啟動后,有些服務會自動啟動,有些服務沒有啟動的原因。 K:要停止的服務,K##,優先級,數字越小,越優先關閉,依賴的服務先關閉,然后再關閉被依賴的。 S :要啟動的服務,S##*,優先級,數字越小,越是優先啟動,被依賴的服務先啟動,而依賴的服務后啟動。 /etc/rc.d/init.d目錄還有個鏈接目錄為/etc/init.d目錄,這兩目錄下文件相同。

Linux啟動流程

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

(1)
N24_yeziN24_yezi
上一篇 2016-11-23 20:07
下一篇 2016-11-23 20:30

相關推薦

  • 第七周作業

    1、簡述linux操作系統啟動流程 CentOS 啟動流程圖: 通電自檢 power on system test(POST)–> BIOS –> 主機加電以后會將各個部件運轉起來,然后通過COMS上的軟件程序BIOS(Basic Input Output System)檢測每個設備cpu、內存、硬盤進行故障檢查并進行硬件…

    2018-02-07
  • 第五周作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; ~]# grep  “^[[:space:]]\{1,\}” /boot/grup/grup.conf                     &…

    2017-03-01
  • Linux用戶和組管理整理

    本節介紹Linux用戶和組相關的配置文件,用戶賬號管理、查詢用戶信息以及切換用戶的相關命令,將會讓我們更了解各配置文件中各個字段的含義,以及各相關命令的使用方法,方便Linux運維人員管理Linux系統中的用戶和組。 背景: Linux是個多用戶、多任務的系統,考慮到每個人的隱私權、每個人喜好的工作環境以及每個用戶所使用的權限等方面的不同,所以設定了“用戶”…

    Linux干貨 2015-06-15
  • Linux系統上的文件處理工具

    Linux系統上的文件處理工具 我們都知道在計算機中,存在大量的文件,這些文件中包含大量的信息。可是有些時候,為了工作的效率,我們在茫茫信息中提取出我們所需要的信息,這樣的技能就顯得尤為重要。Linux系統上為我我們提供了多種多樣的文本處理工具,下面我們來簡單說一下。 查看文件內容我們可以使用less命令,cat命令,more命令等等 cat cat [OP…

    Linux干貨 2016-08-05
  • Linux基礎知識(三)

     本文的主要內容是:  1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。  2、取出最后登錄到當前系統的用戶的相關信息。  3、取出當前系統上被用戶當作其默認shell的最多的那個shell。  4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全…

    Linux干貨 2016-10-03
  • N25_第六周作業

    1、復制/etc/rc.d/rc.sysinit文件至tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; :%s@^[[:space:]]\+@#&@g(CentOS7下并未看到這個文件) 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符;…

    Linux干貨 2017-02-15

評論列表(1條)

  • luoweiro
    luoweiro 2016-12-01 00:09

    熟練掌握啟動流程和各個步驟在做什么,這是必備技能之一,加油。

欧美性久久久久