Linux內核升級導致無法啟動,Kernel panic - not syncing Unable to mount root fs on unknown block(0,0)


問題原因:內核的某次升級,導致系統無法啟動。

首先進入recovery模式:引導界面選擇-->Ubuntu高級-->出現的選項中選擇能夠啟動的recovery模式(幾個內核版本分別試一下)-->確認后就能看到一個界面出現很多選項,選擇第一個recovery模式-->OK。(大概步驟就是這樣,自己摸索一下就出來了)

然后就進入系統了。在這里操作如下

1,查看/boot/下的文件

abi-4.4.0-31-generic memtest86+.bin
abi-4.4.0-98-generic memtest86+.elf
config-4.4.0-31-generic memtest86+_multiboot.bin
config-4.4.0-98-generic System.map-4.4.0-31-generic
grub System.map-4.4.0-98-generic
initrd.img-4.4.0-31-generic vmlinuz-4.4.0-31-generic
initrd.img-4.4.0-98-generic vmlinuz-4.4.0-98-generic

發現存在兩個版本的內核,原因應該是某次自動更新??不知道

2,嘗試修改/boot/grub/grub.cfg

定位到某個menuentry(你自己需要啟動的那個系統),如下是我無法啟動的系統的menuentry

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-c9ddf11a-a984-4854-91af-bcaed3e6c9b9' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos9'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9 c9ddf11a-a984-4854-91af-bcaed3e6c9b9
else
search --no-floppy --fs-uuid --set=root c9ddf11a-a984-4854-91af-bcaed3e6c9b9
fi
linux /boot/vmlinuz-4.4.0-31-generic root=UUID=c9ddf11a-a984-4854-91af-bcaed3e6c9b9 ro quiet splash $vt_handoff
initrd /boot/initrd.img-4.4.0-31-generic
}

標紅的版本,將自己系統中的高版本修改為低版本。如我的系統版本原來是31,不知道為什么升級成了98,修改回來。

重啟就能啟動了。

 

Ubuntu升級內核后無法啟動

 Ubuntu升級內核后常常產生新的內核grub無法啟動,只能進入Ubuntu圖標,加載進度條沒有反應,呈現紫葡萄色背景的界面不動。而通過grub的原先內核版本啟動,仍然能夠啟動。原因是新升級的內核與顯卡等不兼容,需要更新顯卡驅動。另外如果不想麻煩,可以直接內核降級,回到升級之前的版本:

    找出系統已經安裝的內核版本,在終端里輸入命令:

    dpkg --get-selections | grep linux-image

    然后會顯示系統中已安裝的內核,例如:

    linux-image-3.0.0-32-generic           instal
    linux-image-3.0.0-12-generic           install
    linux-image-generic               install

    卸載新的內核版本,在終端里輸入命令:

    sudo apt-get removelinux-image-3.0.0-32-generic

    上面命令和含義是:

    dpkg --get-selections [<表達式> ...]把已選中的軟件包列表打印到標准輸出;

    grep linux-image 匹配查找;

    uname -a 查看已安裝的linux內核版。

    發現只有原先的內核版本了

    最后update-grub一下,重啟,就可以直接進入。


免責聲明!

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



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