为什么我需要将"quiet splash"替换为"nomodeset"?

我最近安装了Ubuntu,但无法加载它。通过在互联网上搜索,我找到了一个对我有效的解决方案,但我不理解它。这个解决方案是从这里获取的。
更详细地说,当我加载Ubuntu时,我进入一个菜单,询问我想要做什么。在这一点上,我按下e键。然后我会看到一个带有一些文本的屏幕,在这里我将quiet splash替换为nomodeset,然后按下F10。之后Ubuntu就会加载。
现在,我的问题是:
  1. 我到底在做什么?为什么这样有帮助?
  2. 我能做些什么来避免每次加载Ubuntu时都要执行这些步骤吗?

3通常情况下,您不希望将nomodeset作为永久的启动参数。只有在您从Ubuntu存储库(而非直接从nVidia)安装nVidia专有驱动程序之前才需要它。请参阅https://askubuntu.com/questions/61396/how-do-i-install-the-nvidia-drivers。 - oldfred
如果你永久保留它,会有什么伤害呢? - matanster
1个回答

针对您的问题给出简短回答:

1) 选项nomodeset表示不加载视频驱动程序。

2) 安装适当的视频驱动程序或阅读长回答的第二个选项。

长回答:

1)nomodeset 最新的内核已经将视频模式设置移至内核中。因此,视频卡上硬件特定时钟速率和寄存器的所有编程都发生在内核中,而不是在X驱动程序启动时。这使得高分辨率,外观漂亮的闪屏(启动)屏幕和从启动闪屏到登录屏幕的无闪烁过渡成为可能。不幸的是,在某些卡上,这种方法无法正常工作,您会遇到黑屏。添加nomodeset参数指示内核不加载视频驱动程序,而是在加载X之前使用BIOS模式。
请注意,在使用默认的“nouveau”驱动程序时,某些nVidia卡需要此选项。安装专有的Nvidia驱动程序通常使得此选项不再必要,因此不一定需要使此选项永久化,只需在一个引导时使用,直到您安装了nvidia。 quiet 此选项告诉内核不产生任何输出(也称非详细模式)。如果您没有使用此选项进行引导,则会看到许多内核消息,如驱动程序/模块激活、文件系统检查和错误。当您需要查找问题时,没有quiet参数可能会很有用。 splash 该选项用于在后台加载系统的所有核心部分时启动一个华丽的“加载”屏幕。如果您禁用它并启用quiet,则会得到一个空白屏幕。

来源: https://ubuntuforums.org/showthread.php?t=1613132

nomodeset、quiet和splash内核参数的含义是什么?

2) 在Ubuntu中查找驱动程序,打开菜单,输入驱动程序,然后选择附加驱动程序。打开后,系统将进行快速扫描。这将确定您的系统是否有硬件需要安装专有驱动程序。在这里,您将找到专有驱动程序。

enter image description here

来源:https://www.makeuseof.com/tag/install-proprietary-graphics-drivers-ubuntu-fedora-linux/

第二个选项:

如何在已安装的操作系统上永久设置内核引导选项?

按下 Ctrl+Alt+T 并输入:

sudo gedit /etc/default/grub

一个文本编辑器将打开grub配置文件。在该文件的顶部附近,您将看到类似于以下内容的东西:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

将您的自定义启动选项添加到GRUB_CMDLINE_LINUX_DEFAULT行中,例如:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
GRUB_CMDLINE_LINUX=""

然后更新你的grub:
sudo update-grub

享受!

来源:https://ubuntuforums.org/showthread.php?t=1613132