安装nvidia-driver后重启没有显示 Grub 菜单图形界面

环境

  • 笔记本电脑联想拯救者2021, y7000p, 独立显卡nvidia3050
  • 操作系统:双系统。windows11 + Debian 12.5
  • 内核版本:6.1.0-18-amd64

问题描述

我通过运行nvidia-detect,检测出适合我的显卡驱动是nvidia-driver包,我安装了nvidia-driver并禁用了nouveau。在此之后,如果我通过命令行/图形界面的方式重启电脑,将一直黑屏(既没有logo也不会出现grub选择进入哪个系统的菜单)。在稍加等待后,会直接进入debian系统。

我的尝试

我尝试在黑屏时通过方向键选择操作系统,发现还是可以进入windows/debian,说明grub选择操作系统的菜单正常工作,只是图形界面没有显示出来

我尝试关机后,按电源键开机,一切正常,grub选择系统菜单的界面显示了出来,这个问题只有在重启的时候才会出现

我尝试卸载nvidia-driver,切换回系统默认的nouveau,一切正常。

偶然发现,当我断开笔记本电脑的电源时,这个问题不会出现,我猜测是接通电源时,默认采用独立显卡来渲染画面,而显卡驱动又没有被正常加载导致

我通过sudo dmesg | grep nvidia显示如下:

[    4.224563] nvidia: loading out-of-tree module taints kernel.
[    4.224572] nvidia: module license 'NVIDIA' taints kernel.
[    4.233092] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    4.278302] nvidia-nvlink: Nvlink Core is being initialized, major device number 237
[    4.278880] nvidia 0000:01:00.0: enabling device (0006 -> 0007)
[    4.278982] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[    4.742405] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  525.147.05  Wed Oct 25 20:21:31 UTC 2023
[    4.819078] audit: type=1400 audit(1710240683.531:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=850 comm="apparmor_parser"
[    4.819081] audit: type=1400 audit(1710240683.531:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=850 comm="apparmor_parser"
[    4.981291] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[    4.981294] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 1

我的/etc/default/grub设置项如下:

GRUB_DEFAULT=0
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=false

想请教各位大佬我应该如何解决这个问题呢?

看看这两个链接试试?

似乎并不能解决问题

我的nvidia-driver应该是成功安装并正常运行了。

> $ nvidia-smi                                                                                                        
Wed Mar 13 13:27:18 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 ...  On   | 00000000:01:00.0 Off |                  N/A |
| N/A   27C    P3    N/A /  40W |      5MiB /  4096MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1177      G   /usr/lib/xorg/Xorg                  4MiB |
+-----------------------------------------------------------------------------+

我使用的软件源如下:

> $ cat /etc/apt/sources.list                                                                                         
deb https://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware contrib
deb https://mirrors.aliyun.com/debian-security/ bookworm-security main
deb-src https://mirrors.aliyun.com/debian-security/ bookworm-security main
deb https://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb https://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware contrib

那我暂时不知道怎么处理了,等其他人看看

这个问题似乎只有在双显卡的混合模式下才会出现

如果我切换至独显直连/集显直连都不会出现

启用 nvidia-driver 的 modeset 会不会有用?

还是不行

按照您的方案,我修改/etc/default/grub,设置:

GRUB_CMDLINE_LINUX_DEFAULT="quiet nvidia-drm.modeset=1"

然后运行sudo update-grub,随后重启

发现问题还是存在

那手动设置 modeset=0 呢?

贴一下完整的 dmesg 日志吧,也许会有什么灵感。

完整dmesg日志

这是重启后 grub 黑屏的那次启动的内核日志吗?

是的

暂时没看出来明显错误… :smiling_face_with_tear:

这里有一个指南,如何获得 i915 的更多调试信息: