当我尝试安装 Ubuntu 时,也出现了黑屏,但那时,我按下e编辑 GRUB,并进行修改quiet splash ---
,quiet splash nomodeset
并成功安装了 Ubuntu。
但是每次启动 Ubuntu 时,我唯一能看到的图片就是登录页面,之后屏幕上只剩下黑色。我知道 Ubuntu 启动成功了,因为当我按下Alt+ Ctrl+T并输入时reboot
,它就成功了,即使我只看到黑屏。所以我猜这是 nvidia 造成的。
我尝试Shift在启动 Ubuntu 时按住,但无法进入 GRUB 菜单,我按下Esc后只得到 GRUB 命令行,那么我该如何解决这个问题呢?
答案1
此黑屏/空白屏幕是由于 引起的nouveau kernel drivers
。
Nouveau 是 NVIDIA 显卡的开源图形驱动程序。
tty
它们应该在启动期间或登录之前在 grub 中被禁用。
解决方案 A
你需要使用nouveau.modeset=0
以下行开始的命令来更新你的 grubGRUB_CMDLINE_LINUX_DEFAULT="
您可以通过点击
e
在启动时编辑 grub 或在登录之前切换到tty
。
要切换到 tty,请单击ctrl + alt + f3/f4
登录
tty
并输入nano /etc/default/grub
编辑 grub。键入
nouveau.modeset=0
以下内容quiet splash
以禁用 nouveau 内核驱动程序的加载。然后输入
sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
确认新的 modprobe 配置文件的内容:
cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf
它应该具有类似于下面的输出:
blacklist nouveau options nouveau modeset=0
更新内核 initramfs
输入以下linux命令重新生成initramfs:
sudo update-initramfs -u
更新 Grub
输入以下命令更新 grub
sudo update-grub
重启你的电脑。
sudo reboot
解决方案 B
要禁用 Nouveau 内核驱动程序:
删除已安装的 NVIDIA 驱动程序:
sudo apt-get purge "nvidia*" sudo apt autoremove
/etc/modprobe.d/disable-nouveau.conf
创建一个名为以下行的新文件:blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0 alias nouveau off alias lbm-nouveau off
将此行附加到 /etc/modprobe.d/nouveau-kms.conf:
options nouveau modeset=0
更新内核的启动环境:
sudo update-initramfs -u
- 重启您的计算机,您应该获得一个低分辨率的 GUI,这表明它
nouveau graphics driver
未被使用。
解决方案 C
清理所有 nvidia 包(删除所有与 nvidia 相关的包)。
sudo apt-get remove nvidia* && sudo apt autoremove
如果您收到以下错误,则意味着您从未安装过 nvidia 包并且没问题:
no matches found: nvidia*
现在安装一些必需的依赖项:
sudo apt-get install dkms build-essential linux-headers-generic
黑名单 nouveau 驱动程序(阻止并禁用 nouveau 内核驱动程序)
sudo vim /etc/modprobe.d/blacklist.conf
将以下行附加到 blacklist.conf:
blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0 alias nouveau off alias lbm-nouveau off
通过输入以下命令禁用 Kernel nouveau:
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
更新内核的启动环境:
sudo update-initramfs -u
最后更新并重启:
reboot
我希望这有帮助。