晚上本想修改一下grub.cfg文件,去掉多餘的引導項,沒成想出現如題之尷尬局面。。。
一番度娘之後終解決,下面是解決方法:
Note: 在grub下,注意提示按c進入grub命令行模式
首先需要確定你的ubutun安裝到哪個硬盤哪個區;
1.1 可以先使用ls命令,查看所有硬盤分區,如(hd0), (hd1,gpt1)等等。
1.2 然後再使用ls (hd1, gpt8)查看。如果出現unknown filesystem則嘗試其他的;如出現的是你ubutun主文件夾和文件的名字,基本就是它了。
確定之後,按照4步下面進行設置;
set root=(hd1,gpt8)
set prefix=(hd1,gpt8)/boot/grub
linux /boot/vmlinuz-xxx-xxx root=/dev/nvme0n1p8
上面這一步,要說兩點:
(1)xxx-xxx是可以tab補全的。如果雙tab後沒有,有可能你第一步分區都沒找對。
(2)/dev/nvme0n1p8這個分區,由於是在固態盤裏,所以映射成nvme0n1p8了。猜測這裏的8和第一步的gpt8中的8應該是一致的。但不能寫成/dev/sda8。
initrd /boot/initrd.img
boot
boot之後應該就可以重新進入ubutun了。重新進入後,要做的就是更新grub配置。很簡單,只需要下面一句:
sudo update-grub
該事件原因分析:由於/boot/下的vmlinuz文件丟失(原因暫不詳),但grup.cfg還是原先版本的vmlinuz,所以啓動找不到,kernel起不來。
順提一句,去掉grub多餘引導項要修改的文件就是/boot/grub/grub.cfg. 去掉的內容可以參考此文去除多餘引導項。