更换内核无非是更新内核版本&以前使用的内核版本损坏。
这里仅说明ubuntu进不了桌面的方法,其他仅作为参考
问题:
以前可以正常进入桌面,最近却卡在紫色logo或者卡在登陆界面却输入不了密码!
问题分析:
在grub引导界面的高级选项中的旧内核可以进去,那就是默认启动的内核有问题(或者根本和这没关系)
也有可能是显卡驱动导致,不过无论是什么,只要你能进旧内核就可以继续下一步操作!
解决方法:
文中以
linux-image-4.13.0-32-generic内核损坏,更换到linux-image-4.13.0-31-generic内核启动过程!
在grub引导项选择
高级选项然后选择较旧的内核进去 (不懂的话,选择倒数第三,第六依次测试)登陆系统并打开终端,保持机器联网
查看当前使用的内核:
1uname -r查看本地内核列表并记录坏的内核版本号(默认启动最高的内核版本):
1sudo dpkg --get-selections |grep linux-image
卸载损坏的内核:
1sudo apt remove linux-image-4.13.0-32-generic不想麻烦可以跳过到第十步!!!
查看可获取的内核:
1sudo apt-cache search linux | grep linux-headers-*安装
4.13.0-31-generic版本的内核1sudo apt install linux-heasers-4.13.0-31-generic linux-image-4.13.0-31-generic重启然后查看是否是你需要的内核版本,如果不是你需要在grub引导界面点击
高级选项并选择你安装的内核!重启之后你无需再次设置。(仅适于你安装的内核版本是你系统中最高的内核版本)终端执行:
123sudo apt updatesudo apt upgrade #等待更新完成sudo dpkg --get-selections |grep linux-image #查看是否有更高的版本,如果有可以重启机器!
注意:因为我这里是linux-image-4.13.0-32-generic降级到31,并且卸载32版本的内核情况下,重启默认是启动31版本的!但是,以后使用sudo apt update , sudo apt upgrade命令的话他是默认更新内核并启用的,其他内核不能用或者你只想要指定的内核请往下看!
降级内核
显示内核的顺序
1grep 'menuentry' /boot/grub/grub.cfg
以图为例,青蓝色画出的$menuentry_id_option字段复制后面单引号里面gnulinux-advanced-dc69089e-d04e-4994-a193-ea4d78b3d29a就是我们需要的信息,然后第二个红框画出来的是我们要启动的内核menuentry 'Ubuntu,Linux x.x.x-x-generic'在这个里面同样有一个$menuentry_id_option字段也是一样复制后面单引号里面的内容gnulinux-4.13.0-31-generic-advanced-dc69089e-d04e-4994-a193-ea4d78b3d29a需要注意的是一个内核基本有三个差不多一样的,注意看清就能分辨,另外单引号里面的内容不是同一台机器可能不是一样的!编辑/etc/default/grub文件中的
GRUB_DEFAULT图112sudo vim /etc/default/grub格式: "高级设置ID>内核ID"
注意格式!将0改为"高级设置ID>内核ID"然后保存退出更新引导
1sudo update-grub
重启后,使用命令uname -r查看,内核即为你想要的内核
参考:
http://blog.csdn.net/zs15yy/article/details/77188030
