ubuntu啟動失敗,出現missing modules


參考這兩篇文章解決了問題:

Ubuntu啟動時停止的問題(http://www.linuxidc.com/Linux/2011-06/37950.htm)

PowerEdge T410安裝ubuntu14.04/14.10錯誤一則(http://blog.cnrainbird.com/index.php/2015/01/08/poweredge_t410_an_zhuang_ubuntu14_04_14_10_cuo_wu_yi_ze/)

現象

當時用的操作系統是ubuntu14, 在一台dell服務器上出現了問題。

在啟動系統啟動界面,出現如下信息,並停止啟動。(注意,這是在安裝好系統后,系統的啟動過程出現的問題,而非安裝過程。)

Gave up waiting for root device. Common problems:
– Boot args (cat /proc/cdmline)
– 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)
ALERT! /dev/disk.by-uuid/9d77fcd2-5fc1-419d-939c-af16be94fd34  does not exist. Dropping to a shell!

BusyBox v1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) built-in (ash)
Enter ‘help’ for a list of builtin commands.

(initramfs)
 

原因

 按參考的文章:grub引導參數中rootdelay設置的時間太短,導致系統還沒有正常加載完設備驅動就已經開始尋找root分區,而導致找不到/root分區。

解決

當系統啟動停止在這個界面時,輸入“exit”並回車,系統將繼續引導,能夠成功進入系統。對於ubuntu系統,可以按如下方法修復。

1. 編輯/etc/default/grub文件
在GRUB_CMDLINE_LINUX這個配置項中加上rootdelay=90
例:GRUB_CMDLINE_LINUX=”rootdelay=90″
說明:90表示延時的時間,可根據自己的實際情況改,比如我自己的服務器我將90改成60也可以,說不定再改短一點也行,只是沒去嘗試。

2.執行命令:update-grub
用來更新引導菜單

到此已完全解決,下次啟動就不會出現這個問題了。

上面的修復方法實質上就是修改grub的引導參數,對於其他linux發行版本,想辦法修改grub對應的引導參數就可以了。

舉個例子:grub引導菜單某一菜單項有一條如下命令

linux   /boot/vmlinuz-4.4.0-31-generic root=UUID=8cfd2963-4616-4c18-bb1f-c6f6e8eaa9ed ro hugepagesz=2M hugepages=1024 net.ifnames=0 biosdevname=0

只需要在此項后面加上rootdelay=xx就可以了,xx是自己設定的延遲時間。(注意rootdelay參數與前面的參數間有空格)

linux   /boot/vmlinuz-4.4.0-31-generic root=UUID=8cfd2963-4616-4c18-bb1f-c6f6e8eaa9ed ro hugepagesz=2M hugepages=1024 net.ifnames=0 biosdevname=0 rootdelay=90

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM