无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5844|回复: 5
打印 上一主题 下一主题

SYSLINUX如何引导bootmgr???

[复制链接]
跳转到指定楼层
1#
发表于 2009-9-1 16:17:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
请教:
由于新购DELL mini10,PE2以上才能使用,所以计划在原来的U盘中增加PE2.1,U盘使用SYSLINUX和GRUB4DOS引导:
GRUB4DOS菜单内有:
title PE 2.1
find --set-root /bootmgr
chainloader /bootmgr && boot
SYSLINUX菜单内有:
LABEL runpe2.1
MENU LABEL [ 2 ] --  PE 2.1
kernel /BOOTMGR


问题1: bootmgr放在根目录,GRUB4DOS可以引导bootmgr进入PE2.1,正常;但将bootmgr放在/boot/内,则被提示:Error 17: File not found,为何会这样呢?find --set-root /bootmgr不是在所有能识别的范围内寻找bootmgr吗?

问题2:
SYSLINUX无法引导bootmgr,请高手指导下,谢谢了先;???

问题3:
根目录下的LDLINUX.SYS删除了SYSLINUX也能正常进入菜单,为什么????
5#
发表于 2011-3-24 14:33:46 | 只看该作者
这个也没成功

  1. LABEL nt6.x
  2. MENU LABEL [ ^5 ] 查找并启动 Windows NT 6.x
  3. kernel /boot/ldntldr.bin
  4. initrd bootmgr
  5. boot

  6. LABEL nt5.x
  7. MENU LABEL [ ^6 ] 查找并启动 Windows NT 5.x
  8. kernel /boot/ldntldr.bin
  9. initrd ntldr
  10. boot
复制代码
回复

使用道具 举报

4#
发表于 2011-3-24 14:24:05 | 只看该作者
对于不同的启动文件,loadbin提供相应的头文件,

可以用三种方式启动系统文件,以ntldr为例:

1,直接使用头文件ldntldr.bin。以头文件作为内核,ntldr作为initrd:

kernel ldntldr.bin
initrd ntldr
boot

2,利用mkimage工具把头文件和系统文件结合起来,生成单一的启动文件:

mkimage ldntldr.bin ntldr ntldr.bin

然后把ntldr.bin作为内核就行了:

kernel ntldr.bin
boot

由于不少的启动管理器在启动Linux内核时不会传递正确的DL值,因此需要在头文件里进行设置,你可以使用-x参数在生成单一的启动文件时指定DL值,例如:

mkimage -x 0x80 ldntldr.bin ntldr ntldr.bin

有些系统,例如grub2,还支持分区参数,你可以用以下方式来指定:

mkimage -x 0x80,0 ldgrub2.bin core.img grub2.bin

这样启动后grub2会自动把根设备设为第一只硬盘第一个主分区(hd0,1)。

如果是在CDROM里启动,可以使用设备号0xe0,比如

mkimage -x 0xe0 ldgrub.bin stage2 grub.bin

这样,grub启动后就可以利用(cd)设备来访问文件了。

3,同2一样,先生成单一的启动文件ntldr.bin,然后可以利用grldr.mbr启动:

安装到mbr:

grubinst -b=ntldr.bin DEVICE

生成相应的ntldr.mbr,在boot.ini里启动:

grubinst -o -b=ntldr.bin ntldr.mbr

目前支持的启动文件格式:

1,GRUB Legacy
头文件ldgrub.bin,对应的系统文件是stage2

2,GRUB2
头文件是ldgrub2.bin,对应的系统文件是core.img

3,GRUB4DOS和NTLDR
头文件是ldntldr.bin,对应的系统文件是ntldr和grldr

至于启动管理器,只要它支持Linux内核格式,就可以使用loadbin,这其中包括grub legacy, grub2, grub4dos, syslinux/isolinux/pxelinux, lilo等等。
回复

使用道具 举报

3#
 楼主| 发表于 2009-9-1 22:38:26 | 只看该作者
原帖由 fengxi 于 2009-9-1 18:37 发表
syslinux试试这样引导bootmgr
kernel chain.c32
  append hd0,1 ntldr=bootmgr

或者通过ldntldr
kernel /boot/ldntldr
append initrd=/bootmgr



发现第二种方法还是不行,在syslinux菜单时可以进入grub4dos的菜单,但是不加载字体和图片,另外点击时显示无法mount。
回复

使用道具 举报

2#
 楼主| 发表于 2009-9-1 20:29:53 | 只看该作者
谢谢,楼上指点,使用后者已经解决syslinux引导bootmgr了;非常感谢。

哪位老大有空再帮忙解释下问题1,和问题3吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-11 23:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表