如何更改 GRUB 中操作系统条目的名称?

如何更改 GRUB 中操作系统条目的名称?

我想创建自己的操作系统,因此我使用 archiso 创建了一个发行版映像。它太酷了!

我创建了一个 python 文件,有助于自动安装我的发行版。

还有一部分将文件传输到 chroot,然后安装 GRUB。它可以工作,但重新启动后并且已安装的系统显示为“Arch Linux”。

在我用Python制作的安装文件中,我使用该行os.system("COMMAND LINUX")来执行Linux命令

我需要更改任何命令或文​​件才能将 Arch Linux 重命名为我的发行版名称吗?安装GRUB后将其放入安装自动化文件中,以便在重新启动它后已经出现“我的操作系统”

PS:不要告诉我更改 /boot/grub/grub.cfg 的菜单项,因为它会自动覆盖。

答案1

你知道/boot/grub/grub.cfg是如何生成的吗?

有一组脚本,在/etc/grub.d/其中执行以grub2-mkconfig创建grub.cfg文件。通常,指定的脚本10_linux将负责为当前发行版创建实际的启动菜单项。如果您安装了两个或更多操作系统,则30_os-prober可能是为其他操作系统创建菜单项的脚本。

至少在 Debian 中,从中设置的10_linux变量获取发行版的名称。但即使在那里,该值也是使用命令间接设置的。GRUB_DISTRIBUTOR/etc/default/grublsb_release -i -s

因此,您只需更改GRUB_DISTRIBUTOR变量的设置方式即可/etc/default/grub快速更改 GRUB 中可见的发行版名称。

但您可能还想检查实际的/usr/bin/lsb_release命令(假设 Arch 也有)。原来这是一个Python脚本。如果您更改此脚本获取发行版名称的方式以使其输出结果“My OS”,这将自动更改 GRUB 中可见的名称,但由于该lsb_release命令可以在多个位置使用,因此更改脚本可能允许您可以立即在许多其他地方获取“My OS”名称,而不仅仅是进入 GRUB 菜单。

但是,如果包管理系统也使用该命令提供的信息lsb_release,则更改操作系统名称可能会使您在自定义发行版中使用 Arch 的软件包变得更加困难。如果您只是希望您的发行版成为“Arch 的预定制版本”,您可能不希望这样。

相关内容