Linux 的啟動流程詳解

2021-09-23 17:29:17 字數 1509 閱讀 1311

第一階段:bios啟動引導階段

在該過程中實現硬體的初始化以及查詢啟動介質

從mbr中裝載啟動引導管理器(grub)並執行該啟動引導管理

第二階段:grub啟動引導階段

裝載stage1

裝載stage1.5

裝載stage2

讀取/boot/grub.conf檔案並顯示啟動選單

裝載所選的kernel和initrd檔案到記憶體中

第三階段:核心階段

執行核心啟動引數

解壓initrd檔案並掛載initd檔案系統,裝載必須的驅動

掛載根檔案系統

第四階段:sys v init初始化階段

啟動/sbin/init程式

執行rc.sysinit指令碼,設定系統環境,啟動swap分割槽,檢查和掛載檔案系統

讀取/etc/inittab檔案,執行在/et/rc.d/rc<#>.d中定義的不同執行級別的服務初始化指令碼

開啟字元終端1-6號控制台/開啟圖形顯示管理的7號控制台

啟動流程和細節詳解

bios ==> bootloader ==> kernel & initrd.img ==> /sbin/init

1.bootloader (grub)

/boot/grub/grub.conf    在/boot/grub目錄中有兩個stage檔案,其中:

stage1      stage2    如果grub出現問題可能會有兩種情況:

a.無法進入grub,螢幕左上角只出現乙個游標。出現這種情況基本上mbr已經被破壞,需要進入rescue模式進行修復。

--> chroot環境,執行 "grub-install /boot所在分割槽" 進行修復

--> 無grub相關命令時,安裝grub.rpm包進行恢復

--> /boot目錄下無相關的vmlinuz和initrd.img檔案時,安裝kernel.rpm包進行修復

--> 無grub.conf時需要手工修復

b.grub成功載入,螢幕出現「grub>」,表示配置檔案grub.conf找不到。

--> 手工修復

2.kernel & initrd.img

在載入vmlinuz和initrd時出現:kernel panic情況,基本是grub.conf設定引數出問題。

--> 檢查grub.conf編寫是否出現問題

--> 也有可能是分割槽設定或者硬碟損壞等問題,需要進入rescue模式檢查

3./sbin/init

/sbin/init的配置檔案是/etc/inittab

按照這個配置檔案,系統會依次執行以下指令碼:

---> /etc/rc.d/rc.sysinit

定義hostname,重新掛載各分割槽,載入各模組

---> /etc/rc.d/rc[0-6].d/目錄下以s開頭的指令碼

啟動各runlevel的服務

---> mingetty /dev/tty[1-6]

啟用終端

原文發布時間為:2012-03-21

紅帽Linux啟動流程詳解

在linux社群中看到了這篇文章,關於啟動的,還是得好好學習一下!主要的啟動流程 初始化bios 執行啟動載入器 載入核心 啟動init服務 bios 1.1檢測所有外設 檢測有那些外設,以及外設的錯誤 1.2尋找啟動裝置 依據bios裡面設定的啟動順序來尋找可以啟動的裝置 cd rom ide h...

linux系統啟動流程詳解

linux系統啟動流程詳解 對系統的流程先有乙個大概的了解 開電源 bios自檢 啟動裝置 磁碟 oru盤or光碟機 引導程式 lilo或grub 核心 init程式 rc.sysinit和 rc mingetty 終端登入 shell.現在分為四個階段來講述 第一階段 bios啟動引導階段實現硬體...

Linux系統啟動流程詳解

以下是centos6的啟動流程 linux系統啟動的大體流程,可以概括為 post bios grub kernel init post 加電自檢 linux系統在接通電源後,首先系統會啟動post加電自檢程式來對內部的各個配件進行自檢,若在自檢的過程中發現錯誤,這可能會出現以下兩種情況 1.若出現...