无忧启动论坛

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

如何在“fbinst万能启动10-1日更新”中给可见分区添加启动

[复制链接]
跳转到指定楼层
1#
发表于 2009-10-27 16:10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

fbinst菜单如下:
default 0
timeout 1
color red
text "=========================="
color yellow
text "F1. Boot From grub"
menu F1 grldr "grldr"
color red
text "=========================="
color yellow
text "F2. Boot From syslinux"
menu F2 syslinux "ldlinux.bin"
color red
text "=========================="

我想利用F2做一个可见分区的启动。
一,把IMG文件解压在可见分区,用引导区引导AUTOEXEC.BAT
二,用F2引导可见分区的GRUB菜单,这个目的我无法实现。

syslinux菜单操作图:


grldr菜单操作图:


经以上二步可以启动syslinux,但问题是只有当启动U盘被认为是C盘的机器才有效。


有人可能会说没有备份分区引导记录到UD区
那么看这里

3、备份主引导记录到文件fbinst.bin






从这里跟着一步一步也只有当启动U盘被认为是C盘的机器才有效。
在我看来一个是引导记录备份无效,一个是查找文件只认(HD0.X)不认(FD0)
我平时用GRUB的时候是不用find --set-root的,因为一用我U盘文件就无效。
希望有高人指教,万分感谢!

2#
发表于 2009-10-27 16:16:29 | 只看该作者
不理解用途,两种启动方式的话,不用这么麻烦,内置菜单就好了
回复

使用道具 举报

3#
 楼主| 发表于 2009-10-27 16:37:14 | 只看该作者
原帖由 abs 于 2009-10-27 16:16 发表
不理解用途,两种启动方式的话,不用这么麻烦,内置菜单就好了

这个就是内置菜单啊
default 0
timeout 1

color red
text "=========================="
color yellow
text "F1. Boot From grub"
menu F1 grldr "grldr"
color red
text "=========================="
color yellow
text "F2. Boot From syslinux"
menu F2 syslinux "ldlinux.bin"
color red
text "=========================="

内置菜单启动不了可见分区的文件,除非U盘启动为C
BOOTICE本来就有可见分区引导的,但照网上做了好象没用。所以来请教了。

[ 本帖最后由 dosz 于 2009-10-27 16:40 编辑 ]
回复

使用道具 举报

4#
 楼主| 发表于 2009-10-27 16:49:46 | 只看该作者
这么说吧,如何启动U盘可见分区的menu.lst菜单,并加载以下IMG文件。


  1. # 设置中文支持的字体文件
  2. fontfile (fd0)/boot/grub/fonts
  3. # 设置动画图形菜单文件
  4. gfxmenu (fd0)/boot/grub/grub_chs.msg
  5. # 启动时间
  6. timeout 30
  7. # 默认启动值
  8. default 3

  9. title 小猪猪 进入硬盘多系统            start from memdisk.gz+zBOOTINI.gz_xx
  10. kernel (fd0)/boot/grub/memdisk.gz
  11. initrd (fd0)/boot/zBOOTINI.gz
  12. boot
  13. title 小猪猪 GHO软盘镜像文件           start from dosz_zGHOBOOT.img
  14. map --mem /boot/zGHOBOOT.img (fd0)
  15. map --hook
  16.       chainloader (fd0)+1
  17.       rootnoverify (fd0)
  18.       map --floppies=1
  19.       boot
  20. title 小猪猪 读闪存CD软盘镜像文件      start from dosz_zW99USB.IMG
  21. map --mem /boot/zW99USB.IMG (fd0)
  22. map --hook
  23.       chainloader (fd0)+1
  24.       rootnoverify (fd0)
  25.       map --floppies=1
  26.       boot
复制代码
回复

使用道具 举报

5#
发表于 2009-10-27 19:16:04 | 只看该作者
这个很容易啊。
把上述菜单拷贝到"grldr菜单操作图:"这张图位置处,生成新的grldr,把生成的grldr文件拷贝到"syslinux菜单操作图:"位置那,点击生成新的syslinux文件。并把新生成的syslinux重命名为linux放到U盘可见分区根目录下即可。
但我看你的菜单写法有点问题。如:# 设置中文支持的字体文件
fontfile (fd0)/boot/grub/fonts“这里你把U盘路径直接设为(fd0)是不正确的。
你可以这么改:就是前面加个find定位U盘分区,顺便将(fd0)去掉。其它的都一样改。注意我这是以linux作为索引文件的,所以U盘正常数据区一定要存在这个文件(正好也是syslinux引导用的文件).
find --set-root --ignore-floppies --ignore-cd /linux
fontfile /boot/grub/fonts
====================================
经测试我上述说法有误,当U盘被识别为(fd)时,还是无法识别U盘可见分区下的文件,即在grub命令行下,ls (fd0)后里面的文件为乱码.具体要怎么加载,看来我还得再学学grub知识,以上误导请楼主见谅.

[ 本帖最后由 gzk101 于 2009-10-27 21:01 编辑 ]
回复

使用道具 举报

6#
发表于 2009-10-27 20:43:58 | 只看该作者

回复 #5 gzk101 的帖子

我前些天学了点syslinux,写了个小结:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=152892
觉得省略mkimage步骤,直接用grldr改名的方式简单些。
可见分区只有两个文件:grldr.bin(grldr改名)和syslinux.cfg,这两个文件可同处于根目录、syslinux目录或boot\syslinux目录。
回复

使用道具 举报

7#
发表于 2009-10-27 20:52:26 | 只看该作者
menu F2 syslinux "ldlinux.bin"
ldlinux.bin就可以引导可见分区的SYSLINUX,在SYSLINUX中调用GRUB就可以了呀!
LABEL grub
        MENU LABEL GRUB
        kernel /BOOT/syslinux/grub.exe
回复

使用道具 举报

8#
 楼主| 发表于 2009-10-27 21:57:39 | 只看该作者
原帖由 gzk101 于 2009-10-27 19:16 发表
这个很容易啊。
把上述菜单拷贝到"grldr菜单操作图:"这张图位置处,生成新的grldr,把生成的grldr文件拷贝到"syslinux菜单操作图:"位置那,点击生成新的syslinux文件。并把新生成的syslinux重命名为linux放到U盘可见分区根目录下即可。
但我看你的菜单写法有点问题。如:# 设置中文支持的字体文件
fontfile (fd0)/boot/grub/fonts“这里你把U盘路径直接设为(fd0)是不正确的。
你可以这么改:就是前面加个find定位U盘分区,顺便将(fd0)去掉。其它的都一样改。注意我这是以linux作为索引文件的,所以U盘正常数据区一定要存在这个文件(正好也是syslinux引导用的文件).
find --set-root --ignore-floppies --ignore-cd /linux
fontfile /boot/grub/fonts

这个是我的U盘可分区文件

这个是我的U盘可分区启动文件syslinux

这个是我的U盘可分区启动文件syslinux(也就是这个文件menu.lst)
default 8
find --set-root /img/message
gfxmenu /img/message
--------
title 【 ok 】启动doszGho v09.10 系统恢复盘
find --set-root /img/doszGho.gz

我的做法就是这样的,menu.lst
map --mem  /img/doszGho.gz (fd0)
map --hook
这二个文件是我自己加进去的


我的做法就是这样的,用menu.lst生成的grldr,用grldr生成新的syslinux文件。这二个文件夹也放在U盘上,跟你说的一样做起来倒是很方便的。现在的问题你知道吗,只要在启动后为U盘为C盘的机器就能启动我的MESSACE和doszGho.gz,以据命令find --set-root找到的盘符为(hd0.0),但启动U盘盘符为A的U盘只能听到的是一程硬盘响,再就是找不到文件的信息。
回复

使用道具 举报

9#
 楼主| 发表于 2009-10-28 21:21:12 | 只看该作者
gzk101 你很认真,我很高兴。其实不光是你的那个工具是这样,我下载的其它几个也是无法启动USB-ZIP的机器。可能我有些做法不对。

我这里倒有个方法你看下:
以下代码实机测试,一个USB-HDD的电脑,一个是USB-ZIP的电脑。
其中之USB-ZIP的电脑启启动过程如下:
(ud)
(dh0,0)
(dh0,4)
(dh0,5)
(dh0,6)
(fh0)
(fh1)

1,UD中GRUB菜单代码:
  1. title [dosz] 启动UD外部GRUB4DOS菜单
  2. errorcheck off
  3. configfile /boot/grub/menu.lst
  4. configfile /menu.lst
  5. configfile /grub/menu.lst
  6. find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
  7. find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
  8. find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst
  9. errorcheck on
  10. commandline
  11. title ---------------------------------------------------------------
  12. root
复制代码
2,可见分区MENU.LST代码:
  1. # find --set-root /dosz
  2. ::请不要用 find

  3. # 启动时间
  4. timeout 30

  5. # 默认启动值
  6. default 3

  7. # 设置中文支持的字体文件(无法启用,UTF-8保存还是乱码)
  8. # fontfile /boot/grub/fonts.gz

  9. # 启用图片和支持中文(能显示图片和中文但不能反回UD菜单了,有的只是GRUB4DOS)。
  10. # gfxmenu /boot/grub/message

  11. # 设置动画图形菜单文件 OK
  12. splashimage /boot/grub/bj2008.xpm.gz

  13. title 小猪猪 进入硬盘多系统            start from memdisk.gz+zBOOTINI.gz_xx
  14. kernel (fd0)/boot/grub/memdisk.gz
  15. initrd (fd0)/boot/zBOOTINI.gz
  16. boot

  17. title 小猪猪 GHO软盘镜像文件           start from dosz_doszGho.gz
  18. map --mem /img/doszGho.gz (fd0)
  19. map --hook
  20.       chainloader (fd0)+1
  21.       rootnoverify (fd0)
  22.       map --floppies=1
  23.       boot

  24. :: 在UD外部MENU.LST菜单调用UD内部GRLDR内部菜单
  25. title [0000/UD] 启动内置菜单
  26. errorcheck off
  27. #  configfile (md)4+1
  28. configfile (md)4+8
  29. errorcheck on
  30. commandline
  31. title ---------------------------------------------------------------
  32. root
复制代码

[ 本帖最后由 dosz 于 2009-10-28 21:38 编辑 ]
回复

使用道具 举报

10#
 楼主| 发表于 2009-10-28 21:57:17 | 只看该作者
原帖由 gzk101 于 2009-10-27 19:16 发表
这个很容易啊。
注意我这是以linux作为索引文件的,所以U盘正常数据区一定要存在这个文件(正好也是syslinux引导用的文件). ...


为什么要把新生成的syslinux重命名为linux,搞不懂,重命名为linux后就不能启动了,这里我不要索引文件,要了反而吃硬盘。再说syslinux也可以索引文件的。

关于索引文件这里有有个好帖子。求解 Grub4Dos 的 find --set-root 命令……

你看我#9楼的FIND用了正个硬盘不停的响。这种不是在实机上试,不是在USB-ZIP机上试是不知道的。
# find --set-root /dosz
::请不要用 find


[ 本帖最后由 dosz 于 2009-10-28 22:09 编辑 ]
回复

使用道具 举报

11#
发表于 2009-10-28 21:57:46 | 只看该作者
其实这个问题我也注意到了,这个应该跟我使用mkimage.exe生成的syslinux文件在U盘被识别为(fd0)时存在BUG有关,我在时空问了下,不过没人回答.估计一时也没什么好的解决办法.但我使用天涯海角的方法,通过syslinux引导成功后先加载grub.exe,再启动grldr是成功的,即使是在U盘被识别为HDD或fd0时均可以正常启动.但这样做的结果就是U盘下文件偏多.目录不够清爽.要实现你的想法,很简单.
我明天整一份出来,今天有点事。

[ 本帖最后由 gzk101 于 2009-10-28 22:07 编辑 ]
回复

使用道具 举报

12#
 楼主| 发表于 2009-10-29 11:43:00 | 只看该作者
原帖由 gzk101 于 2009-10-28 21:57 发表
其实这个问题我也注意到了,这个应该跟我使用mkimage.exe生成的syslinux文件在U盘被识别为(fd0)时存在BUG有关,我在时空问了下,不过没人回答.估计一时也没什么好的解决办法.但我使用天涯海角的方法,通过syslinux引 ...

我明天整一份出来,今天有点事。
谢谢!
回复

使用道具 举报

13#
发表于 2009-10-29 13:33:47 | 只看该作者
原帖由 gzk101 于 2009-10-28 21:57 发表
其实这个问题我也注意到了,这个应该跟我使用mkimage.exe生成的syslinux文件在U盘被识别为(fd0)时存在BUG有关,我在时空问了下,不过没人回答.估计一时也没什么好的解决办法.但我使用天涯海角的方法,通过syslinux引 ...

g兄好像没有注意到我提供的模板。我提供了syslinux如何直接引导grldr的方法。

[ 本帖最后由 pseudo 于 2009-10-29 14:20 编辑 ]
回复

使用道具 举报

14#
发表于 2009-10-29 20:24:26 | 只看该作者
P大的东西没去测试,主要是不想用UT破坏了原来的MBR,本来装了个虚拟U盘。结果一插入虚拟U盘就蓝屏,郁闷着,有时间去测下。
刚才我发现原来用mkimage制作适合syslinux引导的文件完全没必要。最简单的方法竟然是直接调用,具体步骤如下:
1、根据“grldr菜单操作”下的提示重新生成新的grldr,并重命名为grldr.bin。不过现在有更简单的方法用新版的fbinsttool修改菜单保存即可。
2、将syslinux文件夹导到U盘根目录下,除了syslinux.cfg外的文件全部删除,编辑syslinux.cfg文件里的内容如下:就一句,并保存。
default grldr.bin
3、将第一步修改得到的grldr文件复制到U(u盘)/syslinux/下,即跟上述syslinux.cfg放在同一目录下。

这里提点注意的地方:就是在修改grldr.bin菜单时,不要在开头添加find --set-root这一句,syslinux引导进去后会默认将该文件所在的盘(即U盘)设为当前目录的。

好了,现在可以直接按F2启动了,不会出现识别成(fd0)时无法运行的情况。
或者楼主下载我的附件放到U盘可见分区根目录,自行替换/syslinux/grldr.bin为你自己修改菜单并内置后的grldr.bin也行。这个附件里我没改什么菜单,就是把第一项改为加载U盘可见分区下的PE.ISO,并运行。支持所有的PE。大家只需要将下载的各类ISO文件改名为PE.ISO放在U盘根目录,就可以运行,只是没经过修改过的PE用该项进入后会出现“光棍现象”,即没有外置程序,这跟PE的制作有关。有需要的你们自己修改或通知PE的作者修改。

[ 本帖最后由 gzk101 于 2009-11-3 19:58 编辑 ]

效果.JPG (75.2 KB, 下载次数: 40)

效果.JPG

syslinux.rar

106.5 KB, 下载次数: 97, 下载积分: 无忧币 -2

解压缩后释放到U盘可见分区根目录

回复

使用道具 举报

15#
发表于 2009-10-29 23:53:09 | 只看该作者

回复 #14 gzk101 的帖子

无论UltraISO写入还是fbinst写入,都只是解决引导syslinux的问题。问题是引导syslinux后,接着syslinux如何引导grub4dos呢?

我在模板里提供了syslinux如何直接调用grldr的通用方法(用到grldr.bin与syslinux.cfg两个文件),也可以用于fbinst引导syslinux之后的情形。如果g兄注意到了,可以早点找到这个最简单的方法。

补充一下:syslinux.cfg可以放在根目录、syslinux目录或boot\syslinux目录。grldr.bin一般与syslinux.cfg并列,也可放在任意目录(相应修改syslinux.cfg)。
对g大的fba而言,ud内的grldr宜取名为grldr.bin(修改fbinst菜单),这样到时直接抄一份到ud外即可,在ud内的由fbinst直接调用,在ud外的经由ldrlinux.bin调用。syslinux.cfg在ud内也多放一份,到时一并抄到ud外。
必要时grldr.bin与syslinux.cfg也许还能放在ud内syslinux目录下(修改fbinst菜单),到时抄个syslinux目录到ud外即可。这比原来的做法简单多了。
回复

使用道具 举报

16#
 楼主| 发表于 2009-10-30 22:29:40 | 只看该作者
原帖由 gzk101 于 2009-10-29 20:24 发表
这里提点注意的地方:就是在修改grldr.bin菜单时,不要在开头添加find --set-root这一句,syslinux引导进去后会默认将该文件所在的盘(即U盘)设为当前目录的。
...

你和我一样地说:
[quote]原帖由 #9楼 dosz 于 2009-10-28 21:21 发表
# find --set-root /dosz
::请不要用 find

# 启动时间
timeout 30

# 默认启动值
default 3

# 设置中文支持的字体文件(无法启用,UTF-8保存还是乱码)
# fontfile /boot/grub/fonts.gz
现在问题解决了,但另一个问题是无法加载中文(fonts)。当然加载 MESSAGE 是可以的,但为无法返回UD的。
回复

使用道具 举报

17#
发表于 2009-11-2 19:08:05 | 只看该作者

回复 #14 gzk101 的帖子

请问楼主,这两个直接放在ud内(不可见分区)行不行,放在外面,有时格式化时,麻烦,还得再重新再拷一次。
回复

使用道具 举报

18#
发表于 2009-11-2 19:26:37 | 只看该作者

回复 #17 zhaozwf 的帖子

不可以,除非修改linux使得它支持ud区,但这个工作得让linux的作者来做,但估计其作者还不知道有fbinst这东西呢。呵呵
回复

使用道具 举报

19#
发表于 2009-11-4 14:46:26 | 只看该作者
昨天试了一下,在usb1.1的机子上无法引导可见分区(主要是这时可见分区还没有被系统bios识别)
回复

使用道具 举报

20#
发表于 2009-11-4 14:59:26 | 只看该作者
看来这就是关键所在了,如果连bios也无法识别U盘可见分区,那要加载它里面的文件当然也不可能。你可以试试先加载第二项的加载USB2。0模式,这个工具有时能使得BIOS识别到U盘可见分区。
回复

使用道具 举报

21#
发表于 2009-11-4 19:20:37 | 只看该作者
我很想道如何从UD分区直接启动PE(非ISO文件,是ISO解开后),这样启动PE速度快。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-27 13:10

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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