无忧启动论坛

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

请教:fbinst下的grub4dos和syslinux菜单互转以及msdos问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-29 11:59:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  这一个多星期来一直在研究fbinst,刨了不少帖子,明白了个大概,但是还有些问题没解决,情况如下:

  用fbinsttool1.508把u盘(金士顿DTI/8G)格式化(勾选zip),向ud中加入相关文件(见附件fb.rar):

    grldr是这个月23号最新的0.4.5中文版中提取的;
    ldlinux.bin是3.8.4版的;
    io.sys是msdos7.1的(为了u盘文件的整洁,我改了command.com、config.sys和autoexec.bat的路径);
    还有0pe及其他一些工具。

  U盘外置文件见boot.rar(其中fbinst.bin和syslinux.bin是用bootice0.72备份63扇区,lslinux.sys包含在syslinux.bin)。

  菜单内容如下:

fbinst
  1. default 5
  2. timeout 99
  3. color yellow
  4. text "******** PLEASE CHOOSE MENU ********"
  5. color yellow
  6. text " "
  7. color green
  8. text "  ________________________________  "
  9. color green
  10. text " |                                |"
  11. color green
  12. text " |  F1. Tools                     |"
  13. menu F2 grldr "grldr"
  14. color green
  15. text " |  F2. syslinux                  |"
  16. menu F3 syslinux "ldlinux.bin"
  17. color green
  18. text " |  F3. Ms-dos                    |"
  19. menu F4 msdos "io.sys"
  20. color green
  21. text " |________________________________|"
复制代码
grldr
  1. checkrange 0x80 read 0x8280 || map (fd0) (hd0)
  2. checkrange 0x80 read 0x8280 || map (hd0) (hd1)
  3. checkrange 0x80 read 0x8280 || map --hook
  4. root (hd0,0) || root (hd0,1)
  5. configfile (,0)/boot/grub/menu.lst (hd0)+1 || configfile (,1)/boot/grub/menu.lst (hd0)+1
复制代码
menu.lst
  1. timeout 10
  2. default 0
  3. gfxmenu /boot/grub/main
  4. title  启动Fbinst菜单
  5. chainloader /boot/syslinux/fbinst.bin
  6. title  启动syslinux菜单
  7. chainloader /boot/syslinux/syslinux.bin
复制代码
syslinux.cfg
  1. prompt 0
  2. timeout 300
  3. TOTALTIMEOUT 600
  4. default vesamenu.c32
  5.       LABEL Fbinst
  6.         MENU LABEL [1] Start FBinst Menu
  7.         kernel \boot\syslinux\ldntldr
  8.         append initrd=\boot\grub\fbldr
  9.       LABEL gfx
  10.         MENU LABEL [2] Start Grub4DOS Menu      
  11.         kernel \boot\syslinux\ldntldr
  12.         append initrd=\boot\grub\grldr
复制代码


  这样做好后,在vmware6.5和实机(G31和G41)中用hard disk启动,进入gfx、syslinux、msdos都没问题,gfx、syslinux、fbinst菜单反复互转也都没问题,也能进入dos。

  在老机上通过usb-zip启动也能进grub4dos,syslinux,但是不能互转:gfx能转到fbinst,转到syslinux提示press a key to reboot;syslinux转fbinst和gfx都是直接进到grub命令行(如果命令改成这样append initrd=/boot/syslinux/fbinst.bin会死机的)。msdos也进不去,提示找不到command.com(不改io.sys,把msdos7.1的文件直接放到u盘根目录也是一样)。
  
  由于公司老机比较多,我只能选usb-zip方式启动。

  请各位大大帮忙分析一下,是怎么回事,看有没有解决方案。多谢了!

[ 本帖最后由 ecaiho 于 2009-12-29 12:01 编辑 ]

boot.rar

138.23 KB, 下载次数: 204, 下载积分: 无忧币 -2

u盘根目录下文件

fb.rar

192.81 KB, 下载次数: 248, 下载积分: 无忧币 -2

200k限制,只能压了再压

2#
发表于 2009-12-30 11:20:42 | 只看该作者
syslinux转fbinst,在u盘可见分区/boot/syslinux/syslinux.cfg中起动菜单改成:

LABEL return
MENU LABEL Return fbinst menu
kernel /BOOT/syslinux/fbinst.BIN
回复

使用道具 举报

3#
 楼主| 发表于 2009-12-30 14:57:07 | 只看该作者
我最开始就是这样做的,不行,直接死机
回复

使用道具 举报

4#
发表于 2010-3-20 17:13:32 | 只看该作者
顶一下,我也出现了这个问题
在虚拟机上F3. Ms-dos 能直接启动DOS,但是实机上就不行,提示找不到command.com。做的方法跟楼主是一样的,把command.com等文件放在根目录,然后UD区加的IO.SYS。估计可能是虚拟机把U盘当HDD启动了,因为启动的时候DOS根目录是C盘,而实机出错后显示的貌似是A盘。该怎么解决呢?求高手帮帮忙,谢谢
回复

使用道具 举报

5#
发表于 2010-4-6 12:59:53 | 只看该作者
我试过解决 mbr装 grub4dos, 或者 syslinux 转 grldr,  grldr chainloader io.sys, command.com not found 的问题,

处理方法是 geometry --tune.

例如: 我的 usb-zip, syslinux转  grldr 后, grldr 内置菜单如下:

#如果被认成了hd, 那么就是 (hd0,3), 从这里找到配置.
#先判断硬盘, 因为这个判断快.
geometry --tune (hd0)
cat --length=0 (hd0,3)/BOOT/GRUB/MENU_ZIP.LST && rootnoverify (hd0,3) && configfile /BOOT/GRUB/MENU_ZIP.LST

#如果是认成了 fd, 就是 fd0 了.
geometry --tune (fd0)
cat --length=0 (fd0)/BOOT/GRUB/MENU_ZIP.LST && rootnoverify (fd0) && configfile /BOOT/GRUB/MENU_ZIP.LST

commandline


之后 grub 启动 io.sys, 就不会 command.com not found 了.
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 14:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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