grub2故障舉例及修復

一、CentOS7/RHEL7啓動先從加點自檢開始,然後會將控制權交給BIOS,BIOS工作完成後會將控制權交給GRUB。GRUB在整個啓動流程中起到很大的作用,而GRUB中最重要的就是/boot/grub2/grub.cfg配置文件。啓動過程中通過臨時修改GRUB可以做很多事,包括修改root密碼這種危險操作,所以需要對grub.cfg做一些必要操作。
1、設置grub密碼
通過grub2-mkpassword-pbkdf2生成加密密碼,並編輯配置文件00_header(注意在RHEL6時我們可以直接修改/boot/grub/grub.conf,如今在RHEL7官方建議修改grub的模板文件,然後將模板文件編譯進入grub.cfg)
grub2故障舉例及修復
grub2故障舉例及修復
通過模板文件編輯配置
grub2故障舉例及修復
查看/boot/grub2/grub.cfg,可以看到已經自動將我們對00_header做的配置編譯到該文件
grub2故障舉例及修復
重啓後,在開機時想要編輯grub需要輸入用戶和密碼
grub2故障舉例及修復
2、通過grub修改終端界面的窗體大小。開機後編輯grub配置,在下圖位置添加vga=ask,然後按ctrl+x啓動
grub2故障舉例及修復
800X600這個大小看着比較舒服,輸入對應十六進制,回車即可
grub2故障舉例及修復
如果想要永久生效,編輯/etc/default/grub文件即可。注意,如果直接指定大小,需要明確表明340是十六進制,寫法是0x340
grub2故障舉例及修復
通過通過grub2-mkconfig使配置編譯到grub.cfg
grub2故障舉例及修復
3、應急模式。在下圖位置,填寫s。
grub2故障舉例及修復
注意:應急模式需要root密碼。通過netstat查看當前開放的端口、服務,可以看到爲空。
grub2故障舉例及修復
4、修該root密碼。如圖,輸入
grub2故障舉例及修復
重新掛載文件系統,改爲讀寫模式,就可以修改了。修改完畢後,需要touch /.autorelabel,否則selinux會影響我們進行的操作。
grub2故障舉例及修復
5、grub程序故障。
模擬故障
grub2故障舉例及修復
解決辦法:進入救援模式,重新安裝grub程序。
首先,進入救援模式
grub2故障舉例及修復
grub2故障舉例及修復
grub2故障舉例及修復
注意:輸入df查看當前的文件系統掛載信息。可以看出,我們的boot分區位於/dev/sda1上;通過fdisk -l /dev/sda也可以看到操作系統就安裝在該文件系統。所以,我們需要將grub程序安裝在/dev/sda1上,完成修復。
進入急救模式,安裝grub程序前,需要先切換根環境到/mnt/sysimage。否則是無法安裝的,如下。
grub2故障舉例及修復
6、模擬grub配置文件丟失;內核文件和虛擬文件系統文件丟失。
grub2故障舉例及修復
重啓後,系統直接提示進入救援模式。
grub2故障舉例及修復
修改BIOS讓光盤引導操作系統
grub2故障舉例及修復
同樣進入到/mnt/sysimage根環境中進行操作。掛載系統盤,安裝kernel,然後安裝grub程序,最後生成grub.cfg配置文件。(三者缺一不可,原因參照其引導過程)
grub2故障舉例及修復
解決後,我們修改BIOS,將引導順序改回到磁盤優先。(工作中,爲防止有人理由修改BIOS的手段***操作系統,需要設置BIOS密碼)
7、MBR扇區故障。
MBR扇區故障,如果沒有備份將會是一件很麻煩的事。工作中也應當將MBR扇區進行備份。
備份MBR扇區(備份MBR需要將備份到沒有安裝操作系統的硬盤上)
grub2故障舉例及修復
模擬故障
grub2故障舉例及修復
同樣進入救援模式,創建一個目錄,將存有MBR備份的分區掛載到該目錄,然後即可還原
grub2故障舉例及修復

©著作權歸作者所有:來自51CTO博客作者張晨chat的原創作品,如需轉載,請註明出處,否則將追究法律責任


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章