从 GRUB2 链式加载 syslinux - 显示 syslinux.cfg 菜单

rod*_*edo 9 grub2 syslinux clonezilla

我正在使用 Clonezilla live USB 磁盘来重新映像系统。根据http://clonezilla.org/fine-print-live-doc.php?path=clonezilla-live/doc/99_Misc/00_live-boot-parameters.doc 中的解释,我的磁盘提示我包含菜单在syslinux.cfg除了将在UEFI机器的最新之外的所有系统(以及已在BIOS配置为从UEFI设备第一次开机),在那里我提示的grub.cfg菜单。

鉴于我对syslinux.cfg菜单进行了大量自定义,我想修改grub.cfg文件以仅自动链加载到 syslinux,以便syslinux.cfg在所有情况下都显示菜单。

这可能吗?如何?

磁盘上有 GRUB2,我的理解(从 Internet 上环顾四周)是可能的,但我还不明白如何。任何帮助表示赞赏。

编辑:
我想澄清一下,系统使用 grub 启动,没有问题选择grub.cfg默认情况下由 Conezilla 下载提供的菜单中的任何选项,但我想做的是显示 syslinux 的菜单(在syslinux.cfg)而不是grub.cfg

第二次编辑中的默认菜单,我是如何做到的:
最后,建议的解决方案对我不起作用,所以我只是让“EFI\boot”文件夹“不可用”(重命名);这样 UEFI 启动失败,系统从 syslinux 启动,就像在旧系统上一样:没有修改 BIOS,没有新菜单,没有链加载......

IBr*_*IBr 1

这表明这是一些与此相关的错误,并且是一些补丁,因此很难确定: https: //bugs.launchpad.net/ubuntu/+source/grub2/+bug/469568

首先,如果您的操作系统更新 grub,它将重新生成 grub.cfg 并清除您的配置,因此不要手动修改 /boot/grub.cfg,而是修改 /etc/grub.d 中的文件(名为 40_custom 或类似名称的文件)并致电grub-mkconfig -o /boot/grub/grub.cfg.

你可以尝试这样简单的事情:

menuentry "Syslinux 根驱动器" {

设置根=(hd1,3)

链式装载机+1

}

(hd1,3)是sdb3磁盘分区,grub支持uuid识别,因此可以创建让所有PC都检测到您的分区的设置。然而,根据我的经验,有时这还不够。

你也可以尝试类似的东西chainloader (hd1,3)/path/to/syslinux/isofile.bin

如果一切都失败了,可以从包含 syslinux 的 iso 启动,但在你的情况下这似乎不是一个选择。