CentOS6.4之Linux引導流程解析

? Linux引導流程
? Linux運行級別
? Linux啓動服務管理
? GRUB配置與應用
? 啓動故障分析與解決


? Linux引導流程

clipboard

經常使用固件設置
安全設置
可引導介質列表
可引導介質搜索順序
電源管理
啓動細節顯示

固件設置實例
clipboard

clipboard

MBR介紹
MBR,全稱爲Master Boot Record,即硬盤的主引導記錄。
爲了便於理解,通常將MBR分爲廣義和狹義兩種:廣義的MBR包含整個扇區(引導程序、分區表及分隔標識),也就是上面所說的主引導記錄;而狹義的MBR僅指引導程序而言。
硬盤的0柱面、0磁頭、1扇區稱爲主引導扇區(也叫主引導記錄MBR)。它由三個部分組成,主引導程序、硬盤分區表DPT(Disk Partition table)和硬盤有效標誌(55AA)。在總共512字節的主引導扇區裏主引導程序(boot loader)佔446個字節,第二部分是Partition table區(分區表),即DPT,佔64個字節,硬盤中分區有多少以及每一分區的大小都記在其中。第三部分是magic number,佔2個字節,固定爲55AA。
clipboard

Grub載入內核,指定內核路徑。
clipboard
vmlinuz-2.6.32-358.el6.x86_64此爲壓縮的可執行內核文件
clipboard

內核
clipboard

clipboard

init的工做
init啓動後讀取inittab文件,執行缺省運行級別,從而繼續引導過程。在UNIX系統中,init時第一個能夠存在的進程,它的PID恆爲1,但它也必須向一個
更高級的功能負責:PID爲0的內核調度器(Kernelscheduler),從而得到CPU時間。
clipboard

? Linux運行級別
inittab 文件剖析
運行級的切換:
1. 查看當前的運行級
clipboard
2. 運行級的切換
# init [0123456Ss] 或# telinit [0123456Ss]
clipboard

在inittab中,全部條目採起如下格式:
id:run-levels:action:process
id:標識符,通常爲兩位字母或數字
run-levels:指定運行級別,能夠指定多個
action:指定運行狀態
process:指定要運行的腳本/命令

clipboard
action經常使用取值:
initdefault:指定系統缺省啓動的運行級別
sysinit:系統啓動執行process中指定的命令
wait:執行process中指定的命令,並等其結束再運行其餘命令
once:執行process中指定的命令,不等待其結束
ctrlaltdel:按下Ctrl+Alt+Del時執行process指定的命令
powerfail:當出現電源錯誤時執行process指定的命令,不等待其結束
powerokwait:當電源恢復時執行process指定的命令
respawn:一旦process指定的命令停止,便從新運行該命令

clipboard
指定系統默認運行級別爲3,若是想系統啓動後自動運行X Window,則將上面的3改成5

clipboard

clipboard
啓動腳本/etc/rc.d/rc.sysinit,完成系統服務程序啓動,如系統環境變量設置、設置系統時鐘、加載字體、檢查加載文件系統、生成系統啓動信息日誌文件等。

clipboard

clipboard

判斷默認運行級別,調用/etc/rc.d/rc腳本,執行相應運行級別目錄中的服務程序,完成相應運行級別的初始化設置
clipboard
/etc/rc.d/init.d
該目錄下包含各個運行級別的服務程序腳本
clipboard

/etc/rc.d/rc[0123456].d
分別存放對應於運行級別的服務程序腳本的符號連接,連接到init.d目錄中的相應腳本
clipboard


? Linux啓動服務管理
設置自啓動程序
? ln -s
? chkconfig
? ntsysv
clipboard

clipboard

相關命令及日誌
? 運行dmesg檢查引導期間的錯誤
dmesg顯示內核驅動硬件的信息。
clipboard

? 檢查系統日誌/var/log/messages,查找可能被dmesg忽略的應用程序錯誤

? GRUB配置與應用
GRUB的配置文件默認爲/boot/grub/grub.conf
# ls -l /etc/grub.conf
clipboard
default定義缺省啓動系統
timeout定義缺省等待時間
splashp_w_picpath定義GURB界面圖片
hiddenmenu隱藏菜單
title定義菜單項名稱
root設置GRUB的根設備即內核所在的分區
kernel定義內核文件所在位置
initrd命令加載鏡像文件
clipboard
功能鍵:
e: 編輯當前的啓動菜單項
c: 進入GRUB的命令行方式
b: 啓動當前的菜單項
d: 刪除當前行
Esc: 返回GRUB啓動菜單界面,取消對當前單項所作的的任何修改

? 啓動故障分析與解決
單用戶模式應用
案例:root密碼忘記
進入單用戶模式從新設置root密碼,方法以下:
開機進入GRUB界面,按e進入編輯行模式,選中kernel行,再次按e鍵,在新的界面的最後一行輸入1或s,便可進入單用戶模式。
clipboard

clipboard

clipboard
下面已經進入單用戶模式了。
clipboard
passwd能夠進行重置密碼
clipboard

設置GRUB密碼
1. 使用GRUB自帶的grub-md5-crypt命令
[root@localhost ~]# grub-md5-crypt
Password:
Retype password:
$1$RngcE1$6Fv73guzmE7NvU.1gwGgb/
clipboard
2. 在GRUB交互命令行界面中使用md5crypt命令
grub> md5crypt    
md5crypt
Password: 99999999
99999999
Encrypted: $1$79hcE1$3YccUVPe4pDgnNWFKvXOV0
clipboard
一樣的明文口令每次加密得到的MD5密文口令也是不一樣的。
編輯GRUB配置文件,加入以下行:
password --md5  $1$79hcE1$3YccUVPe4pDgnNWFKvXOV0
--md5參數表示口令是MD5加密的。
GRUB加密分爲兩種:一、全局加密二、局部加密
clipboard
全局加密:
功能:鎖定啓動界面,禁止了
e    to edit the commands before booting
a    to modify the kernel arguments before booting
c    for a command-line
clipboard
這個全局加密最主要的功能就是edit the commands,此時就須要輸入全局密碼才能繼續。
clipboard

clipboard

局部加密:相對與某個特定的操做系統來進行控制。功能:用戶必須輸入密碼才能進入系統。
clipboard
輸入局部密碼後才能繼續啓動選定的操做系統

clipboard

GRUB修復
當開機後進入grub界面但沒有菜單,只剩下一個
grub>提示符,解決方法:
grub>cat /grub/grub.conf (爲查看參數)
grub>root (hd0,6)
grub>kernel (hd0,6)/vmlinuz-2.6.18-14 ro root=LABEL=/
grub>initrd (hd0,6)/initrd-2.6.18-14.img
grub>boot
相關內容能夠參考 製做CentOS 6.4 U盤啓動安裝盤

Linux修復模式
解決過程
1.把安裝盤放到光驅,而後從新啓動機器,在BOIS中把系統設置爲光驅引導。
2.等安裝界面出來後,選擇Rescue installed system,而後回車,進入修復模式。
clipboard
clipboard
END
相關文章
相關標籤/搜索