首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/usr/sbin/grub: 11: /etc/缺省/grub::权限被拒绝

问/usr/sbin/grub: 11: /etc/缺省/grub::权限被拒绝
EN

Ask Ubuntu用户
提问于 2020-11-30 21:04:30
回答 1查看 1.7K关注 0票数 1

我在更新我的系统时遇到了问题。我发现在"sudo apt升级“期间更新grub有一个问题。

代码语言:javascript
复制
Removing linux-image-5.4.0-42-generic (5.4.0-42.46) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-5.4.0-42-generic
/etc/kernel/postrm.d/zz-update-grub:
Sourcing file `/etc/default/grub'
/usr/sbin/grub-mkconfig: 11: /etc/default/grub: : Permission denied
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-5.4.0-42-generic (--remove):
 installed linux-image-5.4.0-42-generic package post-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
 linux-image-5.4.0-42-generic
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

而不是我尝试过的"sudo更新-grub“

代码语言:javascript
复制
Sourcing file `/etc/default/grub'
/usr/sbin/grub-mkconfig: 11: /etc/default/grub: : Permission denied

grub文件(/etc/default/grub)本身看起来如下:

代码语言:javascript
复制
# 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=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
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"

"ls -ldh /etc/default/grub“

代码语言:javascript
复制
-rw-r--r-- 1 root root 1,2K Nov 30 21:41 /etc/default/grub

有谁有主意吗?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2020-11-30 23:39:24

中的赋值中的空格。

代码语言:javascript
复制
GRUB_CMDLINE_LINUX= "" 

在/etc/default/grub文件的第11行。它导致shell (可能是/bin/sh)将其解析为“不向GRUB_CMDLINE_LINUX分配任何内容,然后在其环境中运行一个没有名称的GRUB_CMDLINE_LINUX命令”。

您可以按以下方式复制错误的格式:

代码语言:javascript
复制
$ sh -c 'GRUB_CMDLINE_LINUX= ""'
sh: 1: : Permission denied

而bash报告了更有帮助的

代码语言:javascript
复制
$ bash -c 'GRUB_CMDLINE_LINUX= ""'
bash: : command not found

这一行应改为

代码语言:javascript
复制
GRUB_CMDLINE_LINUX=""

尽管GRUB_CMDLINE_LINUX=也应该能工作。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1296496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档