如何使 nouveau.modeset=0 在启动时自动运行

如何使 nouveau.modeset=0 在启动时自动运行

我对 ubuntu 还很陌生,这是我的第一个问题 :) 我的笔记本电脑有一块 nvidia 显卡,每次启动时我都必须包含 nouveau.modeset=0 这一行,有没有办法将它永久地包含在内核中,以便自动启动,而不必每次都输入它?

我有双分区 Windows/ubuntu,不确定这是否会影响某些事情。

谢谢

答案1

您可以通过两种方式实现此目的:

  1. 使用 grub-customizer 编辑 Ubuntu 的 grub 菜单项在终端中输入以下命令:

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer
    sudo apt-get update
    sudo apt-get install grub-customizer
    grub-customizer
    

当它完成所有脚本的加载后,右键单击您的 Ubuntu 条目并选择编辑或选择此菜单条目并单击标签上的铅笔。在新窗口中,将第二行附加到您的参数中。确认所有更改并关闭程序保存所有更改。我不确定它是否会在内核和 grub 更新中存活下来,因为这种方法类似于手动编辑 /boot/grub/grub.cfg 文件,这是不推荐的。

灵感:是否可以编辑 grub.cfg?

  1. 编辑 /etc/grub.d/10_linux 文件并更新 grub

在你的终端中运行:

    sudo nano /etc/grub.d/10_linux

然后查找以下几行:

if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then
    sed "s/^/$submenu_indentation/" << EOF
    linux   ${rel_dirname}/${basename}.efi.signed root=${linux_root_device_thisversion} ro ${args}
EOF
else
    if [ x"$GRUB_FORCE_PARTUUID" = x ]; then
        sed "s/^/$submenu_indentation/" << EOF
        linux   ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
EOF
    else
        sed "s/^/$submenu_indentation/" << EOF
        linux   ${rel_dirname}/${basename} root=PARTUUID=${GRUB_FORCE_PARTUUID} ro ${args}
EOF

并附加这个(来自“if [ x"$GRUB_FORCE_PARTUUID" = x ]; then”部分):

    linux   ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}

使用您想要的参数。关闭文件保存更改并在终端中使用:

    sudo update-grub

就这样。我认为这种方式更可靠。

灵感:在 Ubuntu Grub 中更改启动参数

相关内容