Ubuntu 18.04.3 LTS 软件包管理器出现问题

Ubuntu 18.04.3 LTS 软件包管理器出现问题

当我尝试安装任何新包时,出现以下信息:

(Reading database ... 170573 files and directories currently installed.)
Removing linux-image-4.15.0-29-generic (4.15.0-29.31) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-29-generic
/etc/kernel/postrm.d/zz-update-grub:
Sourcing file `/etc/default/grub'
/usr/sbin/grub-mkconfig: 10: /etc/default/grub: quiet splash: not found
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-4.15.0-29-generic (--remove):
 installed linux-image-4.15.0-29-generic package post-removal script subprocess returned error exit status 1
Errors were encountered while processing:
 linux-image-4.15.0-29-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

因此我运行了Sudo apt-get upgrade但收到了相同的错误消息。

grub 的内容

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT= "quiet splash" nouveau.modeset=0 
GRUB_CMDLINE_LINUX=""

# 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"

答案1

这行代码GRUB_CMDLINE_LINUX_DEFAULT= "quiet splash" nouveau.modeset=0就是你的问题。当解析为 shell 脚本(显然是)时,它会尝试运行quiet splash带有参数的命令nouveau.modeset=0,并将环境变量GRUB_CMDLINE_LINUX_DEFAULT设置为空。这不起作用。

相反,它应该只为变量分配一个值GRUB_CMDLINE_LINUX_DEFAULT。要实现这一点,您需要确保后面=没有空格,并且完整的值包含在引号中,如下所示:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nouveau.modeset=0"

相关内容