@author: zhanjzh
前景说明:
在安装Nvidia显卡时尝试降级内核失败,导致系统崩溃
笔记本电脑配置为:msi 电脑,GTX 1050 ti,
对Ubuntu下安装显卡感兴趣的可以参考我另一篇博客
修复步骤
自行准备 Live-cd,实际上就是当初装系统用的启动盘。
首先,进入Live-cd1
sudo fdisk -l
列出磁盘信息,根据文件系统和分区大小判断出 根目录 / 所在分区
例如我的就是 /dev/sda3
之后挂载根目录以及旗下的一系列目录:
1 | sudo mount /dev/sda3 /mnt |
之后,如果你的boot目录是自己额外分区的(一般不会,但是我当初安装时搞事情额外分区了)
那么你就需要再找到boot目录对应的分区,例如我的分区就是 /dev/sda5
.
若你额外分区之后又没有挂载,那么接下来的命令你可能会失败。
使用chroot命令进入系统
1 | sudo chroot /mnt |
—— 分割线 ——-
Attention!
这时请注意,通过命令
1 | ls /boot/ |
查看boot目录下是否有系统启动需要的内核,例如:vmlinuz-4.0.15-22-generic
这样的东西,若没有需要自己重新安装,或者使用命令:
1 | sudo apt-get install linux-image-generic |
安装完毕之后,请确保执行下列命令:
1 | update-grub |
可以说这条命令是修系统的核心了,若没有执行这条命令,grub的配置
文件就不会被修改,就算前面做了再多也是无用功。
之后,
1 | exit |
PS: 如果你跟我一样自己额外挂载了boot目录,那么你首先需要卸载 /mnt/boot
在执行 sudo umount /mnt 之前需要执行:1
sudo umount /mnt/boot
然后,推荐关机之后再重启,因为你需要时间拔掉你的live-cd。
这时,进入引导项后,grub就应该找得到你的内核,不会再出现如下错误:1
2error: file '/vmlinuz-4.15.0-22-generic' not found
error: you need to load the kernel first
如果此时你的windows启动项不见了请不用慌张,进入Ubuntu系统或者
Advance ubuntu 选项,使用recovery mode
进入系统,总之进入Ubuntu系统后
再次执行:1
sudo update-grub
命令。然后重启,可以看到一切恢复正常。
参考了网上的教程以及论坛里的分析,根据自己系统的实际情况编写此教程,