fdd_ds 发表于 2008-2-29 17:48:25

让syslinux启动慢成为过去

    因为syslinux启动后加载img或pe等的速度很慢,所以很多人都放弃了syslinux,我终于找到方法。

    引导过程为:syslinux--->grub4dos--->img/ima/PE(先说明这可不是“KERNEL grub.exe”)。
此方法在我的机子(512m内存)上测试一个9m多的dos.img(压成6.6m,好象是红叶工具箱),启动时间不超过10s;测试老毛桃0911版PE,启动时间在60s以内(用“KERNEL grub.exe”方式时,时间可不少于10min)。

    欢迎大家下载测试!请将使用情况贴上来,谢谢!

    制作方法:
1、先将U盘格式化成USB-ZIP,最好为H/S=64/32;(此步非必须,据syslinux的作者说zip格式最好)
2、用syslinux写入引导记录;
3、填加附件中的文件及各种工具至U盘。

    说明:
1、附件中为ghost镜像文件。
2、为了上传方便,镜像中未真正包括工具及PE,相应文件仅为示意,大小为0字节。
3、填加PE时,仅需将“op.win,winpe.ini和winpe.is_”这3个文件覆盖minipe文件内的同名文件即可。
4、DOS工具镜像可压缩成gz格式。
5、还可填加linux到U盘。

    本想上传1:1镜像,可没地方(压缩完后也有110m),以后再说吧!

[ 本帖最后由 fdd_ds 于 2008-2-29 05:50 PM 编辑 ]

victor888 发表于 2008-2-29 23:06:20

我来查看,没想到你的第二种启动GRUB的方法。

victor888 发表于 2008-2-29 23:24:49

LABEL GRUB4DOS
MENU LABEL ^ A ----GRUB4DOS
KERNEL syslinux.c23
APPEND initrd=grldr

以上的syslinux.c23是什么东西,你这个CFG的出处是什么地方?

chenall 发表于 2008-2-29 23:56:11

如果我没有猜错的话应该是出自时空论坛。

http://bbs.znpc.net/images/default/digest_3.gif   利用loadbin在不同的启动管理器中启动grub,grub2,grub4dos 和 ntldr


这个syslinux.c23就是ldgrub.bin改名而成。


用kernel 加载grub.exe由于并没有完全加载所以会导致速度变慢。

victor888 发表于 2008-3-1 08:16:13

chenall说的对,就是这个东西。
现在我们暂且认为syslinux是启动U盘兼容性最好的引导工具,但使用了loadbin,将引导文件变为“linux”,再由syslinux来引导,这个过程的兼容性又如何?

fdd_ds 发表于 2008-3-1 11:23:41

哈哈,这都发现了,高手就是高!

请教chenall:
用kernel 加载grub.exe由于并没有完全加载所以会导致速度变慢。
这是什么意思?那如何保证"完全加载”呢?请明示!谢谢!

现在我们暂且认为syslinux是启动U盘兼容性最好的引导工具,但使用了loadbin,将引导文件变为“linux”,再由syslinux来引导,这个过程的兼容性又如何?
这里的“引导文件”范围太广了,就不好说了。如特至grub4dos的话,我觉得应很好,1、在我这好几十台从2004至2008各品版机子上测试都OK;2、grub4dos在硬盘上使用,好像没有不成功的......:3、有问题可找“不点”呀!

在我测试中,按附件有时会出现找不到menu.lst的问题,但我觉得应该是配置文件或路径的问题,请原名丢了 版主及各位高手帮助完善一下,谢谢!

victor888 发表于 2008-3-1 13:35:19

这个问题我觉得是grub4dos的,可靠的办法就是把menu.lst导入grldr。

fdd_ds 发表于 2008-3-1 14:15:23

回:原名丢了 版主

这吗说,我的配置文件是没问题的了?

把menu.lst导入grldr,这个我也想到了,只是在添加新东西时还要重新导入,稍嫌麻烦,看已后版本能否有改善。

再请问版主:chenall说“kernel 加载grub.exe由于并没有完全加载所以会导致速度变慢”这是什么意思?

[ 本帖最后由 fdd_ds 于 2008-3-1 02:16 PM 编辑 ]

cduser 发表于 2008-3-1 20:31:29

一群高人,拜托,能不能出个成品,写个使用方法让我等菜鸟也体验一下呀?

会抽烟的鱼 发表于 2008-3-1 21:51:04

兄弟,我想问 这个60秒跟 DOS ——》 GRUB ——》 PE,哪个更快?

oym2007 发表于 2008-3-2 00:57:36

将ldgrub.bin改名而成syslinux.c23。? 不如 直接 mkimage.exe ldntldr.bingrldrmygrldr。
再将mygrldr 改名回来
引导winpe    mkimage.exe ldntldr.binserupldr.bin   peldr.bin         (serupldr.bin老毛wxpe目录下的)
label grldr
KERNEL /boot/mygrldr
label 03pe
KERNEL /boot/03peldr.bin
label winper
KERNEL /boot/peldr.bin

从linux 引导 grldr好象grldr 没有识别启动介质运行原菜单中map --mem /dos98.img (fd0)提示找不到要在此句前增加 find --set--root /dos98.img   才行

[ 本帖最后由 oym2007 于 2008-3-2 01:06 AM 编辑 ]

fdd_ds 发表于 2008-3-2 09:05:51

1、我是将ldntldr.bin随意改成syslinux.c23的,因syslinux加载*.bin时会有问题。
2、“提示找不到”这个我倒没发现,我的各选项前均有find --set--root ......。

会抽烟的鱼 发表于 2008-3-2 09:30:38

原帖由 fdd_ds 于 2008-3-2 09:05 AM 发表 http://bbs.wuyou.net/images/common/back.gif
1、我是将ldntldr.bin随意改成syslinux.c23的,因syslinux加载*.bin时会有问题。
2、“提示找不到”这个我倒没发现,我的各选项前均有find --set--root ......。


都说SYSLINUX兼容性比较好,我也试着用makebootfat做了一个USB-ZIP,没有在LINUX下验证是否成功。但的确已经可以引导了。

但兼容性有总量,我这只有两块865PE的主板可以引导,其它机器(有老的,也新机器)都不能正常引导(有的没有菜单,根本就不认ZIP)。

fdd_ds 发表于 2008-3-2 10:20:17

grldr找不到菜单的问题,我想到个变通的方法。即通过内置菜单调用外置菜单。

方法为:

1、置换内置菜单为如下内容;
timeout 0
default 0
title
find --set-root /boot/grub/menu.lst
configfile /boot/grub/menu.lst

2、拷贝外置菜单至/boot/grub/下即可。
       注:外置菜单(menu.lst)的文件名也可随意,但必须和内置菜单相对应(红色部分)。

附件:是grub4dos菜单编辑器,图形界面的。

cocobi 发表于 2008-3-2 11:19:24

汗,\boot\syslinux\grldr是只读属性.还以为是你的菜单编辑工具有问题.命令行一试才知道

替换后还是找不到menu.lst
J:金士顿 逸盘 2G.
syslinux.exe j: 做的引导.不会跟syslinux版本有关系吧?

[ 本帖最后由 cocobi 于 2008-3-2 11:28 AM 编辑 ]

会抽烟的鱼 发表于 2008-3-2 11:40:41

原帖由 cocobi 于 2008-3-2 11:19 AM 发表 http://bbs.wuyou.net/images/common/back.gif
汗,\boot\syslinux\grldr是只读属性.还以为是你的菜单编辑工具有问题.命令行一试才知道

替换后还是找不到menu.lst
J:金士顿 逸盘 2G.
syslinux.exe j: 做的引导.不会跟syslinux版本有关系吧?

在我这的几台机器上可以正常引导,可在一些机器上找不到菜单,直接在命令行下手动执行也找不到。

所以找不到菜单的总量很可能跟主板的BIOS有关。

fdd_ds 发表于 2008-3-2 11:51:31

都用最新版试试(我是用grub4dos-2008-1-3和syslinux-3.61做的)。

直接将menu.lst置入grldr是否可以加载工具?

[ 本帖最后由 fdd_ds 于 2008-3-2 11:54 AM 编辑 ]

cocobi 发表于 2008-3-2 12:05:31

grub不认我的u盘.find U盘上的任何东西都找不到.硬盘里面的东西可以.sata硬盘识别成hd了.

cocobi 发表于 2008-3-2 12:15:10

原帖由 会抽烟的鱼 于 2008-3-2 11:40 AM 发表 http://bbs.wuyou.net/images/common/back.gif


在我这的几台机器上可以正常引导,可在一些机器上找不到菜单,直接在命令行下手动执行也找不到。

所以找不到菜单的总量很可能跟主板的BIOS有关。

应该是这个原因,我的是MCP73芯片.一会试试其他机器


原帖由 fdd_ds 于 2008-3-2 11:51 AM 发表 http://bbs.wuyou.net/images/common/back.gif
都用最新版试试(我是用grub4dos-2008-1-3和syslinux-3.61做的)。

直接将menu.lst置入grldr是否可以加载工具?
应该不行,直接用命令都找不到.我的也是080103版.上面gho解出来的.

PS:你们回帖好快

fdd_ds 发表于 2008-3-2 12:30:28

你说的情况,我这没有出现。
1、试试用KERNEL方式加载grub.exe,看能否find U盘上的东西?
2、用syslinux--->ntldr--->grldr---->.....方式再试试。即将cfg中的“APPEND initrd=grldr”改为APPEND initrd=ntldr,并拷贝ntldr至/boot/syslinux/下,boot.ini至U盘根目录下编辑........,看这样是否可以?

cocobi 发表于 2008-3-2 12:40:32

刚在acer TM3300笔记本上试了下,可以找到.不同的是主板对U盘的识别.
在我的机器上识别为zip(实际好像是hdd).在笔记本上识别为hdd,grub find 的时候也是识别为hd.

fdd_ds 发表于 2008-3-2 13:00:28

但兼容性有总量,我这只有两块865PE的主板可以引导,其它机器(有老的,也新机器)都不能正常引导(有的没有菜单,根本就不认ZIP)。

U-zip是H/S=64/32吗?“不能正常引导”请说的详细些。

cocobi 发表于 2008-3-2 13:12:19

ntldr 直接找到了我硬盘的boot.ini 移掉硬盘的话也找不到u上的boot.ini
提示
multi(0)disk(0)rdisk(0)partition(1)......找不到.

ares02 发表于 2008-3-2 13:43:43

我的台电2G优盘用了GHO文件没用启动显示是HDD EBIOS
BOOT ERROR
用了USB ZIP USB HDD都不行
看来我的主板只能识别我的优盘为USB HDD的吧

fdd_ds 发表于 2008-3-2 15:04:18

启动显示是HDD EBIOS
这说明引导记录有问题,用syslinux.exe重写一下。

king190 发表于 2008-3-2 17:11:57

不明白!~~~~~~

terryk 发表于 2008-3-2 21:51:19

路过,帮顶吧
因为自己找了几个5128芯片的U盘,就量产成cdrom了,兼容性还好。IBM本本除外

会抽烟的鱼 发表于 2008-3-2 23:32:35

原帖由 fdd_ds 于 2008-3-2 01:00 PM 发表 http://bbs.wuyou.net/images/common/back.gif


U-zip是H/S=64/32吗?“不能正常引导”请说的详细些。


我用的 KINGMAX 的2代1G超棒,只有一个分区,且 LINUX 下已经难证 H/S 为 64/32

1、只有两块865PE的板认出来是 USB - ZIP,且引导过程正常。
2、845PE、815EP、NF2等几板较老主板都不能正常启动。没有引导过程……
3、较新几台机器,可以从 USB -ZIP 启动,正常引导 SYSLINUX ,接着再进 GRUB4DOS 就不行了,没办法找到 U盘 上的东西,提示乱码(我用的中文)。菜单已经内置到GRLDR。

个人感觉 SYSLINUX 的兼容性还是有差,原来用 DOS 加载 GRUB4DOS 也没有出现过这么多不认的情况。

m68 发表于 2008-3-3 00:56:10

正看syslinux语法,先顶一下,加入关注!

barton 发表于 2008-3-3 12:52:11


你说的情况,我这没有出现。
1、试试用KERNEL方式加载grub.exe,看能否find U盘上的东西?
2、用syslinux--->ntldr--->grldr---->.....方式再试试。即将cfg中的“APPEND initrd=grldr”改为APPEND initrd=ntldr,并拷贝ntldr至/boot/syslinux/下,boot.ini至U盘根目录下编辑........,看这样是否可以?

还需要ntdetect.com文件




个人的看法:
除非需要grub4dos的ISO仿真等一些比较高级的功能,否则没必要利用SYSLINU加载grub (grldr)
这种方法不能保证成功率。

U盘上syslinux配合bean的loadlin工具,可以满足绝大部分的要求,起码引导NTLDRSETUPLDR.BIN(pe)都是没任何问题的。

我也试过syslinux--->ntldr--->grldr,效果也不怎么令人满意。

总结:虽然通过syslinux加载GRUB来启动各种工具,可以改善加载速度,但是syslinux--->grldr这个环节不牢靠,利用此方法加快启动速度也无太大意义。

[ 本帖最后由 barton 于 2008-3-3 01:02 PM 编辑 ]
页: [1] 2
查看完整版本: 让syslinux启动慢成为过去