问题描述

博主安装的是 ubuntu20.04 + Win10 双系统。首先要说明的是,在系统安装完成后,开机界面是有系统选项引导的,通常默认 0 ubuntu 系统,其可在 ubuntu 终端配置 gedit or vi /etc/default/grub 文档修改。

问题发生即开机黑屏,且系统选择引导界面消失,接着进入默认 ubuntu 系统。 bug 来由可解释为在 ubuntu 系统环境下更新某配置后发生。

最开始网上的解决方案未果,查找国外论坛后总结如下 ubuntu 系统 apt update 以及 upgrade 后,更新升级显卡驱动,ubuntu 内核存在 bug 导致 gdm3 和 nvidia 驱动冲突,试了 nomodeset 添加到 GRUB_CMDLINE_LINUX_DEFAULT 后重启验证,不成功。

以及尝试其他方案,均以失败告终。分析 grub 文档作用后(方法 1,单次有效),卸载 nvidia,gdm/gdm3 相关组件,重装 gdm3(方法 2,长期有效),经测试方法有效,故记录于此博文。


解决方案

方法1:grub 文档修改(单次有效)

1.1 打开 ubuntu 系统 grub 文档

快捷键 ctrl + alt + t 打开终端,输入sudo gedit /etc/default/grub进入grub文档

1.2 理解 grub 文档作用

对 grub 只读文档,进行管理员权限的修改

在此基础上,对其作用进行了解是必要的。往概括的说,grub 是一个多重(包括双系统)操作系统启动管理器,用来引导不同系统的入口

1.3 修改 grub 文档内容

除去注释,默认文档如下:

GRUB_DEFAULT=0       # 默认系统
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

其中作了两处修改,a)注释#GRUB_TIMEOUT_STYLE=hidden
b)修改GRUB_CMDLINE_LINUX_DEFAULT="text",修改文档如下:

GRUB_DEFAULT=0       # 默认系统
#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX=""

1.4 更新 ubuntu grub 配置

ubuntu 终端输入 sudo update-grub

方法2:解决 nvidia 驱动升级导致开机黑屏(长期有效)

2.1 ubuntu 内核 bug 导致 gdm3 和 nvidia 驱动冲突

sudo apt-get remove --purge nvidia-*  # 卸载nvidia相关组件
sudo apt purge gdm gdm3 # 卸载gdm和gdm3
sudo apt install gdm3 ubuntu-desktop    # 重新安装gdm3
systemctl restart gdm       # 重新启动gdm3服务

2.2 重启电脑

ubuntu 终端输入 reboot


结论

至此,双系统开机黑屏无引导的问题解决,经一周测试,有效稳定。


Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐