寻找重命名 GRUB 启动项的正确方法

寻找重命名 GRUB 启动项的正确方法

我正在考虑现有/默认 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

相关内容