天天看點

linux_grub引導修複

測試環境:Virtualbox+Ubuntu 15.10

軟體版本:VirtualBox Graphical User Interface

Version 5.0.12 r104815

虛拟機運作發行版:centos-6.7-i386

時間:2015-12-30 22:20

測試過程:模拟/boot/grub/grub.cfg檔案損壞,具體操作為删除/boot/grub/grub.cfg這個檔案,然後重新開機。

解決方案:以下為成功的案例,第2步可不加enforcing=0這個選項

1、root (hd0,0)

2、kernel /vmlinuz-2.6.32-573.e16.8686 ro root=/dev/dm-0 quiet rhgb #後面可加enforcing=0

3、inid /initramfs-2.6.32-573.e16.i686.img

4、boot

a) 關于第2步中的參數解釋

i. ro 将分區挂載為隻讀模式

ii. root=/dev/dm-0 為指定挂載根目錄的位置,由于我安裝虛拟機系統的時候選擇的是LVM,是以而不是普通的/dev/sda2(當然你如果是先分/boot分區的話,這個看具體的情況了)

iii. quiet 表示隻顯示重要的資訊,而還是全部的,類似于硬體自檢的消息不回顯示

iv. rhgb redhat graghic boot,會看到圖檔代替啟動過程中的顯示檔案資訊,這些資訊可以在系統啟動後通過dmesg看到,當然也可以在啟動的時候按esc或者是上、下方向鍵來檢視

rhgb = redhat graphical boot - This is a GUI mode booting screen with mnost of information hidden while the user sees a rotating activity icon snipping and brief information as to the computer is doing.

quiet = hides the majority of boot messages before rhgb starts. These are supposed to make the common user more comfortable. They get alrmed about seeing the kernel and initializing messages, so they hide them for their comfort.

詳細配置如下:

linux_grub引導修複

測試中遇到的問題:

1、在配置核心上司檔案以及根目錄位置的時候出現問題,配置完顯示Kernel panic - not syncing: Attempted to kill init!

linux_grub引導修複

解決方案:由于之前有備份的,是以檢視了原來的grub.cfg中的内容,原來配置檔案中的根目錄的挂載位置為/dev/mapper/vg_server-LogVol01,是以我在grub界面直接把這個路徑改為root=/dev/mapper/vg_server_LogVol01 quiet rhgb,然後按照之前做的,重新開機就沒有問題了。

如下圖,下面是我根目錄的挂載位置

linux_grub引導修複

2、在配置kernel /vmlinuz-2.6.32-573.e16.8686 ro root=/dev/sda2 quiet rhgb,inid /initramfs-2.6.32-573.e16.i686.img,boot後,重新開機提示FATAL: Could not load /lib/moudles/2.6.32-573.12.1.316.i686/moudles.dep:no such file no directory

linux_grub引導修複

解決方案:由以上的提示資訊可以猜測,是因為核心檔案對應的驅動檔案找不到,是以導緻系統加載不正常。

由于之前沒有手動編譯更新核心,是以我boot目錄下的那個檔案應該是我在執行yum update時生成的,但是由于當時強制中止了yum的運作是以yum生成的新核心對應的庫檔案找不到,是以自然就加載不成功了。

因為我目前系統上有一個可用的核心版本,是以我就編輯了/boot/grub/grub.cfg檔案,把裡面相關新核心的引導直接幹掉,然後再把相應的核心檔案以及相應的驅動檔案删除,就可以正常的啟動系統了。

rm -f /boog/vmlinuz-2.6.32-573.12.1.e16.i686

rm -rf /lib/modules/2.6.32-573.12.1.e16.i686/

/boot/grub/grub.cfg檔案修改為下圖即可

linux_grub引導修複

特别聲明:要養成良好的習慣,操作之前請備份你認為重要的資料!!!

繼續閱讀