标题并不意味着我希望 GRUB 能够识别我的桌面环境。我只想在不同的环境中单独安装 Debian 9,并能够在 GRUB 菜单中识别它们。
我试图更改 /etc/default/grub 但这仅用于当前系统(比如 Debian 9.2 xfce),因此其他系统(比如 Debian 9.2 lxde)只看到“Debian GNU/Linux 9 (stretch) ”。
我不明白我必须更改哪个文件,以便每个操作系统的 GRUB 都会给出适当的条目名称(使用 DesktopEnvironment)。
我查看了讨论更改 40_custom 或 30_os_prober 的类似主题,但没有找到答案。
我同意 Time4Tea 关于在单个系统上拥有多个 DE 的评论,但是,如果您真的想要两个单独的安装,那么我建议您选择一个作为主要用于配置 grub。例如,对于debian xfce,我会 edit
/etc/grub.d/10_linux
,然后/etc/grub.d/40_custom
对于debian lxde。请务必先备份这些文件,然后再进行编辑。然后运行update-grub
以将更改应用到/boot/grub/grub.cfg
.最后,在对我的 debian 系统进行一些更新后,以前的设置(在此编辑之前)无法正常工作。所以我解决了这样的问题:
在每个发行版的 /etc/grub.d/10_linux 文件中,我添加了一个词,显示发行版中使用的 DE,如下所示(参见“MATE”):
然后我编辑了文件 /etc/grub.d/30_os-prober 并更改了一些内容。
我的最终文件是:
这些变化是:
1)创建变量:
2)这个变量是分区标签,我正在标记我的分区(至少每个操作系统的根分区)。此标签保存在此变量中,然后添加到我的系统的 menuentries 和 sudmenuenties 中,与系统无关。在上面的代码中搜索 PTLABEL 以查看我在哪里使用它。您也可以在任何其他类型的操作系统中使用它(我想),但我只将它用于 linux 发行版。
3) 在我们更新 grub 时出现的 "found DISTRONAME" 语句中添加了这个变量,以便我可以检查我的系统是否找到或找到了等等。
这样,我使用磁盘的标签来命名我的 grub 条目。