发布升级询问我是否要使用新版本或旧版本的/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
使用它。
参考我目前的理解:帮助.ubuntu
在执行 update-grub 命令期间会读取此目录中的脚本,并将其指令合并到 /boot/grub/grub.cfg 中。
grub.cfg 菜单中菜单项的位置由此目录中文件的运行顺序决定。以数字开头的文件将首先执行,从数字最小的文件开始。10_linux 在 20_memtest 之前运行,而 20_memtest 又在 40_custom 之前运行。如果存在以字母命名的文件,则这些文件将在以数字命名的文件之后运行。
自定义菜单条目可以添加到 40_custom 文件或新创建的文件中。根据其名称,40_custom 条目默认显示在菜单底部。以 06_ 开头的自定义文件将显示在菜单顶部,因为其字母数字排序会将其置于 10_ 到 40_ 文件之前。
只有可执行文件在执行 update-grub 时才会生成 grub.cfg 的输出。默认情况下,/etc/grub.d 文件夹中的文件是可执行的。
答案1
将 .dpkg-old 文件保存在 /etc/grub.d 中是否安全?
是的。
该grub-mkconfig
脚本将忽略匹配的文件名*~
或者*/\#*\#
以及匹配的文件名*.dpkg-*
,或*.rpmsave|*.rpmnew
,或README*|*/README*
,或*.sig
。
如果您想确认这一点,可以使用命令来跟踪脚本bash -x $(which grub-mkconfig) -o /boot/grub/grub.cfg
。