Ubuntu系统---系统驱动丢失、Kernel内核卸载、禁止更新

  一早开机发现,ubuntu字体异常,字体很大,直接反应是驱动坏了。一查,确实丢失英伟达驱动,为什么呢?莫名的消失。想知道:1.英伟达驱动丢失的原因?2.如何解决和避免?

  上次,英伟达驱动出现问题,是循环在登陆界面。这次,英伟达驱动丢失,是内核升级了,不知道何时自动升级了,导致内核和驱动不兼容。

  摘至网络资源:”一般在运行apt upgrade时会自动更新Linux内核,但是有些时候更新内核后会出现驱动程序不兼容的情况。
我们可以使用以下命令降级内核:设置为hold状态的软件包,对于 apt upgrade 命令不会升级,但是依然可以通过 apt install 命令将其升级并将其状态切换到install。因此,从安全性角度看,这样做其实效果不大,仅仅是避免了偶然的操作失误。本人还是推荐使用 apt install 来进行“定点升级”。
考虑到这个问题可能是因为ubuntu的自动更新造成的,于是重新启动,在启动界面选择“ubuntu 高级选项”后,发现有两个内核,并且系统默认从新内核启动,选择旧内核启动后顺利进入桌面。其实可以选择更改内核启动顺序来解决这个问题,但我选择直接删除新内核。该方法同样适用于卸载系统中无用的旧内核。”

  最后:1.英伟达驱动丢失的原因?内核与驱动不匹配   2.如何解决和避免? 可以有的解决方式 重新装驱动 或 降低内核 或 选择匹配的内核,这里卸载内核并禁止更新,希望以后不要再出现错误。后附,解决问题时候些许笔记。

一、几个常用命令

.查看ubuntu版本号:
方法一:
cat /etc/issue 方法二:
sudo lsb_release -a 方法三:
cat /etc/lsb-release .查看内核版本号:
方法一:
cat /proc/version 方法二:查看系统当前的内核版本
uname -a 方法三:仅仅查看内核版本
uname -r 方法四:查看系统安装的所有内核版本
sudo dpkg --get-selections | grep linux 、删除内核
较新内核的版本为4.13.0-,使用以下命令删除该内核:
sudo apt-get purge linux-headers-x.x.x-x linux-image-x.x.x-x-generic 删除旧内核
sudo apt-get remove linux-image-x.x.x-x-generic
sudo apt-get remove linux-image-extra-x.x.x-x-generic 或用这个命令移除
sudo dpkg --purge linux-image-x.x.x-x-generic 、使用以下命令解除阻止:
sudo apt-mark unhold linux-image-generic linux-headers-generic
sudo apt update 、更新grub
sudo update-grub

二、查看详细问题

u@u1604:~$ sudo dpkg --get-selections  |  grep  'linux'
[sudo] u 的密码:
console-setup-linux install
libselinux1:amd64 install
linux-base install
linux-firmware install
linux-generic-hwe-16.04 install
linux-headers-4.15.- install
linux-headers-4.15.--generic install
linux-headers-4.15.- install
linux-headers-4.15.--generic install
linux-headers-4.15.- install
linux-headers-4.15.--generic install
linux-headers-generic-hwe-16.04 install
linux-image-4.15.--generic install
linux-image-4.15.--generic install
linux-image-4.15.--generic install
linux-image-generic-hwe-16.04 install
linux-libc-dev:amd64 install
linux-modules-4.15.--generic install
linux-modules-4.15.--generic install
linux-modules-4.15.--generic install
linux-modules-extra-4.15.--generic install
linux-modules-extra-4.15.--generic install
linux-modules-extra-4.15.--generic install
linux-signed-generic-hwe-16.04 install
linux-sound-base install
pptp-linux install
syslinux install
syslinux-common install
syslinux-legacy install
util-linux install
u@u1604:~$

先卸载headers。
sudo apt-get purge linux-headers-4.15.0-58
sudo apt-get purge linux-headers-4.15.0-58-generic

接着卸载image。
sudo apt-get purge linux-image-4.15.0-58-generic
sudo apt-get purge linux-modules-4.15.0-58-generic
sudo apt-get purge linux-modules-extra-4.15.0-58-generic

或者:
sudo apt-get purge linux-headers-4.15.0-58 \
linux-headers-4.15.0-58-generic \
linux-image-4.15.0-58-generic \
linux-modules-4.15.0-58-generic \
linux-modules-extra-4.15.0-58-generic

更新grub引导。
sudo update-grub

u@u1604:~$ sudo apt-get purge linux-headers-4.15.- \
> linux-headers-4.15.--generic \
> linux-image-4.15.--generic \
> linux-modules-4.15.--generic \
> linux-modules-extra-4.15.--generic
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
amd64-microcode intel-microcode iucode-tool linux-image-4.15.--generic
linux-modules-4.15.--generic linux-modules-extra-4.15.--generic
thermald
使用'sudo apt autoremove'来卸载它(它们)。
下列软件包将被【卸载】:
linux-generic-hwe-16.04* linux-headers-4.15.-*
linux-headers-4.15.--generic* linux-headers-generic-hwe-16.04*
linux-image-4.15.--generic* linux-image-generic-hwe-16.04*
linux-modules-4.15.--generic* linux-modules-extra-4.15.--generic*
linux-signed-generic-hwe-16.04*
升级了 个软件包,新安装了 个软件包,要卸载 个软件包,有 个软件包未被升级。
解压缩后将会空出 MB 的空间。
您希望继续执行吗? [Y/n]
(正在读取数据库 ... 系统当前共安装有 个文件和目录。)
正在卸载 linux-signed-generic-hwe-16.04 (4.15.0.58.) ...
正在卸载 linux-generic-hwe-16.04 (4.15.0.58.) ...
正在卸载 linux-headers-generic-hwe-16.04 (4.15.0.58.) ...
正在卸载 linux-headers-4.15.--generic (4.15.-58.64~16.04.) ...
正在卸载 linux-headers-4.15.- (4.15.-58.64~16.04.) ...
正在卸载 linux-image-generic-hwe-16.04 (4.15.0.58.) ...
正在卸载 linux-modules-extra-4.15.--generic (4.15.-58.64~16.04.) ...
正在清除 linux-modules-extra-4.15.--generic (4.15.-58.64~16.04.) 的配置文件 ...
正在卸载 linux-image-4.15.--generic (4.15.-58.64~16.04.) ...
I: /vmlinuz.old is now a symlink to boot/vmlinuz-4.15.--generic
I: /initrd.img.old is now a symlink to boot/initrd.img-4.15.--generic
I: /vmlinuz is now a symlink to boot/vmlinuz-4.15.--generic
I: /initrd.img is now a symlink to boot/initrd.img-4.15.--generic
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.--generic
/etc/kernel/postrm.d/zz-update-grub:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.--generic
Found initrd image: /boot/initrd.img-4.15.--generic
Found linux image: /boot/vmlinuz-4.15.--generic
Found initrd image: /boot/initrd.img-4.15.--generic
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Found Windows Boot Manager on /dev/sda1@/efi/Microsoft/Boot/bootmgfw.efi
Found Ubuntu 18.04. LTS (18.04) on /dev/sda7
Adding boot menu entry for EFI firmware configuration
done
正在清除 linux-image-4.15.--generic (4.15.-58.64~16.04.) 的配置文件 ...
rmdir: 删除 '/lib/modules/4.15.0-58-generic' 失败: 目录非空
正在卸载 linux-modules-4.15.--generic (4.15.-58.64~16.04.) ...
正在清除 linux-modules-4.15.--generic (4.15.-58.64~16.04.) 的配置文件 ...
u@u1604:~$

再次,查看当前信息:

u@u1604:~$ sudo dpkg --get-selections | grep 'linux'
console-setup-linux install
libselinux1:amd64 install
linux-base install
linux-firmware install
linux-headers-4.15.- install
linux-headers-4.15.--generic install
linux-headers-4.15.- install
linux-headers-4.15.--generic install
linux-image-4.15.--generic install
linux-image-4.15.--generic install
linux-libc-dev:amd64 install
linux-modules-4.15.--generic install
linux-modules-4.15.--generic install
linux-modules-extra-4.15.--generic install
linux-modules-extra-4.15.--generic install
linux-sound-base install
pptp-linux install
syslinux install
syslinux-common install
syslinux-legacy install
util-linux install
u@u1604:~$

禁止内核更新

sudo apt-mark hold linux-headers-4.15.0-55 \
linux-headers-4.15.0-55-generic \
linux-image-4.15.0-55-generic \
linux-modules-4.15.0-55-generic \
linux-modules-extra-4.15.0-55-generic

echo "linux-headers-4.15.0-55 hold" | dpkg --set-selections
echo "linux-headers-4.15.0-55-generic hold" | dpkg --set-selections
echo "linux-image-4.15.0-55-generic hold" | dpkg --set-selections
echo "linux-modules-4.15.0-55-generic hold" | dpkg --set-selections
echo "linux-modules-extra-4.15.0-55-generic hold" | dpkg --set-selections

u@u1604:~$ sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.--generic
Found initrd image: /boot/initrd.img-4.15.--generic
Found linux image: /boot/vmlinuz-4.15.--generic
Found initrd image: /boot/initrd.img-4.15.--generic
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Found Windows Boot Manager on /dev/sda1@/efi/Microsoft/Boot/bootmgfw.efi
Found Ubuntu 18.04. LTS (18.04) on /dev/sda7
Adding boot menu entry for EFI firmware configuration
done
u@u1604:~$

打开终端执行以下命令:
lspci | grep VGA     # 查看集成显卡
lspci | grep NVIDIA  # 查看NVIDIA显卡

NVIDIA提供了一个切换显卡的命令:
sudo prime-select nvidia # 切换nvidia显卡
sudo prime-select intel  # 切换intel显卡
sudo prime-select query  # 查看当前使用的显卡

linux内核镜像包含的包
    linux-image : 内核镜像
    linux-image-extra : 额外的内核模块
    linux-headers : 内核文件

参考并感谢:
Linux安装NVIDIA显卡驱动的正确姿势@https://blog.csdn.net/wf19930209/article/details/81877822
Linux内核卸载和禁止更新@https://blog.csdn.net/qq_40829288/article/details/96672970
如何阻止apt更新Linux内核@https://blog.csdn.net/yyws2039725/article/details/90999447
禁止ubuntu更新内核@https://www.cnblogs.com/medsci/p/8338170.html
Linux禁止内核更新@https://blog.csdn.net/liuwinner/article/details/91043386
Ubuntu删除多余内核@https://www.jianshu.com/p/f284bc90944f
ubuntu16.04 删除内核@https://www.cnblogs.com/sench/p/8567819.html
ubuntu16.04卸载自己安装的linux内核@https://jingyan.baidu.com/article/ff42efa9cdebecc19f220240.html

****《ubuntu18.04 内核自动更新导致驱动掉了》,考虑了一下是不是内核的问题,试了一下重启电脑选择低版本的内核,好用@https://blog.csdn.net/qq_43222384/article/details/90314297
****Ubuntu设置默认内核启动版本,图文@https://blog.csdn.net/SweeNeil/article/details/87937269
禁止ubuntu更新内核@https://blog.csdn.net/weixin_40522162/article/details/80302735
ubuntu不同版本的内核与显卡驱动兼容问题@https://blog.csdn.net/chenhezhuyan/article/details/23453217
ubuntu内核与驱动不兼容问题@https://blog.csdn.net/chaihuimin/article/details/71083397,将Ubuntu NVIDIA驱动卸载再重新安装即可
Ubuntu下默认更新内核或更新NVIDIA显卡驱动导致的重启无法进入操作系统@https://blog.csdn.net/huang98778/article/details/89922052
最全面解析 Ubuntu 16.04 安装nvidia驱动以及各种错误,进入blos关闭secure boot (华硕还有fast boot),否则无法安装
成功@https://blog.csdn.net/u014561933/article/details/79958017
Ubuntu16.04下安装显卡驱动+内核记录,@https://www.cnblogs.com/myblog1993/p/9284071.html
ubuntu循环登录问题的解决,@https://www.cnblogs.com/talugirl/p/5870875.html
Ubuntu16.04安装NVIDIA驱动时的一些坑与解决方案:一、循环登录;二、重启黑屏;三、驱动不工作@https://www.cnblogs.com/matthewli/p/6715553.html
[诡异现象] 开机进ubuntu系统莫名驱动丢失@https://blog.csdn.net/mcmggradty/article/details/43129351
ubuntu突然显卡消失,主要原因是ubuntu的内核发生改变,可能安装环境和软件的时候,系统内核也更新了@https://blog.csdn.net/zz2230633069/article/details/90553810
ubuntu16.04掉显卡驱动解决方法@https://blog.csdn.net/xiaohuhu11/article/details/90339697
ubuntu16.0.4 显卡驱动崩掉,如何重装@https://blog.csdn.net/u011345885/article/details/77329371

Ubuntu系统---系统驱动丢失、Kernel内核卸载、禁止更新的更多相关文章

  1. Ubuntu系统---NVIDIA 驱动安装

    Ubuntu系统---NVIDIA 驱动安装 第一次安装“NVIDIA 驱动”,小小的激动,因为终于可以玩GPU了.预想一块GPU,盼望太久,差点放弃,感谢J姐让我捡个漏.但是,第一次新的试错过程,网 ...

  2. win7/ubuntu双系统下,如何恢复成win7引导及卸载ubuntu

    电脑原来是win7系统,后来通过硬盘安装了Ubuntu,同时把Ubuntu设置成了开机引导项(开机时选择操作系统的界面成了紫色背景白色字体的界面),ubuntu引导开机的缺点是将来要卸载Ubuntu时 ...

  3. Win7与Ubuntu双系统时卸载Ubuntu的方法

    Win7与Ubuntu双系统时卸载Ubuntu的方法 [日期:2010-03-26] 来源:Ubuntu社区  作者:Ubuntu编辑 [字体:大 中 小]       1. 下载MBRFix工具,放 ...

  4. Win10 Ubuntu 双系统 卸载 Ubuntu

    Win10 Ubuntu 双系统 卸载 Ubuntu 其实卸载 Ubuntu 系统很简单,进 win10 系统之后,磁盘管理,格式化 Ubuntu 的磁盘就可以了. 但是最费劲的是什么呢? 就是格式化 ...

  5. 在win10、Ubuntu双系统下,卸载Ubuntu

    一.Win下确定ubuntu的磁盘分区 这个步骤是为了删除Ubuntu的系统分区,这种直接删除的方式来重新安装ubuntu的低版本比较省事. (1)右键计算机->管理->磁盘管理,打开磁盘 ...

  6. Ubuntu系统---nvidia驱动下载之问题

                                                                             Ubuntu系统---nvidia驱动下载之问题 百度 ...

  7. Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装

    Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装 目录: 一.OpenCV安装包下载 二.cmake安装 三.OpenCV安装 正文 一.OpenCV安装包下 ...

  8. [转帖]查看ubuntu 各系统的内核版本

    查看ubuntu 各系统的内核版本 https://www.cnblogs.com/ranxf/p/6923311.html /etc/issue /proc/version 1.查看ubuntu版本 ...

  9. 【linux基础】ubuntu系统NVIDIA驱动安装

    在安装GPU环境下的软件工具,特别是CUDA/CUDNN等,一定要先把GPU环境搭建好. NVIDIA驱动安装会遇到各种问题,真希望黄教主可以将各个工具如何安装使用讲解的更加细致.清楚一些,有时候按照 ...

随机推荐

  1. (1)、JEasyUI 之 Datagrid的Combobox 显示 textField 值的问题

    (1).JEasyUI 之datagrid的Combobox显示textField值的问题 官方的datagrid Demo Row Editing in DataGrid 中field 是否如下定义 ...

  2. Composer 笔记

    composer 依赖于git而设计的代码仓管理工具 1.可以通过手动配置源,获取代码 "require": { "group/val": "0.0. ...

  3. F2812 DSP程序运行在片内RAM和FLASH的区别

    F2812 DSP程序运行在片内RAM和片内FLASH的区别 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:F2812是带有内部Flash的DSP,与 ...

  4. 最新 蚂蚁金服java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.蚂蚁金服等10家互联网公司的校招Offer,因为某些自身原因最终选择了蚂蚁金服.6.7月主要是做系统复习.项目复盘.Leet ...

  5. python lanbda匿名函数(20)

    在python开发中常规的函数在调用之前都需要先声明,而python还有一种匿名函数,有速写函数的功能并且匿名函数不需要声明也没有函数名字,完全不需要担心函数名冲突,具体的妙用还需要从实战练习中多多积 ...

  6. 4、2 java 使用es

    1.导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  7. 1、4 前后端分离,写静态HTML文件,通过ajax 返回数据

    1.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...

  8. MVC-初识

    RAZOR视图介绍 一个cshtml,主体是一个html文本,里面可以写前台和后台代码,混合编写(个人认为不太好,应该分离),这个文件最后会被会被编译为一个类(所以他可以像类一样写一些方法,其他的地方 ...

  9. 在Settings.db数据库中添加一项新的设置(Settings默认设置)

    Settiings的数据默认存放在com.android.providers.settings/database/settings.db中 数据库中的默认数据在frameworks/base/pack ...

  10. K8S从入门到放弃系列-(6)kubernetes集群之kube-controller-manager部署

    摘要: 1.Kubernetes控制器管理器是一个守护进程它通过apiserver监视集群的共享状态,并进行更改以尝试将当前状态移向所需状态. 2.kube-controller-manager是有状 ...