Ubuntu 22.04安装NVIDIA驱动后随机启动异常问题求助
大家好,我是刚接触Linux的新手,最近在Ubuntu 22.04上安装NVIDIA驱动后碰到了非常头疼的随机启动问题,每次开机都会出现以下三种情况之一,卸载驱动后一切正常,所以确定是NVIDIA驱动相关的问题,但试了各种方法都没解决,想请各位大佬帮忙支招。
启动异常的三种情况
- 正常启动:大概25%的概率能顺利进入系统,没有任何问题
- 启动缓慢(占50%):开机后停在黑屏界面,显示:
/dev/nvme0n1p6: clean, *** files, *** blocks
会卡住约2分钟才能进入系统。用systemd-analyze blame分析启动耗时,结果如下:$ systemd-analyze blame 1min 36.254s plymouth-quit-wait.service 1min 32.413s gpu-manager.service 6.546s NetworkManager-wait-online.service 1.002s snapd.service 679ms accounts-daemon.service 672ms e2scrub_reap.service 475ms fwupd.service 397ms dev-nvme0n1p6.device 351ms snapd.seeded.service 309ms systemd-oomd.service 308ms systemd-resolved.service 275ms systemd-timesyncd.service 261ms networkd-dispatcher.service 217ms dev-loop2.device 217ms dev-loop1.device 216ms dev-loop3.device 216ms dev-loop4.device 213ms dev-loop6.device 213ms dev-loop5.device 211ms dev-loop0.device 211ms dev-loop7.device 172ms systemd-udev-trigger.service 144ms upower.service - 启动失败(占25%):直接卡在黑屏,显示一系列错误信息,之后完全无法进入系统,错误内容包括:
iwlwifi : invalid buffer destinationACPI BIOS Error (bug): could not resolve symbol [\_TZ.ETMD], AE NOT_FOUNDACPI Error: Aborting method \_SB.IETM._OSC due to previos error (AE_NOT_FOUND)Bluetooth: hci0: Malformed MSFT vendor event: 0x02INFO: task plymouthd: *** blocked for more than *** seconds"echo 0 > /prc/sys/kernel/hung_task_timeout_secs" disables this messageINFO: task gpu-manager: *** blocked for more than *** seconds"echo 0 > /prc/sys/kernel/hung_task_timeout_secs" disables this message
已经尝试过的解决方法
我试过下面这些操作,但都没能彻底解决问题:
- 卸载重装NVIDIA驱动:执行
apt purge nvidia-* && apt autoremove && apt install nvidia-driver-xxx反复操作 - 更换驱动版本:先后试过525、535、545这几个主流版本
- 使用boot-repair工具修复启动项
- 禁用nouveau开源驱动:修改
/etc/modprobe.d/blacklist.conf添加相关黑名单规则 - 在grub中添加
nomodeset参数:结果反而更糟,所有启动都直接失败 - 更换内核和Ubuntu版本:因为我的笔记本是新款,20.04版本在触控板、WiFi上有兼容问题,所以主要测试了22.04的不同内核版本
我的设备和系统信息
- 笔记本型号:Lenovo Legion Pro 7 16IRX8H(双系统,和Windows共存)
- 内核信息:
$ uname -a Linux alvin-Legion-Pro-7-16IRX8H 6.5.0-21-generic #21~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Feb 9 13:32:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux - PCI设备列表:
$ lspci 00:00.0 Host bridge: Intel Corporation Device a702 (rev 01) 00:01.0 PCI bridge: Intel Corporation Device a70d (rev 01) 00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-S UHD Graphics (rev 04) 00:04.0 Signal processing controller: Intel Corporation Raptor Lake Dynamic Platform and Thermal Framework Processor Participant (rev 01) 00:06.0 PCI bridge: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port (rev 01) 00:0a.0 Signal processing controller: Intel Corporation Raptor Lake Crashlog and Telemetry (rev 01) 00:14.0 USB controller: Intel Corporation Raptor Lake USB 3.2 Gen 2x2 (20 Gb/s) XHCI Host Controller (rev 11) 00:14.2 RAM memory: Intel Corporation Raptor Lake-S PCH Shared SRAM (rev 11) 00:14.3 Network controller: Intel Corporation Raptor Lake-S PCH CNVi WiFi (rev 11) 00:15.0 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #0 (rev 11) 00:15.1 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #1 (rev 11) 00:15.2 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #2 (rev 11) 00:16.0 Communication controller: Intel Corporation Raptor Lake CSME HECI #1 (rev 11) 00:19.0 Serial bus controller: Intel Corporation Device 7a7c (rev 11) 00:19.1 Serial bus controller: Intel Corporation Device 7a7d (rev 11) 00:1a.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #25 (rev 11) 00:1b.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #17 (rev 11) 00:1b.5 PCI bridge: Intel Corporation Device 7a45 (rev 11) 00:1d.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #9 (rev 11) 00:1f.0 ISA bridge: Intel Corporation Device 7a0c (rev 11) 00:1f.3 Audio device: Intel Corporation Raptor Lake High Definition Audio Controller (rev 11) 00:1f.4 SMBus: Intel Corporation Raptor Lake-S PCH SMBus Controller (rev 11) 00:1f.5 Serial bus controller: Intel Corporation Raptor Lake SPI (flash) Controller (rev 11) 01:00.0 VGA compatible controller: NVIDIA Corporation AD104M [GeForce RTX 4080 Max-Q / Mobile] (rev a1) 01:00.1 Audio device: NVIDIA Corporation Device 22bc (rev a1) 06:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO 07:00.0 PCI bridge: Intel Corporation Device 1133 (rev 02) 08:00.0 PCI bridge: Intel Corporation Device 1133 (rev 02) 08:01.0 PCI bridge: Intel Corporation Device 1133 (rev 02) 08:02.0 PCI bridge: Intel Corporation Device 1133 (rev 02) 08:03.0 PCI bridge: Intel Corporation Device 1133 (rev 02) 09:00.0 USB controller: Intel Corporation Device 1134 3d:00.0 USB controller: Intel Corporation Device 1135 76:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 15) - 推荐驱动列表:
$ ubuntu-drivers devices == /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd000027E0sv000017AAsd00003B64bc03sc00i00 vendor : NVIDIA Corporation driver : nvidia-driver-535-open - distro non-free driver : nvidia-driver-525 - distro non-free recommended driver : nvidia-driver-535-server-open - distro non-free driver : nvidia-driver-545 - distro non-free driver : nvidia-driver-525-open - distro non-free driver : nvidia-driver-545-open - distro non-free driver : nvidia-driver-535-server - distro non-free driver : nvidia-driver-525-server - distro non-free driver : nvidia-driver-535 - third-party non-free driver : xserver-xorg-video-nouveau - distro free builtin - NVIDIA驱动状态:
$ nvidia-smi Mon Feb 26 12:51:30 2024 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A | | N/A 39C P3 N/A / 80W | 6MiB / 12282MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 2048 G /usr/lib/xorg/Xorg 4MiB | +-----------------------------------------------------------------------------+
因为我是Linux新手,希望大家能给出具体的命令行操作步骤来排查或解决这个问题,非常感谢大家的帮助!
备注:内容来源于stack exchange,提问作者Alvin Jinsung Choi

