“sudo update-grub”不起作用

use*_*358 5 boot grub2

当我跑

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

/usr/sbin/grub-mkconfig: 1: /etc/default/grub: #: not found
Run Code Online (Sandbox Code Playgroud)

这是我的/etc/default/grub

# 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_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` 
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="splash quiet"

# 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"
Run Code Online (Sandbox Code Playgroud)

小智 4

尝试使用 编辑文件gksudo gedit /etc/default/grub

在您的文件中,更改行

GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT=0
Run Code Online (Sandbox Code Playgroud)

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
Run Code Online (Sandbox Code Playgroud)

也就是说,每一行应该只有一个选项。另外,在注释掉的行中,在#没有空格的地方插入一个空格是个好主意。


ash*_*shr 2

问题之一就在这个区块中:

GRUB_DEFAULT=0  #Add newline here
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=5 #Add newline here too
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` 
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="splash quiet"
Run Code Online (Sandbox Code Playgroud)

文件中的每一行应该有一个变量。

但是,也可能存在其他问题,因为错误消息完全是另一回事。尝试这个,然后更新你的问题。