Linux啟動過程筆記

2021-06-26 14:50:58 字數 1879 閱讀 7019

1、啟動流程(bios->mbr:boot code->引導grub->載入核心->執行init->runlevel)

2、/boot/grub/下有多個檔案   其中stage1為mbr映象(512位元組) stage2為引導程式

3、/boot/grub/grub.conf為引導的配置檔案

default=0#預設載入下邊哪個系統

timeout=3#引導等待時間

splashimage=(hd0,1)/boot/grub/splash.xpm.gz#引導介面的背景圖

hiddenmenu#隱藏選單

title centos(2.6.32.279.el6.i686)#系統名稱

root(hd0,1)#系統位置

kernel /boot/vmlimuz-2.6.32.279.el6.i686 ro root=uuid=** lang=en_us.utf-8 #核心及引數

initrd /boot/initramfs-2.6.32.279.el6.i686.img#映象檔案

4、linux為保持kernel精簡將一些不常用的驅動、功能編譯為模組,在需要的時候動態載入,而這些

模組被打包儲存為乙個initramfs檔案

早期版本linux使用initrd檔案,initramfs是initrd的替代優化版本,比以前更加節省空間、更加靈活

5、dmesg檢視核心的輸出資訊(檢視核心級故障、裝置驅動不起來時需要看核心資訊)、資訊最終保

存在/var/log/dmesg檔案中

6、init為linux系統中的第乙個程序(top中pid為1的),為所有程序的父程序

系統啟動時呼叫/etc/rc.d/rc.sysinit負責對系統進行初始化,掛載檔案系統,並且根據執行基本啟動相應服務

執行級別:

0:關機

1:單使用者模式

2:不帶網路的多使用者模式

3:純文字多使用者模式

4:未使用

5:xll圖形化多使用者模式

6:重新啟動

通過/etc/inittab 修改預設級別

每個級別儲存在/etc/rc.d下(rc0.d、rc1.d、rc2.d。。。)

/etc/init 裡邊的檔案為系統初始化配置檔案(如啟動ctrl alt del組合按鍵)

runlevel顯示當前及上乙個執行級別

n 5 (n表示沒有上乙個,5表示圖形)

init 3表示切換到3級別下

引導時為核心傳遞引數"1"(數字1)或"single"可系統進入單使用者模式(在引導模式下按e,選擇核心後再按e,追加"1"啟動)

單使用者模式下不啟用任何服務

單使用者模式直接以root使用者登入,並且不需要密碼

可以使用passwd修改root密碼

通過在grub.conf中的啟動配置中加入如下引數即可對grub進行加密:

password --md5 $1$ao---這裡是密碼

加密後的密碼可以通過grub-md5-crypt命令生成,將生成後的密碼替換上邊的密碼

rc.local檔案講解

很多人不知道rc.local和rc?.d的區別,rc.local是在系統初始化級別指令碼執行之後再執行的,因此可以安全地在裡面新增你想在系統啟動之後執行的指令碼。常見的情況是你可以再裡面新增nfs掛載/mount指令碼。此外,你也可以在裡面新增一些除錯用的指令碼命令。例如,我就碰到過這種情況:samba服務總是無法正常執行,而檢查發現,samba是在系統啟動過程中就該啟動執行的,也就是說,samba守護程式配置保證了這種功能本應該正確執行。碰到這種類似情況,一般我也懶得花大量時間去查為什麼,我只需要簡單的在/etc/rc.local指令碼裡加上這麼一行:

/etc/init.d/samba start

這樣就成功的解決了samba服務異常的問題。

Linux啟動過程(筆記)

首先 開啟pc電源時,cpu自動進入實模式,並從位址0xffff0開始執行 這個位址通常是rom bios中的位址。這時bios進行開機自檢,並按bios中設定好的引數進行啟動裝置,接著啟動裝置上安裝的引導程式lilo或grub開始引導linux 也就是啟動裝置的第乙個扇區 這時,linux才獲得啟...

Linux啟動過程

1 開啟 pc電源 pc加電後,乙個特殊的硬體電路會觸發 cpu 的 reset 腳的邏輯值,然後一些 cpu 暫存器,如 cs eip 等被給定乙個值,接著 cpu 跳轉到乙個固定位址開始執行 bios 2 bios 自檢,按設定的裝置啟動 bios 對硬體進行一系列徹底的檢查,如 cpu 型別 ...

Linux 啟動過程

fae 將porting 好的linux 提供,幾乎都在寫應用 空閒時間整理一下 b1202 系統啟動的過程 通過 boot vm 進行啟動 vmlinuz init 程序會讀取 etc inittab etc inittab 先 etc rc.d rc.sysinit 再 etc rc.d rc3...