继这里的“免维护”问题之后,我知道有一些方法可以自动生成 grub2 菜单条目,但我需要不时手动编辑/添加它们,比如
- 到实时 Linux 系统,或
- 添加新的 ISO 引导条目(存在于另一个磁盘上)时。
几乎所有 grub2 介绍文档都使用以下形式
set root=(hd2,gpt7)
我知道在我的情况下会失败,因为我需要不时在我的机器之间移动我的 HD,并且当发生这种情况时,上述格式肯定会中断。
尽管我可能无法使用 UUID 指定我的根 fs(在这里也失败了),但我也不想使用 UUID,因为当我格式化分区时(安装新操作系统时),该分区的 UUID 将改变。
那么更好的选择是什么?
- 最重要的是,GPT 分区标签是最好的候选者,因为我可以确保它们在我所有的机器中都是唯一的,即使我在我的 HD 周围移动时也是如此。但是,这样做似乎有问题:“我无法使用 PARTLABEL 安装设备”。
但是,它应该是有希望的,正如我所看到的
从 4.20 开始,还支持 PARTLABEL <github.com/torvalds/linux/blob/v4.20/init/do_mounts.c>,我认为这非常方便。也许更新答案。– equaeghe 1 月 20 日
- 第二好的是
PARTUUID
。但是,互联网上有一些令人困惑/相互矛盾的答案。
那么,是否会使用PARTLABEL
或PARTUUID
可能使用最新的 grub2?
检查 grub2 的配置文件类型文件和条目。
在为新的 ISO 编辑它时,我总是忘记运行 sudo update-grub。所以我将所有条目移动到我的 ISO 文件夹中的一个文本文件和标准 grub 40_custom 中的一个配置文件条目。然后我只需要编辑文本文件。
有关配置文件的详细信息,请参见 6.5 https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config 使用标签和配置文件来引导另一个安装
https://askubuntu.com/questions/344125/how-to-add-a-grub2-menu-entry-for-booting-installed-ubuntu-on-a-usb-drive/344359#344359
显示一个 40_custom 配置文件到 ISO 文件夹中的文本文件中,一个在 hd0 上,另一个在 hd1 上。我在一个驱动器上有 ISO,可以安装到另一个驱动器,问题较少。
https://ubuntuforums.org/showthread.php?t=2076205&p=13788092#post13788092
https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config
40_custom 中的典型条目,从不更改:
然后在 livecdimage.cfg 或您想要的任何文件中,复制完整的 grub2 引导节以进行 ISO 或其他安装。任何 grub 节都可以在文本文件中。
另一个例子:
https://ubuntuforums.org/showthread.php?t=2076205&p=14020961#post14020961
我的名为 livecdimage.cfg 的配置文件示例,通常在 ISO 文件夹中有多个条目或许多 ISO: