一、问题背景
我的电脑是联想游戏本,采用双显卡结构:
AMD/Intel 核显
NVIDIA 独立显卡
Windows 和 Ubuntu 20.04 双系统
安装 Ubuntu 20.04 后,GRUB 启动菜单可以正常显示,但是选择 Ubuntu 之后出现黑屏,无法进入桌面。
最后发现,这个问题并不是 Ubuntu 系统没有安装成功,而是与以下因素有关:
电脑处于混合显卡模式;
Ubuntu 20.04 对当前核显、独显切换模式支持不完善;
NVIDIA 驱动没有正确初始化;
屏幕输出可能实际连接在 NVIDIA 独显上;
BIOS、联想 Zone 中的显卡工作模式与 Ubuntu 驱动状态不匹配。
我最终通过把电脑切换到“独显模式”,成功进入 Ubuntu 20.04 图形界面。
本文记录完整排查过程。
二、典型现象
常见现象包括:
安装 Ubuntu 时可以看到安装界面;
安装完成后选择 Ubuntu 黑屏;
GRUB 菜单可以正常显示;
屏幕停留在黑色界面;
光标可能闪烁,也可能完全没有显示;
按电源键或强制重启后,Windows 可以正常进入;
切换到独显模式后,Ubuntu 又可以正常进入桌面。
这通常说明系统本身已经安装成功,问题主要出在显卡初始化和显示输出上。
三、先理解“混显模式”和“独显模式”
1. 混显模式
混显模式也可能叫:
Hybrid Graphics Switchable Graphics Dynamic Graphics MSHybrid在混显模式下:
核显通常负责桌面显示;
NVIDIA 独显负责高性能计算和渲染;
系统需要在两块显卡之间切换;
对驱动、内核和 BIOS 的兼容性要求更高。
Windows 厂商驱动通常对这种模式支持较好,但 Linux 上比较容易出现:
黑屏;
NVIDIA 驱动加载失败;
内屏无法点亮;
外接显示器无输出;
登录界面循环;
进入系统后分辨率异常。
2. 独显模式
独显模式也可能叫:
Discrete Graphics dGPU Only Discrete Mode NVIDIA GPU Only在独显模式下:
NVIDIA 独显直接负责屏幕输出;
不再依赖核显和独显之间的动态切换;
显示链路更加简单;
对 Linux 通常更稳定。
缺点是功耗和发热可能略高,但对于需要使用 CUDA、机器人仿真和深度学习的电脑,独显模式通常更合适。
四、最终有效方法:切换到独显模式
我这台联想电脑最终有效的方法,是在 Windows 的联想 Zone 中切换到独显模式。
方法一:在 Windows 的联想 Zone 中切换
先进入 Windows,打开:
联想电脑管家 / Lenovo Zone / Legion Zone在软件中寻找类似选项:
显卡工作模式 GPU 工作模式 混合模式 混显模式 独显模式 独显直连将原来的:
混显模式改为:
独显模式有些电脑会提示必须重启才能生效。保存设置并重启,然后在 GRUB 中选择 Ubuntu。
如果 Ubuntu 能正常进入桌面,说明问题就是混合显卡模式下的驱动兼容问题。
方法二:在 BIOS 中切换显卡模式
如果 Windows 中没有联想 Zone,也可以进入 BIOS 设置。
联想电脑常见进入 BIOS 的方式:
开机时连续按 F2或者:
Fn + F2部分机型可以按:
F1进入 BIOS 后,在以下栏目中查找:
Configuration Display Graphics Advanced Video Configuration可能出现的选项包括:
Graphics Device GPU Working Mode Hybrid Graphics Switchable Graphics Display Mode将:
Hybrid Graphics Switchable Graphics Dynamic Graphics改为:
Discrete Graphics dGPU Only然后按:
F10保存并退出。
注意,不同联想电脑 BIOS 菜单名称不完全一样。如果 BIOS 中没有该选项,可以优先使用 Windows 里的联想 Zone。
五、临时使用 nomodeset 进入系统
如果暂时不方便切换显卡模式,可以尝试使用nomodeset临时启动。
在 GRUB 菜单中选中 Ubuntu,但不要直接按回车。
按键盘:
e找到包含以下内容的一行:
quiet splash改为:
quiet splash nomodeset或者直接改为:
nomodeset然后按:
Ctrl + X或者:
F10启动系统。
nomodeset会暂时禁用高级显卡模式设置,使用基本显示方式启动。
需要注意:
这只是临时调试方法;
分辨率可能不正常;
NVIDIA 驱动和 CUDA 可能无法正常使用;
每次启动都要重新修改;
最终仍建议正确安装显卡驱动。
六、黑屏时尝试进入 TTY 终端
如果黑屏时系统实际上已经启动,只是图形界面没有显示,可以尝试按:
Ctrl + Alt + F3也可以尝试:
Ctrl + Alt + F2 Ctrl + Alt + F4如果出现纯文字登录界面,输入 Ubuntu 用户名和密码。
输入密码时屏幕不会显示星号,这是正常的。
登录后先查看内核版本:
uname -r查看显卡型号和驱动状态:
lspci -nnk | grep -iA3 -E "VGA|3D|Display"查看 NVIDIA 和 nouveau 模块:
lsmod | grep -E "nvidia|nouveau"测试 NVIDIA 驱动:
nvidia-smi如果提示:
command not found或者:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver说明 NVIDIA 驱动没有正确安装或加载。
七、检查显卡相关错误日志
查看本次开机的严重错误:
journalctl -b -p err..alert | tail -n 100查看 NVIDIA、nouveau 和 DRM 日志:
sudo dmesg | grep -iE "nvidia|nouveau|drm|gpu|firmware" | tail -n 100查看图形界面服务状态:
systemctl status display-managerUbuntu 20.04 默认一般使用 GDM,可以检查:
systemctl status gdm3尝试重启图形界面:
sudo systemctl restart gdm3如果重启 GDM 后仍然黑屏,问题通常还是显卡驱动或显卡模式。
八、安装 Ubuntu 推荐的 NVIDIA 驱动
如果可以通过nomodeset、TTY 或独显模式进入系统,可以安装 Ubuntu 推荐的 NVIDIA 驱动。
先临时连接网络,例如:
插网线;
使用手机 USB 网络共享;
使用 USB 无线网卡。
更新软件源:
sudo apt update安装驱动检测工具:
sudo apt install -y ubuntu-drivers-common查看推荐的驱动:
ubuntu-drivers devices输出中一般会有一项带:
recommended可以直接让 Ubuntu 自动安装推荐版本:
sudo ubuntu-drivers autoinstall安装完成后,切换到 NVIDIA 独显:
sudo prime-select nvidia查看当前 PRIME 模式:
prime-select query正常应该输出:
nvidia更新启动镜像:
sudo update-initramfs -u更新 GRUB:
sudo update-grub然后重启:
sudo reboot九、如果之前安装过错误的 NVIDIA 驱动
如果系统中安装过多个 NVIDIA 驱动版本,可能存在驱动冲突。
可以先清理已有 NVIDIA 驱动:
sudo apt purge '^nvidia-.*'清理不再使用的依赖:
sudo apt autoremove --purge重新安装当前内核头文件:
sudo apt install --reinstall linux-headers-$(uname -r)更新软件源:
sudo apt update重新自动安装推荐驱动:
sudo ubuntu-drivers autoinstall切换到 NVIDIA 模式:
sudo prime-select nvidia更新启动镜像:
sudo update-initramfs -u最后重启:
sudo reboot注意:只有在确定 NVIDIA 驱动已经损坏或版本冲突时,才建议执行清理操作。
十、检查 Secure Boot
查看 Secure Boot 状态:
mokutil --sb-state如果输出:
SecureBoot enabled说明 Secure Boot 已开启。
Secure Boot 可能阻止部分未签名的显卡驱动或第三方内核模块加载。
常见解决方法有两种:
方法一:在 BIOS 中关闭 Secure Boot
进入 BIOS,找到:
Secure Boot设置为:
Disabled保存并退出。
方法二:安装驱动时注册 MOK 密钥
部分 Ubuntu 官方 NVIDIA 驱动安装过程中,会要求设置 MOK 密码。
重启后进入蓝色界面,依次选择:
Enroll MOK Continue Yes然后输入安装驱动时设置的密码。
十一、进入桌面后的验证命令
进入 Ubuntu 桌面后,执行:
nvidia-smi如果可以显示 NVIDIA GPU、驱动版本和显存信息,说明独显驱动正常。
查看两块显卡:
lspci | grep -iE "VGA|3D|Display"查看当前 PRIME 模式:
prime-select query查看正在使用的 OpenGL 渲染器:
sudo apt install -y mesa-utils glxinfo | grep "OpenGL renderer"如果输出中包含 NVIDIA 显卡名称,说明桌面正在使用 NVIDIA 独显。
十二、为什么 Ubuntu 18.04 以前可以进入,Ubuntu 20.04 却黑屏
Ubuntu 18.04 能正常进入,并不代表 Ubuntu 20.04 安装失败。
可能原因包括:
两次安装时电脑的显卡工作模式不同;
Ubuntu 18.04 使用了不同版本的 NVIDIA 驱动;
两个系统使用的 Linux 内核版本不同;
Windows 或 BIOS 更新修改了显卡模式;
Ubuntu 20.04 首次启动时没有正确加载 NVIDIA 驱动;
内屏输出链路依赖独显,而系统却按混显模式初始化;
Secure Boot 阻止了某些驱动模块加载。
因此,不能简单理解为“Ubuntu 18 支持这台电脑,Ubuntu 20 不支持”。
十三、我的最终解决过程
我的处理过程可以总结为:
安装 Ubuntu 20.04 后选择 Ubuntu 黑屏;
Windows 可以正常进入;
怀疑是双显卡模式和 NVIDIA 驱动问题;
在联想 Zone 中把显卡工作模式从混显切换为独显;
重启电脑;
在 GRUB 中重新选择 Ubuntu;
成功进入 Ubuntu 20.04 图形界面;
进入系统后再继续安装和检查 NVIDIA 驱动。
最终最关键的一步是:
联想 Zone:混显模式 → 独显模式十四、建议的排查顺序
遇到 Ubuntu 安装后黑屏,可以按照下面顺序排查:
1. 尝试 Ctrl + Alt + F3 进入 TTY 2. 在 GRUB 中临时添加 nomodeset 3. 检查显卡型号和驱动状态 4. 检查 nvidia-smi 5. 检查 Secure Boot 6. 安装 Ubuntu 推荐的 NVIDIA 驱动 7. 切换 prime-select nvidia 8. 在联想 Zone 或 BIOS 中切换独显模式 9. 更新 initramfs 和 GRUB 10. 重启验证对于联想双显卡游戏本,如果切换独显模式后 Ubuntu 可以立即进入,那么基本可以确定是混显兼容问题。
十五、常用命令汇总
# 查看内核 uname -r # 查看显卡和驱动 lspci -nnk | grep -iA3 -E "VGA|3D|Display" # 查看 NVIDIA 和 nouveau 模块 lsmod | grep -E "nvidia|nouveau" # 测试 NVIDIA 驱动 nvidia-smi # 查看 Secure Boot mokutil --sb-state # 查看系统错误 journalctl -b -p err..alert | tail -n 100 # 查看显卡内核日志 sudo dmesg | grep -iE "nvidia|nouveau|drm|gpu|firmware" | tail -n 100 # 检查推荐驱动 ubuntu-drivers devices # 自动安装推荐 NVIDIA 驱动 sudo ubuntu-drivers autoinstall # 切换到 NVIDIA 独显 sudo prime-select nvidia # 更新启动镜像 sudo update-initramfs -u # 更新 GRUB sudo update-grub # 重启 sudo reboot十六、总结
Ubuntu 20.04 安装后黑屏,不一定是系统安装失败,也不一定需要重新安装。
对于带核显和 NVIDIA 独显的联想游戏本,问题很可能是:
混合显卡模式 + NVIDIA 驱动初始化失败我这台电脑最终通过切换到独显模式成功进入 Ubuntu。
建议先调整显卡工作模式,再安装和检查 NVIDIA 驱动,不要一出现黑屏就反复重装 Ubuntu。
文章标签:
Ubuntu 20.04 Linux NVIDIA 联想电脑 Ubuntu黑屏 双显卡 独显模式 nomodeset