重新安装nvidia驱动解决内核自动更新导致的docker无法启动问题

1. 问题

ubuntu内核自动更新,导致nvidia驱动失效,docker无法正常启动。

2. 解决措施

1.切换到ubuntu老版内核,卸载ubuntu新内核,关闭内核自动更新
2.重新安装nvidia驱动

2.1 切换内核

查看当前内核

uname -r

DELL ubuntu系统:开机启动时按ESC进入advance ubuntu界面,选择老版内核启动

查看已安装的 Linux 内核列表:

dpkg --list | grep linux-image

在这里插入图片描述

其中,ii:表示已安装,并成功安装和配置。rc:表示已删除,但配置文件仍然存在。它表示该软件包已被删除,但其配置文件仍然存在于系统中。

删除特定内核

sudo apt purge linux-image-x.x.x-x-generic

在这里插入图片描述

删除最新的内核后,运行以下命令更新

sudo update-grub

GCC版本

此时安装nvidia驱动仍有失败,个人安装的ubuntu22.04+NVIDIA-Linux-x86_64-535.129.03,显卡版本高而gcc版本低,安装gcc-12显示已安装,还需执行

sudo apt install gcc-12
sudo ln -sf /usr/bin/gcc-12 /etc/alternatives/cc

另外执行以下命令核查一下

sudo apt-get update
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
sudo apt-get install build-essential

2.2 关闭内核自动更新

检查以下两个配置文件参数,全部改为0

cat /etc/apt/apt.conf.d/10periodic 
cat /etc/apt/apt.conf.d/20auto-upgrades 

重新启动 Ubuntu 系统

sudo reboot -i

2.3 重装nvidia驱动

卸载nvidia驱动

sudo apt-get purge nvidia*
sudo chmod a+x NVIDIA-Linux-x86_64-535.129.03.run
sudo ./NVIDIA-Linux-x86_64-535.129.03.run -uninstall     #确认是否已经完全卸载已有驱动

安装前准备

sudo telinit 3  #进入文本界面,如果界面无任何显示,可以试试ctrl+alt+F2或ctrl+alt+F3或ctrl+alt+F4等,不同电脑有差异
sudo service gdm3 stop   #停止显示服务

驱动安装
文本界面进入驱动路径下

sudo chmod 777 NVIDIA-Linux-x86_64-535.129.03.run             #赋权限
sudo ./NVIDIA-Linux-x86_64-535.129.03.run  --no-opengl-files  #安装

安装选项

1.The distribution-provided pre-install script failed! Are you sure you want to continue?

选择continue installation

2.Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?  

选择 No。

3.问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No。

4.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.  

选择 No 

安装完成后重新开启显示服务

sudo service gdm3 start   #重启显示服务

进入系统后输入,看到相关信息后安装完成

nvidia-smi

3. 重启docker服务

 systemctl restart docker 

再启动docker即可。

4. 参考

https://blog.youkuaiyun.com/qq_34972053/article/details/126707938
https://blog.youkuaiyun.com/weixin_43312117/article/details/137061629
https://blog.youkuaiyun.com/ghcony/article/details/129702942
https://blog.youkuaiyun.com/qq_45729028/article/details/135646946

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值