問題原因:內核的某次升級,導致系統無法啟動。
首先進入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升級內核后常常產生新的內核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一下,重啟,就可以直接進入。