无忧启动论坛

标题: 让syslinux启动慢成为过去 [打印本页]

作者: fdd_ds    时间: 2008-2-29 17:48
标题: 让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 编辑 ]

Uzip.part1.rar

190 KB, 下载次数: 2459, 下载积分: 无忧币 -2

Uzip.part2.rar

190 KB, 下载次数: 2202, 下载积分: 无忧币 -2

Uzip.part3.rar

190 KB, 下载次数: 2149, 下载积分: 无忧币 -2

Uzip.part4.rar

190 KB, 下载次数: 2069, 下载积分: 无忧币 -2

Uzip.part5.rar

35.7 KB, 下载次数: 1509, 下载积分: 无忧币 -2


作者: victor888    时间: 2008-2-29 23:06
我来查看,没想到你的第二种启动GRUB的方法。
作者: victor888    时间: 2008-2-29 23:24
LABEL GRUB4DOS
MENU LABEL ^ A ----GRUB4DOS
KERNEL syslinux.c23
APPEND initrd=grldr


以上的syslinux.c23是什么东西,你这个CFG的出处是什么地方?
作者: chenall    时间: 2008-2-29 23:56
如果我没有猜错的话应该是出自时空论坛。

   利用loadbin在不同的启动管理器中启动grub,grub2,grub4dos 和 ntldr


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


用kernel 加载grub.exe由于并没有完全加载所以会导致速度变慢。
作者: victor888    时间: 2008-3-1 08:16
chenall说的对,就是这个东西。
现在我们暂且认为syslinux是启动U盘兼容性最好的引导工具,但使用了loadbin,将引导文件变为“linux”,再由syslinux来引导,这个过程的兼容性又如何?
作者: fdd_ds    时间: 2008-3-1 11:23
哈哈,这都发现了,高手就是高!

请教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
这个问题我觉得是grub4dos的,可靠的办法就是把menu.lst导入grldr。
作者: fdd_ds    时间: 2008-3-1 14:15
标题: 回:原名丢了 版主
这吗说,我的配置文件是没问题的了?

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

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

[ 本帖最后由 fdd_ds 于 2008-3-1 02:16 PM 编辑 ]
作者: cduser    时间: 2008-3-1 20:31
一群高人,拜托,能不能出个成品,写个使用方法让我等菜鸟也体验一下呀?
作者: 会抽烟的鱼    时间: 2008-3-1 21:51
兄弟,我想问 这个60秒跟 DOS ——》 GRUB ——》 PE,哪个更快?
作者: oym2007    时间: 2008-3-2 00:57
将ldgrub.bin改名而成syslinux.c23。? 不如 直接 mkimage.exe ldntldr.bin  grldr  mygrldr。
再将mygrldr 改名回来
引导winpe    mkimage.exe ldntldr.bin  serupldr.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
1、我是将ldntldr.bin随意改成syslinux.c23的,因syslinux加载*.bin时会有问题。
2、“提示找不到”这个我倒没发现,我的各选项前均有find --set--root ......。
作者: 会抽烟的鱼    时间: 2008-3-2 09:30
原帖由 fdd_ds 于 2008-3-2 09:05 AM 发表
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
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菜单编辑器,图形界面的。

G4DEditor.part1.rar

190 KB, 下载次数: 306, 下载积分: 无忧币 -2

G4DEditor.part2.rar

105.3 KB, 下载次数: 315, 下载积分: 无忧币 -2


作者: cocobi    时间: 2008-3-2 11:19
汗,\boot\syslinux\grldr是只读属性.还以为是你的菜单编辑工具有问题.命令行一试才知道

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

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

syslinux.rar

14.93 KB, 下载次数: 227, 下载积分: 无忧币 -2


作者: 会抽烟的鱼    时间: 2008-3-2 11:40
原帖由 cocobi 于 2008-3-2 11:19 AM 发表
汗,\boot\syslinux\grldr是只读属性.还以为是你的菜单编辑工具有问题.命令行一试才知道

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


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

所以找不到菜单的总量很可能跟主板的BIOS有关。
作者: fdd_ds    时间: 2008-3-2 11:51
都用最新版试试(我是用grub4dos-2008-1-3和syslinux-3.61做的)。

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

[ 本帖最后由 fdd_ds 于 2008-3-2 11:54 AM 编辑 ]
作者: cocobi    时间: 2008-3-2 12:05
grub不认我的u盘.find U盘上的任何东西都找不到.硬盘里面的东西可以.sata硬盘识别成hd了.
作者: cocobi    时间: 2008-3-2 12:15
原帖由 会抽烟的鱼 于 2008-3-2 11:40 AM 发表


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

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


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


原帖由 fdd_ds 于 2008-3-2 11:51 AM 发表
都用最新版试试(我是用grub4dos-2008-1-3和syslinux-3.61做的)。

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

应该不行,直接用命令都找不到.我的也是080103版.上面gho解出来的.

PS:你们回帖好快
作者: fdd_ds    时间: 2008-3-2 12:30
你说的情况,我这没有出现。
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
刚在acer TM3300笔记本上试了下,可以找到.不同的是主板对U盘的识别.
在我的机器上识别为zip(实际好像是hdd).在笔记本上识别为hdd,grub find 的时候也是识别为hd.
作者: fdd_ds    时间: 2008-3-2 13:00
但兼容性有总量,我这只有两块865PE的主板可以引导,其它机器(有老的,也新机器)都不能正常引导(有的没有菜单,根本就不认ZIP)。


U-zip是H/S=64/32吗?“不能正常引导”请说的详细些。
作者: cocobi    时间: 2008-3-2 13:12
ntldr 直接找到了我硬盘的boot.ini 移掉硬盘的话也找不到u上的boot.ini
提示
multi(0)disk(0)rdisk(0)partition(1)......找不到.
作者: ares02    时间: 2008-3-2 13:43
我的台电2G优盘用了GHO文件没用  启动显示是HDD EBIOS
BOOT ERROR
用了USB ZIP USB HDD都不行
看来我的主板只能识别我的优盘为USB HDD的吧
作者: fdd_ds    时间: 2008-3-2 15:04
启动显示是HDD EBIOS
这说明引导记录有问题,用syslinux.exe重写一下。
作者: king190    时间: 2008-3-2 17:11
不明白!~~~~~~
作者: terryk    时间: 2008-3-2 21:51
路过,帮顶吧
因为自己找了几个5128芯片的U盘,就量产成cdrom了,兼容性还好。IBM本本除外
作者: 会抽烟的鱼    时间: 2008-3-2 23:32
原帖由 fdd_ds 于 2008-3-2 01:00 PM 发表


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
正看syslinux语法,先顶一下,加入关注!
作者: barton    时间: 2008-3-3 12:52
你说的情况,我这没有出现。
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工具,可以满足绝大部分的要求,起码引导NTLDR  SETUPLDR.BIN(pe)  都是没任何问题的。

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

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

[ 本帖最后由 barton 于 2008-3-3 01:02 PM 编辑 ]
作者: oym2007    时间: 2008-3-3 15:33
即用syslinux 引导,就应以它为主   grldr只是作为一种手段补允 ,IMG镜像无论多大,只要你按标准制作, memdisk c=? h=? s=? flopy 都能成功引导 , 加上 bean 老师 的loadbin ,syslinux 基本上能满足一般引导了,从syslinux上引导grub  其grub本身自己处于何处都不清楚,加上U盘启动后盘符的不确定性,你让它如何去寻找配置菜单? 就算内置菜单能找到,其配置菜单中启动任一项,你都必顺先让grub先识别工作环境才行
      syslinux 按分区启动:可用 kernel /isolinux/chain.c32 hd0,1 来指定分区启动。一般一分区上不会装二个系统吧, winpe 启动用bean老师的loadbin 处理一下就行了,至于IMG镜像启动,这主要看你制作的方式了
作者: fdd_ds    时间: 2008-3-3 18:11
谢谢楼上两位的指教,受益非浅!混合引导即能带来功能上的叠加,必然也会带来问题的叠加。

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

能说说怎么不满意?

即用syslinux 引导,就应以它为主   grldr只是作为一种手段补允

我个人认为:不对!
      混和引导中主引导器最为重要(它不成就没戏了),而它的选择主要是兼容性,被引导的则要看功能了。grub4dos的功能强大,所以应grldr为主。这时如出现问题,再用主引导器直接加载工具也不迟呀。 我曾经还这样用过syslinux--->grub.exe-->ntldr--->grldr--->....,即2次grub4dos,之所以这样用就是因为它比syslinux--->grub.exe-->....不光在加载还是之后的工具使用都快很多,但是兼容性极差,这也是没办法的办法了(syslinux--->grub.exe-->PE(110M)在一台1G内存的新机上,30min还不能完成进入桌面呀!而用2次G4D则10min就可)。

[ 本帖最后由 fdd_ds 于 2008-3-3 07:47 PM 编辑 ]
作者: muses2006    时间: 2008-3-4 12:53
我曾经用syslinux+grub做过去启动U盘,原理上是:syslinux启动模拟软盘,模拟软盘里装grub。但是在dell笔记本上启动不了就放弃了。。

台式机倒是正常。
作者: oym2007    时间: 2008-3-4 14:26
原帖由 fdd_ds 于 2008-3-3 06:11 PM 发表
谢谢楼上两位的指教,受益非浅!混合引导即能带来功能上的叠加,必然也会带来问题的叠加。


能说说怎么不满意?


我个人认为:不对!
      混和引导中主引导器最为重要(它不成就没戏了),而它的选择 ...

grub作为硬盘应用,其功能的确强大,但它在cdrom和 U盘 上的应用就要差一点
作者: likeme    时间: 2008-3-4 17:03
这个方式在我几台不同型号的DELL机器上,都是GRUB4DOS找不到文件。
但在HP的笔记本上却正常。
作者: likeme    时间: 2008-3-4 17:12
syslinux 怎样直接启动PE呀?
作者: barton    时间: 2008-3-4 17:54
原帖由 likeme 于 2008-3-4 05:12 PM 发表
syslinux 怎样直接启动PE呀?



ISOLINUX下引导2048byte的光盘启动文件




在U盘上,用bean的loadlin工具
http://download.gna.org/grubutil/loadbin-0.1-bin-w32-2008-03-01.zip

1.
  1. kernel ldntldr #此处不能为ldntldr.bin,需去掉.bin 后缀
  2. append initrd=\some\where\setupldr.bin
复制代码



2.
或者用
mkimage ldntldr.bin setupldr.bin winpe.bin
  1. kernel winpe.bin
复制代码

[ 本帖最后由 barton 于 2008-3-4 05:55 PM 编辑 ]
作者: fdd_ds    时间: 2008-3-4 20:24
barton:你说“我也试过syslinux--->ntldr--->grldr,效果也不怎么令人满意。”
请说说如何不满意?
作者: barton    时间: 2008-3-4 21:14
原帖由 fdd_ds 于 2008-3-4 08:24 PM 发表
barton:你说“我也试过syslinux--->ntldr--->grldr,效果也不怎么令人满意。”
请说说如何不满意?



通过此方式启动,“booting grldr ... ..."

很久都没反应,直接通过ntidr--->grldr则无此问题
作者: fdd_ds    时间: 2008-3-4 21:52
哦,原来是问题的叠加,我还以为是......
作者: likeme    时间: 2008-3-5 10:38
原帖由 barton 于 2008-3-4 05:54 PM 发表



ISOLINUX下引导2048byte的光盘启动文件




在U盘上,用bean的loadlin工具
http://download.gna.org/grubutil/loadbin-0.1-bin-w32-2008-03-01.zip

1.
kernel ldntldr #此处不能为ldntldr.bin, ...



谢谢
syslinux 下菜单能显示中文吗?
尝试所有直接用syslinux启动看。
反正普通维护,只要DOS和PE就差不多。
作者: fatality    时间: 2008-3-5 20:53
ISOLINUX下引导2048byte的光盘启动文件


这个能再具体点说说吗? 偶试着直接用isolinux启动老毛桃PE失败了。
作者: barton    时间: 2008-3-6 08:09
原帖由 fatality 于 2008-3-5 08:53 PM 发表


这个能再具体点说说吗? 偶试着直接用isolinux启动老毛桃PE失败了。



用ultraiso之类的工具,保存光盘启动文件为  *.bin ,其他文件按照原位置放置于光盘
label winpe
kernel  *.bin



isolinux载入grub
label grub4dos
label menu grub4dos loader
kernel /boot/grub/grub.exe --config-file=/boot/grub/menu.lst

[ 本帖最后由 barton 于 2008-3-6 08:12 AM 编辑 ]
作者: lookskyoo    时间: 2008-3-8 15:28
原帖由 barton 于 2008-3-6 08:09 AM 发表



用ultraiso之类的工具,保存光盘启动文件为  *.bin ,其他文件按照原位置放置于光盘
label winpe
kernel  *.bin



isolinux载入grub
label grub4dos
label menu grub4dos loader
kernel /boot/ ...

这个是光盘里面的应用还是U盘的?ISOLINUX和SYSLINUX不一样吧?
作者: barton    时间: 2008-3-8 15:42
这个说的是isolinux,用在光盘上和U盘上的是不一样的
作者: goodtime    时间: 2008-4-13 23:03
我的不成功, 在VMWARE 6.0.2.59824里测试不成功, 高手帮看看

syslinux引导grub4dos失败见附图,之后什么都没了,停在那里, menu.lst已经合在grldr文件中
H:\USBBOOT\JPG\error_load_grub4dos.png
作者: goodtime    时间: 2008-4-13 23:12
晕, 图片没发上去, 不过用barton的方法可以启动菜单了,


syslinux.cfg
......
LABEL GRUB4DOS
KERNEL=GRUB.exe --config-file=/boot/grub4dos/menu.lst

可以成功启动
作者: zhaozhigang    时间: 2008-4-14 07:11
请问楼主可以在移动硬盘上使用syslinux启动吗?
作者: fdd_ds    时间: 2008-4-14 08:48
当然可以,但好象对启动分区大小有一定要求,具体要求我记不清了。        不过在USB-HDD上,我个人觉得用GRUB4DOS以MBR方式分较好。
作者: barton    时间: 2008-4-14 09:05
移动硬盘还是grub4dos比较省心
作者: ichaochao    时间: 2009-1-8 21:27
新手,纯粹的新手按LZ的方法,syslinux->grub4dos成功引导WinPE,然后在syslinux的直接引导下启动Puppy和Slax,及DOS工具盘镜像,我不知道是不是只有这样才行,但是我用了DOS+GRUB4DOS是没有成功的!
作者: gmszone    时间: 2009-4-18 10:22
标题: 回复
LABEL GRUB
MENU LABENL GRUB
KERNEL /grub/GRUB.EXE
APEEND --config-file="(fdo)/menu.lst"
作者: zszdy    时间: 2009-9-7 16:54
谢谢分享!!!正在测试.
作者: zszdy    时间: 2009-9-9 11:16
引导失败,grldr找不到菜单.
作者: linyehua    时间: 2009-10-8 15:36
看看受益匪浅啊,谢谢了各位
作者: Michael2008    时间: 2020-8-23 08:40
让syslinux启动慢成为过去




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3