/etc/grub.d/10_linux 上的可执行文件位已消失

/etc/grub.d/10_linux 上的可执行文件位已消失

我在 Ubuntu 22.04 LTS 上,这是撰写此问题时的 Ubuntu 最新版本。我目前在内核上5.15.0-27-generic。我只使用默认(通用)内核。

问题

重启后,我发现 Grub 菜单是空的。5.15.0-27-generic没有列出任何已安装的内核(当前:1,)。

我能够通过使用可启动 USB 并恢复备份来修复我的系统/boot/grub/grub.cfg

我的发现

我进行了故障排除并发现:

  • 在每个内核安装或删除结束时/usr/sbin/update-grub运行。
  • update-grub运行脚本生成/etc/grub.d/文件/boot/grub/grub.cfg。脚本按字母数字顺序执行。
  • 脚本这里的关键词是:
    • 作为一个有效的 shell 脚本
    • 从...开始#! /bin/sh
    • 具有执行位(chmod +x
  • 我发现该文件/etc/grub.d/10_linux确实不是有一个可执行位(这是意外的),因此被忽略update-grub。这是负责将 Linux 内核添加到 Grub 菜单的脚本。

解决我的问题的方法是再次chmod +x /etc/grub.d/10_linux运行update-grub

我的问题

哪个软件包、更新或任何其他东西删除了执行位/etc/grub.d/10_linux?我绝对没有自己这样做。我想避免这种情况再次发生。

欢迎向我提问其他问题。我会添加所需信息。让我们一起进行建设性的协作以解决问题。如果需要,我甚至会向上游提交问题报告。

命令输出

$ ls -l /boot/
total 78772
-rw-r--r-- 1 root root   260489 apr 14 06:46 config-5.15.0-27-generic
drwxr-xr-x 2 root root     4096 jan 30 12:46 efi
drwxr-xr-x 6 root root     4096 jul 31 18:04 grub
-rw-r--r-- 1 root root 63078554 jul 30 14:03 initrd.img-5.15.0-27-generic
-rw------- 1 root root  6241791 apr 14 06:46 System.map-5.15.0-27-generic
-rw------- 1 root root 11064224 apr 14 06:47 vmlinuz-5.15.0-27-generic
$ ls -l /etc/grub.d/
total 156
drwxr-xr-x   3 root root  4096 jul 31 20:27 .
drwxr-xr-x 169 root root 12288 jul 30 14:04 ..
-rwxr-xr-x   1 root root 10627 sep  2  2021 00_header
-rwxr-xr-x   1 root root  6260 apr 15 23:50 05_debian_theme
-rwxr-xr-x   1 root root 18683 apr 15 23:50 10_linux
-rwxr-xr-x   1 root root 43031 sep  2  2021 10_linux_zfs
-rwxr-xr-x   1 root root 14180 apr 15 23:50 20_linux_xen
-rwxr-xr-x   1 root root 13369 apr 15 23:50 30_os-prober
-rwxr-xr-x   1 root root  1372 apr 15 23:50 30_uefi-firmware
-rwxr-xr-x   1 root root   700 feb 21 01:12 35_fwupd
-rwxr-xr-x   1 root root   214 sep  2  2021 40_custom
-rwxr-xr-x   1 root root   215 apr 15 23:50 41_custom
drwxr-xr-x   4 root root  4096 jan 30 14:02 backup
-rw-r--r--   1 root root   483 sep  2  2021 README

相关内容