pca*_*mic 5 linux grub boot syslinux
我正在扩展我的救援 USB 闪存盘。USB 的分区是可引导的,并且我已将 GRUB 安装到跳转驱动器的 MBR 中。它工作得很好 - 我可以启动Freedos并运行一些实用程序,并且我可以启动PING。
我想将 Ubuntu 9.10 LiveCD 添加到此救援 USB 驱动器中。我有一个可用的跳跃驱动器,所以我可以很容易地复制文件。我可以找到menu.lst
GRUB 所需的条目,但 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
Run Code Online (Sandbox Code Playgroud)
但 GRUB 响应为Error 13: Invalid or unsupported executable format
. 然后我在 GRUB 命令行尝试:
grub> root=(hd0,0)
grub> kernel /syslinux/isolinux.bin
Run Code Online (Sandbox Code Playgroud)
因为我在该位置有第二个isolinux.bin
文件,但 GRUB 响应了相同的错误。我也尝试过:
grub> chainloader /syslinux/isolinux.bin
Run Code Online (Sandbox Code Playgroud)
并再次收到错误 13。最后,我在 GRUB 命令行尝试:
grub> root=(hd0,0)
grub> kernel /ubuntu-9.10/install/mt86plus
grub> boot
Run Code Online (Sandbox Code Playgroud)
那行得通
我真正想要的是一种让 GRUB 调用 syslinux/isolinux 引导加载程序的方法。然后 syslinux 可以加载它自己的菜单等等。
有人知道怎么做吗?
更新:根据您的条目,我找到了文章“Grub chainloads syslinux and back”,它基本上说“patch grub”:
如果没有补丁,从 GRUB 链式加载 syslinux 似乎是不可能的。我不知道GRUB2。这对于多重引导(基于 syslinux)分区很有用。
可以从 GRUB4dos(在不同的分区上)链式加载 syslinux。我通过映射来管理它,(再次)解释在这里。它解决了多重启动 USB 设备的一些问题。
补丁页面提到类似的补丁已发布到grub-devel for Grub v2;这篇文章可能就是那个补丁。或者这条消息,它指向Grub v2 补丁的错误报告(日期为 2009 年 11 月,因此是最近的)。
要使用其中一个补丁,您需要下载您首选 Grub 版本的 Grub 源代码,检查它是否已包含该补丁,尝试应用该补丁,然后重新编译并重新安装新的 Grub。
原答案:
我会先尝试测试一个简单的 Grub 条目。这是 Debian 系统上 Memtest86+ 实用程序的标准 Grub 条目:
title Debian, memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
Run Code Online (Sandbox Code Playgroud)
只需尝试用您的值调整它们(根据需要更改根分区或内核路径):
title Ubuntu LiveUSB SysLinux boot
root (hd0,0)
kernel /syslinux/isolinux.bin
Run Code Online (Sandbox Code Playgroud)
我认为您不需要该chainloader+
命令来完成此任务。
归档时间: |
|
查看次数: |
38883 次 |
最近记录: |