我正在考虑现有/默认 GRUB 启动项的命名。目前我在 GRUB 屏幕上有以下选项:
Trisquel GNU/Linux
Advanced options for Trisquel GNU/Linux
Trisquel GNU/Linux, with Linux-Libre 3.13.0-39-lowlatency (recovery mode)
Windows 7 (loader) (on /dev/sda1)
Edubuntu ISO
其中前三个条目是 Trisquel GNU/Linux 的默认条目,第 4 个条目用于 Windows 引导加载程序,第 5 个条目是在 处定义的自定义条目。现在假设我想更改第 4个条目/etc/grub.d/40_custom
的名称/文本,那么这是正确的方法?Windows 7 (loader) (on /dev/sda1)
我在 找到了上述菜单项/boot/grub/grub.cfg
。我想改变的例子:
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-0A7072DF7072D145' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 0A7072DF7072D145
else
search --no-floppy --fs-uuid --set=root 0A7072DF7072D145
fi
parttool ${root} hidden-
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
'Windows 7 (loader) (on /dev/sda1)'
那么,我可以安全地替换我想要的名称/文本吗update-grub2
?
简而言之,我想知道如何更改 GRUB 启动项的名称?
答案1
您可以/boot/grub/grub.cfg
直接更改,但该文件会被update-grub2
.如果您的配置不经常更改,这对您来说可能是最简单的方法。
或者看一下:
或者看看这个文件夹/etc/grub.d
。从那里update-grub2
生成/boot/grub/grub.cfg
文件。
30_os-prober
您可以通过覆盖脚本中的特定菜单项命令来更改自动生成标记 Windows 条目的方式,特别是当您只安装了一个 Windows 时。
去/etc/grub.d/30_os-prober
寻找menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class windows ...
。用您的标签替换该' '
部分,但保持其他选项相同。
例如在我的系统上:menuentry 'My Windows 7 system' --class windows --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' { EOF
但有一个问题:首先,其中有两个条目30_os-prober
:一个用于chain)
,另一个用于efi)
,因此您应该更改两者。第二我猜一旦这些文件/grub 有更新,这些更改将被覆盖。
另一种方法:
30_os-prober
您可以通过注释windows 部分和中的#
命令来禁用脚本中的 windows 部分。这将删除自动生成的 windows 条目。然后从 中获取您当前的 windows 启动条目并将其复制到自定义菜单文件中。menuentry ...
chain)
efi)
/boot/grub/grub.cfg
/etc/grub.d/40_custom