解决因ubuntu自动升级内核造成的nvidia-smi失效

由于在装ubuntu2004的时候没有关闭自动更新内核,导致在一次关机之后auto update了,再启动发现无法使用nvidia-smi

nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

解决办法是回退到之前安装nvidia显卡驱动的老内核,并把自动升级的内核卸载掉。下面是详细过程。

查看当前系统内核

uname -a

找到机器已安装内核

在终端里输入命令:
dpkg --get-selections | grep linux-image
输出如下:

(oa) ➜  下载 dpkg --get-selections | grep linux-image
linux-image-5.15.0-139-generic			install
linux-image-5.4.0-26-generic			install
linux-image-5.8.0-38-generic			deinstall # 这里是因为我已经将其卸载
linux-image-generic-hwe-20.04			instal

卸载新的内核版本:

sudo apt-get remove linux-image-5.8.0-38-generic

卸载后可以参考https://blog.csdn.net/sdbyp/article/details/139853774重新安装一下n卡驱动

更新grub

查看当前grub内容:
grep menuentry /boot/grub/grub.cfg
根据内容确定如何修改/etc/default/grub文件。例如,上一步输出为:

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-47dea8a8-9098-4cb9-8964-a9cd533cfa1f' {
submenu 'Ubuntu 的高级选项' $menuentry_id_option 'gnulinux-advanced-47dea8a8-9098-4cb9-8964-a9cd533cfa1f' {
	menuentry 'Ubuntu,Linux 5.15.0-139-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-139-generic-advanced-47dea8a8-9098-4cb9-8964-a9cd533cfa1f' {
	menuentry 'Ubuntu, with Linux 5.15.0-139-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-139-generic-recovery-47dea8a8-9098-4cb9-8964-a9cd533cfa1f' {
	menuentry 'Ubuntu,Linux 5.4.0-26-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-26-generic-advanced-47dea8a8-9098-4cb9-8964-a9cd533cfa1f' {
	menuentry 'Ubuntu, with Linux 5.4.0-26-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-26-generic-recovery-47dea8a8-9098-4cb9-8964-a9cd533cfa1f' {
menuentry 'Windows Boot Manager (在 /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-F8D9-08D4' {
menuentry 'Ubuntu 18.04.5 LTS (18.04) (在 /dev/nvme0n1p6)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-4cd35c8b-2fd4-4386-9930-f9144071e7f7' {
submenu 'Ubuntu 18.04.5 LTS (18.04) (在 /dev/nvme0n1p6) 的高级选项' $menuentry_id_option 'osprober-gnulinux-advanced-4cd35c8b-2fd4-4386-9930-f9144071e7f7' {
	menuentry 'Ubuntu (在 /dev/nvme0n1p6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.4.0-90-generic--4cd35c8b-2fd4-4386-9930-f9144071e7f7' {
	menuentry 'Ubuntu, with Linux 5.4.0-90-generic (在 /dev/nvme0n1p6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.4.0-90-generic--4cd35c8b-2fd4-4386-9930-f9144071e7f7' {
	menuentry 'Ubuntu, with Linux 5.4.0-90-generic (recovery mode) (在 /dev/nvme0n1p6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.4.0-90-generic-root=UUID=4cd35c8b-2fd4-4386-9930-f9144071e7f7 ro recovery nomodeset dis_ucode_ldr-4cd35c8b-2fd4-4386-9930-f9144071e7f7' {
	menuentry 'Ubuntu, with Linux 5.3.0-28-generic (在 /dev/nvme0n1p6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.3.0-28-generic--4cd35c8b-2fd4-4386-9930-f9144071e7f7' {
	menuentry 'Ubuntu, with Linux 5.3.0-28-generic (recovery mode) (在 /dev/nvme0n1p6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-5.3.0-28-generic-root=UUID=4cd35c8b-2fd4-4386-9930-f9144071e7f7 ro recovery nomodeset dis_ucode_ldr-4cd35c8b-2fd4-4386-9930-f9144071e7f7' {
	menuentry 'Ubuntu, with Linux 4.13.0-041300-generic (在 /dev/nvme0n1p6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.13.0-041300-generic--4cd35c8b-2fd4-4386-9930-f9144071e7f7' {
	menuentry 'Ubuntu, with Linux 4.13.0-041300-generic (recovery mode) (在 /dev/nvme0n1p6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.13.0-041300-generic-root=UUID=4cd35c8b-2fd4-4386-9930-f9144071e7f7 ro recovery nomodeset dis_ucode_ldr-4cd35c8b-2fd4-4386-9930-f9144071e7f7' {
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {

因此应该修改

# 编辑 GRUB 配置文件
sudo nano /etc/default/grub

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu,Linux 5.15.0-139-generic"
这里一定要和上一步相匹配,否则开机时需要手动进入advanced options选择旧内核

#更新 GRUB​​
sudo update-grub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值