发布升级问我是否要使用新版本或旧版本的/etc/grub.d/10_linux
文件。我选择了新的,但现在注意到旧的(稍微手动修补过的)文件仍然存在,名为10_linux.dpkg-old
.
我的理解是update-grub
将运行/etc/grub.d
. 由于新版本的脚本修复了一些错误10_linux
,我不想update-grub
运行10_linux.dpkg-old
.
我假设使旧脚本不可执行使用chmod
将允许我将它保存在该文件夹中。但我想知道是否有其他机制阻止update-grub
使用它。
我目前的理解参考:help.ubuntu
此目录中的脚本在执行 update-grub 命令期间被读取,它们的指令被合并到 /boot/grub/grub.cfg 中。
grub.cfg 菜单中菜单项的位置由该目录中文件的运行顺序决定。首先执行带有前导数字的文件,从最小的数字开始。10_linux 在 20_memtest 之前运行,后者将在 40_custom 之前运行。如果存在具有字母名称的文件,它们将在以数字命名的文件之后运行。
可以将自定义菜单条目添加到 40_custom 文件或新创建的文件中。根据其名称,40_custom 条目默认显示在菜单底部。以 06_ 开头的自定义文件将出现在菜单顶部,因为其字母数字排序会将其置于 10_ 到 40_ 文件之前。
在执行 update-grub 期间,只有可执行文件会向 grub.cfg 生成输出。默认情况下,/etc/grub.d 文件夹中的文件是可执行的。
是的。
该
grub-mkconfig
脚本将忽略匹配*~
or*/\#*\#
的文件名,以及匹配*.dpkg-*
or*.rpmsave|*.rpmnew
、orREADME*|*/README*
或 or*.sig
的文件名。如果你想用命令确认这一点,你可以跟踪脚本
bash -x $(which grub-mkconfig) -o /boot/grub/grub.cfg
。