GRUB引導的stage1階段損壞,系統(tǒng)啟動會直接進入光盤引導界面轩猩,stage1.5階段損壞,系統(tǒng)啟動失敗且不會自動進入光盤引導界面 grub-install修復grub后,則將grub相關的文件放置于grub目錄下陪踩,若某文件丟失杖们,則導致啟動失敗
一. 修改默認啟動程序
/sbin/init進程被破壞,則系統(tǒng)啟動時不能正常啟動肩狂,則可將第一啟動進程改為/bin/bash

在當前界面的 rhgb quiet 后面編輯init=/bin/bash (rhgb 啟動過程圖形界面顯示 quiet 顯示內(nèi)核啟動過程)


/bin/bash環(huán)境下,文件系統(tǒng)只讀掛載傻谁,mount -o remount孝治,rw / 讀寫掛載文件系統(tǒng)
ctrl+alt+del 退出系統(tǒng)
二、服務無法啟動审磁,導致開機失斕胳(在單用戶或/bin/bash環(huán)境下修改服務的開機啟動項)
進入當前界面,按a鍵


執(zhí)行命令
chkconfig --list 查看服務啟動失敗的進程是否在指定模式下開啟 chkconfig sshd on 開始服務的進程杭措,默認運行級別為2345,也可自定義運行級別钾恢,在此以sshd服務為例 chkconfig --level 2 sshd on 只啟動sshd服務在運行級別2下啟動 reboot 重啟系統(tǒng)
三手素、修復grub目錄和grub.conf文件
GRUB引導的stage1階段損壞,系統(tǒng)啟動會直接進入光盤引導界面瘩蚪,stage1.5階段損壞泉懦,系統(tǒng)啟動失敗且不會自動進入光盤引導界面grub-install修復grub后,則將grub相關的文件放置于grub目錄下疹瘦,若某文件丟失崩哩,則導致啟動失敗grub-install --root=directory /dev/sda 安裝grub文件,--root指定grub的跟目錄言沐,默認選擇在/下的boot目錄邓嘹,/dev/sda指定安裝的磁盤設備

生成grub文件

編輯/boot/grub/grub.conf文件

chroot /mnt/sysimage 進入系統(tǒng)真實系統(tǒng)下 df -h 觀察發(fā)現(xiàn)/掛載到/dev/sda2分區(qū)上 grub-install /dev/sda 在/掛載磁盤生成grub目錄 vim /boot/grub/grub.conf default=0 \默認進入第一個引導系統(tǒng) timeout=5 \ 5秒后自動進入啟動界面 hiddenmenu \隱藏菜單 title danran \ 標簽 root (hd0,0) boot目錄在(hdo,0)分區(qū)上 kernel /vmlinuz-2.6.32-696.e16.x86_64 ro root=/dev/sda2 或 kernel /vmlinuz-2.6.32-696.e16.x86_64 ro root=UUID=XXXXX \指明內(nèi)核文件,ro為只讀掛載呢灶,root指定跟分區(qū)吴超,rhgb為啟動過程圖形化顯示的參數(shù),quiet為顯示內(nèi)核啟動過程的參數(shù) initrd /initramfs-2.6.32-696.e16.x86_64.img 指明ramfs文件
四鸯乃、當在grub.conf文件中鲸阻,將kernel和initrd的順序?qū)懛戳耍瑢е聠邮∮瑥亩R時在啟動時調(diào)整/boot/grub/grub.conf文件中kernel和initrd的順序
/boot/grub/grub.conf文件中的kernel和initrd的順序是固定的kernel /vmlinuz-2.6.32-696.e16.x86_64 ro root=/dev/sda2initrd /initramfs-2.6.32-696.e16.x86_64.img 指明ramfs文件如下圖所示



將最上面錯誤的哪行initrd按‘d’鍵刪除奖年,然后按‘b’鍵啟動


五细诸、在系統(tǒng)啟動臨時使用命令行編輯/boot/grub/grub.conf文件
在系統(tǒng)僅損壞/boot/grub/grub.conf文件時,系統(tǒng)在啟動時會自動進入如下界面






六、在系統(tǒng)啟動界面命令行修復grub目錄
使用grub-install /dev/sda命令生成grub目錄
mv /boot/grub /appgrub-install /dev/sda

使用grub命令交互安裝grub(修復stage1和stage1.5階段)
grub交互命令依賴于/boot/grub/目錄下的stage文件
dd if=/dev/zero of=/dev/sda bs=1 count=446 破壞引導記錄grub的第一階段stage修復操作: grub grub > root (hd0,0) 表示/boot分區(qū)的磁盤分區(qū)位置在第一塊磁盤的第一塊分區(qū)上 grub > setup (hd0) stage1分區(qū)不屬于任何分區(qū)寇甸,故只需指明磁盤即可

dd if=/dev/zero of=/dev/sda bs=1 count=4000 skip=512 seek=512 破壞引導記錄grub的第1.5階段stagemv /boot/grub/stage1_5 /appmv /boot/grub/stage2 /app 將grub目錄下的stage1.5和stage2階段的文件移除塘偎,然后執(zhí)行修復操作 修復操作: grub grub > root (hd0,0) 表示/boot分區(qū)的磁盤分區(qū)位置在第一塊磁盤的第一塊分區(qū)上 grub > setup (hd0) stage1分區(qū)不屬于任何分區(qū),故只需指明磁盤即可

故grub交互命令依賴于/boot/grub/目錄下的stage文件
七拿霉、修改系統(tǒng)啟動背景圖片(圖片格式只能為.xpm.gz格式)
將本地圖片(640X480)上傳到Linux系統(tǒng)的/boot/grub目錄下
格式轉(zhuǎn)換為*.xpm.gz格式轉(zhuǎn)換需要使用convert工具
which convert 查看工具的路徑 rpm -qf which convert
查看工具對用的安裝包convert -resize 640X480 -colors 14 win.png win.xpm -resize指定圖片的大小 -colors指定顏色為14位吟秩,win.png圖片轉(zhuǎn)換為win.xpm

win.xpm圖片文件進行壓縮打包為win.xpm.gz
gzip win.xpm
編輯grub.conf文件,將win.xpm.gz圖片文件路徑寫入
splashimage=(hd0,0)/grub/win.xpm.gz (hd0,0)表示boot的/

啟動界面如下

八绽淘、在grub.conf文件中添加密碼口令涵防,從而達到進單用戶或菜單啟動 界面加密的目的
密碼放在不同的位置,即產(chǎn)生不同的加密效果
在系統(tǒng)中執(zhí)行命令 grub-md5-crypt 生成md5加密口令 grub-crypt 生成512加密口令

在grub.cfg文件中編輯 password --[md5] 口令 增加加密口令或md5加密 password --encrypted 口令 添加512加密口令

加入的兩個密碼都不影響電腦的正常啟動沪铭,只是在編輯啟動設置選項時起作用武学;第一個password --md5加密是在菜單選擇時輸入密碼,第二個password --encrypted加密是在編輯系統(tǒng)啟動設置時輸入密碼伦意,如下所示


進入系統(tǒng)時的界面的加密

當如下界面按‘b’鍵啟動時,將會進入第二次加密512口令加密界面

密碼輸入正確已骇,即可正常進入系統(tǒng)

結論
在grub.conf文件上的不同的位置設置密碼离钝,發(fā)生的效果不同,故需準確明白需要在啟動的哪個階段加密從而才能在適當?shù)奈恢锰砑用艽a褪储,否則可能不產(chǎn)生理想的效果卵渴,在title之前添加密碼即為啟動菜單選擇界面加密,在title之后為選擇title之后的加密鲤竹,在內(nèi)核文件之后添加密碼即為啟動系統(tǒng)加密