1. 程式人生 > >ubuntu啟動進入(initramfs) 解決辦法

ubuntu啟動進入(initramfs) 解決辦法

問題故障現象照片

這個問題就是grub  的rootdelay時間太短了。

解決辦法:

1、(initramfs)後面直接輸入exit。這樣可以直接進入作業系統登入介面。

     或者

         在系統選單介面,就是grup介面,有三個選單選項:如下

                              Ubuntu 9.04, kernel 2.6.28-11-server

                              Ubuntu 9.04, kernel 2.6.28-11-server (recovery mode)

                              Ubuntu 9.04, memtest86+

               選中第一個按“e”,然後出現如下資訊:

                             uuid c757c22c-b798-433a-b284-8bca8e084406

                       kernel /vmlinuz-2.6.28-11-server root=/dev/mapper/shangri–la-root ro quiet splash

                       initrd /initrd.img-2.6.28-11-server

                           選中第二個選項,按“e”,然後在後面新增  rootdelay=90  就變成如下情形:

                                    kernel /vmlinuz-2.6.28-11-server root=/dev/mapper/shangri–la-root ro quiet splash    rootdelay=90

                           就選中這一項按“b”   這樣就可以進入作業系統了。進入系統後:

 2、進入系統後:

輸入以下命令:

進入檔案後按insert,然後一直往下翻,找到如下配置、


在上面截圖中綠色游標後面新增 rootdelay=90  ,如下截圖




儲存退出,重啟機器就OK了。這個rootdelay值我喜歡設定成90,其實你也可以設定成其它的,建議60以上。





====================================

安裝好eucalyptus ,由於打雷,還是把Ubuntu伺服器關了,結果第二天來開機發現3臺伺服器都出現下面的提示,並停在initramfs了@[email protected]

Gave up waiting for root device.Common programs:

—Boot args(cat /proc cmdline)

—Check rootdelay=(did the system wait long enough?)

—Check root=(did the system wait for the right device?)

—Missing modules (cat /proc/modules: ls /dev)

沒理由那麼杯具吧。按照提示來檢查:

1.Boot args

安裝好之後沒有修改過grub.cfg,也沒有重啟,估計不是這個問題。

2.rootdelay

難道伺服器啟動慢?新到的R525,雙U,8G記憶體,沒理由啊。不會是因為加了個LSI HBA卡就這樣吧?算了,還是加上延遲來試試。

使用server 的安裝光碟啟動,選擇 Rescure a broken system,像裝系統那樣一步步進行,最後在選擇執行shell 位置的時候選擇原來系統的根/。由於之前把/boot單獨分來出來,這裡掛載一下並修改/boot/grub/grub.cfg為可寫,然後在 kernel        /boot/vmlinuz-2.6.32-24-generic root=UUID=7e4d787a-8081-4f79-b2c4-9945912697a4 ro quiet 後面加上 rootdelay=60 ,用sed -i 's/quiet/quiet\ rootdelay=60/' /boot/grub/grub.cfg 可直接替換,不熟悉就用vi吧, rootdelay=60表示延遲60秒。重啟!

Lucky ,搞掂!

3.後面的就不用檢查了^_^

4.為了避免更新核心時 rootdelay 引數被覆蓋,可以修改 /etc/default/grub 的 GRUB_CMDLINE_LINUX_DEFAULT="quiet rootdelay=60" ,這樣下次就不會被覆蓋了。