1 系統啟動的流程
BIOS -> MBR+boot code -> 執行引導程序: GRUB -> 加載內核 -> 執行init -> 運行runlevel
2 啟動詳解
1 BIOS
1 BIOS 指的是基本的輸入輸出系統(basic input output system),一般保存在主板上的BIOS芯片中
2 計算機啟動的第一步一般都是先啟動BIOS,然後BIOS去檢查硬件以及查找可啟動的設備
3 可啟動的設備可以在BIOS中進行設置,包括USB , CDROM , HD等
2 MBR
1 MBR是512字節的,前446字節為引導代碼
2 BIOS“通過第一個扇區的512字節中最後兩個字節為55aa來判斷“設備為啟動設備
3 MBR只是去加載引導程序GURB
3 GRUB
1 GRUB是現在Linux使用的主流的引導程序
2 GRUB可以引導幾乎所有的操作系統
3 GRUB的相關文件保存在/boot/grub中
4 KERNEL
1 MBR的引導代碼將負責找到並加載Linux的內核
2 Linux內核保存在 /boot/vmlinuz......
3 一般還會加載內核模塊的打包文件 /boot/init.....
4 Linux為了保持內核的精簡會將一些不常用的驅動,功能編譯為模塊,然後在要用的時候動態的加 載,而這些模塊被保存為initrmfs文件
5 早期的Linux是使用initrd文件,但是現在的絕大多數的Linux版本都是使用initrmfs,這樣能夠更 節省空間,更加靈活
6 命令dmesg可以用來查看被次啟動內核的輸出信息
5 INIT
1 init 是Linux運行的第一個進程,init是所有進程的父進程,編號為1
2 調用/etc/rc.d/rc.sysinit來對系統進行初始化,掛載文件系統,並且根據運行級別啟動相應的程 序
3 Linux的運行級別
0 關機
1 單用戶模式
2 不帶網絡的多用戶模式
3 命令行的多用戶模式
4 未使用
5 圖形界面多用戶模式
6 重啟
4 我們可以通過runlevel查看之前和當前的運行級別
5 命令init可以用來查看改變當前的運行級別
6 單用戶修改root密碼
1 為內核傳遞參數“1”或者是“single”可使系統進入單用戶模式
2 單用戶模式不啟動任何的服務
3 單用戶模式直接以root登錄,不需要密碼
4 我們可以通過passwd來修改root的密碼
5 由於任何接近我們這個物理機的人都有可能修改我們的root密碼,因此我們可以通過GRUB加密來防 止密碼被修改
6 我們在grub.conf中的啟動設置裡面添加一行password --md5 加密後的串
密碼我們可以通過grub-md5-crypt 生成