如何从grub链接到syslinux?

我正在扩展我的救援usb闪存盘. USB的分区是可启动的,我已经将GRUB安装到跳转驱动器的MBR上.它工作得很好 – 我可以启动 Freedos并运行一些实用程序,我可以启动 PING.

我想将Ubuntu 9.10 LiveCD添加到这个救援USB驱动器.我有一个工作的jumpdrive,所以我可以很容易地复制文件.我可以搜索GRUB所需的menu.lst条目,但是Ubuntu LiveUSB使用了相当复杂的syslinux配置.此外,我想保留当前的LiveCD / LiveUSB外观,而无需将syslinux配置移植到GRUB.

在~quack的建议下,我尝试了一个menu.lst条目:

title Ubuntu 9.10 LiveCD
 root=(hd0,0)
 kernel /ubuntu-9.10/syslinux/isolinux.bin

但是GRUB回复错误13:无效或不支持的可执行格式.在GRUB命令行中,我尝试了:

grub> root=(hd0,0)
 grub> kernel /syslinux/isolinux.bin

因为我在该位置有第二个isolinux.bin文件,但GRUB响应时出现了同样的错误.我也尝试过:

grub> chainloader /syslinux/isolinux.bin

并再次收到错误13.最后,我尝试了GRUB命令行:

grub> root=(hd0,0)
 grub> kernel /ubuntu-9.10/install/mt86plus
 grub> boot

那很有效

我真正想要的是让GRUB调用syslinux / isolinux bootloader的方法.然后syslinux可以加载自己的菜单和诸如此类的东西.

有人知道怎么做吗?

解决方法

更新:根据您的条目,我找到了文章 “Grub chainloads syslinux and back”,基本上说“补丁grub”:
  • Chainloading syslinux from GRUB seems not to be
    possible 07001. I don’t kNow about GRUB2.
    This Could be useful for multi-booting (syslinux-based) partitions.

  • Chainloading syslinux from GRUB4dos (on different partitions) is
    possible. I managed it through the mapping,explained (again) 07002.
    It solves some 07003.

补丁页面提到了一个类似的补丁发布到grub-devel为Grub v2; this post可能是那个补丁.或this message,指this bug report(日期为2009年11月,所以它是最近的)Grub v2 patch.

要使用其中一个补丁,您需要为您首选的Grub版本下载Grub源代码,检查它是否已包含补丁,尝试应用补丁,然后重新编译并重新安装新的Grub.

原始答案:

我首先尝试测试一个简单的Grub条目.这是Debian系统上Memtest86实用程序的标准Grub条目:

title           Debian,memtest86+
root            (hd0,0)
kernel          /boot/memtest86+.bin

只需尝试使用您的值进行调整(根据需要更改根分区或内核路径):

title           Ubuntu LiveUSB SysLinux boot
root            (hd0,0)
kernel          /syslinux/isolinux.bin

我认为你不需要这个任务的chainloader命令.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...