Sudo update-grub 不起作用(单启动 Ubuntu 22.04)

Sudo update-grub 不起作用(单启动 Ubuntu 22.04)

Ubuntu 22.04 KDE 5.15.0-52 Nvidia 470 专有。我看到关于这个问题有很多问题,但我读过的所有答案都没有解决问题。我编辑了 GRUB,保存了它,它保留了更改。当我“sudo update-grub”时它不起作用。它给了我这个读数。Sourcing file /etc/default/grub /usr/sbin/grub-mkconfig: 1: /etc/default/grub: /#: not found

-这是 grub 文件,我添加了行...GRUB_SAVEDEFAULT=true GRUB_DEFAULT=saved。

/# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_SAVEDEFAULT=true
GRUB_DEFAULT=saved

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
GRUB_DISABLE_OS_PROBER=false

我尝试默认在内核 5.15.0-52 上启动。我无知地将内核完全升级到 5.15.0-53,随后又升级到 5.15.0-56,现在有两个不需要的内核,它不允许我清除或删除它们。(错误、未签名等)(了解到 Nvidia 专有和 nouveau w 内核升级不起作用)这是我尝试过的,它教会了我很多东西,但文件和脚本在那里。一切似乎都在它应该在的地方。

创建 update-grub 命令是为了让事情变得简单 - 它只是 /usr/sbin/ 中的一个 shell 脚本:

#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

如果不存在,您可以自己创建。为此,请运行此脚本,并粘贴上述脚本:

sudo nano /usr/sbin/update-grub

使用 Ctrl+O 保存,然后使用 Ctrl+X 退出。

然后运行这些:

sudo chown root:root /usr/sbin/update-grub
sudo chmod 755 /usr/sbin/update-grub

现在您应该可以运行 update-grub 了。:-)

我还运行了“sudo update-grub”以及其他一些小操作,但仍然没有 update-grub。有人知道我遗漏了什么吗?

答案1

删除 第一行的第一个字符/ect/default/grub/

第一行应该是注释,因此以 开头#。更改

/# If you change this file, run 'update-grub' afterwards to update

# If you change this file, run 'update-grub' afterwards to update

你还应该删除

GRUB_DEFAULT=0

因为您不想定义两次 GRUB_DEFAULT。

相关内容