更换内核无非是更新内核版本&以前使用的内核版本损坏。
这里仅说明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
