无忧启动论坛

标题: grub4dos更新到2010-11-05了 [打印本页]

作者: zxw    时间: 2010-10-26 11:55
标题: grub4dos更新到2010-11-05了
从2010-10-26开始支持find (fd0)、(fd0,0)了。
详细更新说明见下载包里:如ChangeLog_GRUB4DOS.txt、ChangeLog_chenall.txt
原帖由 chenall 于 2010-10-26 11:23 发表
目前的顺序:
1.当前ROOT
2.FB_DRIVE
3.CDROM
4.Hard DISK
5.floppy
原帖由 zhaohj 于 2010-10-26 11:59 发表
当前设备是(pd)也正常了,OK!


chenall大大辛苦了,终于解决了大家一直期待的问题!
点击下载grub4dos-0.4.5b-2010-11-05 by chenall
点击下载grub4dos-0.4.5b-2010-11-04 by 不点

[ 本帖最后由 zxw 于 2010-11-5 16:36 编辑 ]
作者: fxyq    时间: 2010-10-26 11:57
谢谢提醒,更新一下……
作者: intellect    时间: 2010-10-26 14:13
z大侠发的及时,正在想这个问题,呵呵,谢谢!
作者: zqjiang    时间: 2010-10-26 14:34
标题: 回复 #1 zxw 的帖子
本人对grub 不是 很了解

请问什么情况下 要用 到 fd0,0   ?
作者: jianliulin    时间: 2010-10-26 14:51
修正版出来了:grub4dos-0[1].4.5b-2010-10-26-fix.zip
作者: zxw    时间: 2010-10-26 15:36
标题: 回复 #4 zqjiang 的帖子
看来你也不用fbinst吧,(fd0,0)是fbinst盘的可见分区在某些情形下被识别出的新形式。
作者: dpxqs    时间: 2010-10-26 15:56
我把我的U盘UD区的GRLDR换成9.25版后的就不能返回上级FBINST菜单了,9.25前的行,9.25后的都不行,哪位说说原因
UD区文件结构图


FBINST菜单图



按F1进入下图


选择07   返回上级FBINST主菜单回到第二幅图所示菜单,但换了GRUB4DOS9.25版的后就不能返回了
返回命令如图:


[ 本帖最后由 dpxqs 于 2010-10-26 18:23 编辑 ]
作者: zxw    时间: 2010-10-26 16:16
原帖由 dpxqs 于 2010-10-26 15:56 发表
我把我的U盘UD区的GRLDR换成9.25版后的就不能返回上级FBINST菜单了,9.25前的行,9.25后的都不行,哪位说说原因

上级FBINST菜单???
应该是grub4dos菜单吧?无菜单,无贴图,抱歉无以回答。
作者: bank-w3000    时间: 2010-10-26 17:52
初学grub,不太懂,借此贴请教大家一个问题。
menu如下:
title MaxDos 7.1
map --mem /maxdos/maxdos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

结果不能启动MAXDOS,提示:
map --mem /maxdos/maxdos.img (fd0)
error 15:file not found

请问如何解决,谢谢!
作者: dgxhls    时间: 2010-10-26 18:02
原帖由 bank-w3000 于 2010-10-26 17:52 发表
初学grub,不太懂,借此贴请教大家一个问题。
menu如下:
title MaxDos 7.1
map --mem /maxdos/maxdos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

结果不能启动MAXDOS,提示:
ma ...

红字用大写。
作者: zhs509    时间: 2010-10-26 18:04
原帖由 bank-w3000 于 2010-10-26 17:52 发表
初学grub,不太懂,借此贴请教大家一个问题。
menu如下:
title MaxDos 7.1
map --mem /maxdos/maxdos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

结果不能启动MAXDOS,提示:
ma ...


打狗的说的没错,grub4dos是区分文件名大小写的!
作者: nlife    时间: 2010-10-26 18:14
这次的更新挺不错的说
作者: dpxqs    时间: 2010-10-26 18:24
标题: 回复 #8 zxw 的帖子
我把图附上了,请指教,谢谢!
作者: bank-w3000    时间: 2010-10-26 18:27
原帖由 dgxhls 于 2010-10-26 18:02 发表

红字用大写。

还是不行,之前也试过大写,干脆全贴上来吧,麻烦给写一下吧,谢谢了:
  1. # 设置图形背景文件
  2. splashimage (hd0,0)/maxdos/maxtf.gz
  3. # 设置中文支持的字体文件
  4. fontfile (hd0,0)/maxdos/maxft.gz
  5. title MaxDos 7.1
  6. map --mem /MAXDOS/MAXDOS.IMG (fd0)
  7. map --hook
  8. chainloader (fd0)+1
  9. rootnoverify (fd0)
  10. title reboot
  11. reboot
  12. title Shutdown
  13. halt
复制代码
补充,是U盘启动,03PE+MAXDOS,制作完毕时启动是成功的,后来往U盘放了几个文件夹(里面是常用软件,删除了也不行),再启动就不成功了。以下是U盘根目录内容,顺便看下有没有多余文件:


[ 本帖最后由 bank-w3000 于 2010-10-26 18:31 编辑 ]
作者: viptks    时间: 2010-10-26 18:34
终于支持FIND FD0了,我一个U盘老BIOS一直识别为FLOOPY,一会试试
作者: dgxhls    时间: 2010-10-26 18:38
原帖由 bank-w3000 于 2010-10-26 18:27 发表

还是不行,之前也试过大写,干脆全贴上来吧,麻烦给写一下吧,谢谢了:# 设置图形背景文件
splashimage (hd0,0)/maxdos/maxtf.gz
# 设置中文支持的字体文件
fontfile (hd0,0)/maxdos/maxft.gz
title MaxD ...

那MAXDOS.IMG 可能损坏了。
作者: bank-w3000    时间: 2010-10-26 18:45
单独测试IMG文件并没损坏啊。
作者: dgxhls    时间: 2010-10-26 18:57
那看MAXDOS.IMG 文件名是不是正确。
作者: dpxqs    时间: 2010-10-26 19:08
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=179295&page=1#pid2071395
这个问题哪个帮下忙,谢谢!
作者: bank-w3000    时间: 2010-10-26 20:02
原帖由 dgxhls 于 2010-10-26 18:57 发表
那看MAXDOS.IMG 文件名是不是正确。

确认无误,正确啊。
作者: zxw    时间: 2010-10-26 20:23
标题: 回复 #20 bank-w3000 的帖子
ls /maxdos/
ls (bd)/maxdos/
find /maxdos/maxdos.img
分别提示什么?

或者干脆
cat --length=0 ()/maxdos/maxdos.img || find --set-root /maxdos/maxdos.img
map --mem  /maxdos/maxdos.img (fd0)
……

[ 本帖最后由 zxw 于 2010-10-26 20:43 编辑 ]
作者: zxw    时间: 2010-10-26 21:13
标题: 回复 #13 dpxqs 的帖子
谈不上指教,对于chainloader  (ud)/FbInst这种用法来加载fbinst菜单(似乎是天涯的创举),本人不感兴趣,也没尝试过。不如三键重启来得干净放心。
建议:FbInst重新提取制作,grldr用最新版,chainloader  --force (ud)/FbInst试试。
作者: dpxqs    时间: 2010-10-27 13:22
标题: 回复 #22 zxw 的帖子
照你说的方法不行啊,提取FBINST是用BOOTICE.EXE先选“主引导记录”“然后”备份MBR“选择1扇区,备份,然后改名成FbInst,是在WINDOWS下备份的这个文件
其它更新至GRLDR新版,采用chainloader  --force (ud)/FbInst这种写法
作者: zxw    时间: 2010-10-27 15:00
标题: 回复 #23 dpxqs 的帖子
呵呵,抱歉,我前面已声明我对这个用法不感兴趣。
如你用法没出现错误,可能是新版本不再支持。可
向天涯版主咨询,他对这个感兴趣。
作者: zhaohj    时间: 2010-10-27 15:26
原帖由 dpxqs 于 2010-10-27 13:22 发表
照你说的方法不行啊,提取FBINST是用BOOTICE.EXE先选“主引导记录”“然后”备份MBR“选择1扇区,备份,然后改名成FbInst,是在WINDOWS下备份的这个文件
其它更新至GRLDR新版,采用chainloader  --force (ud)/ ...


改成这样测试一下:
checkrange 0x23 read 0x8280 && root (hd0,0) && chainloader (hd0)+1
boot

上面是格式化成usb-hdd的情况,zip的情况就
checkrange 0x23 read 0x8280 &&  chainloader (fd0)+1

2010-09-25
1.修正calc计算的一个逻辑错误。
2.使用fbinst启动默认root设为ud
set boot_drive to fb_drive(ud) if boot from fbinst.


第二条9.25后boot设备即0x8280,ud的设备号是0x23

连在一起写不知是否有问题:
checkrange 0x23 read 0x8280 && chainloader (fd0)+1 || root (hd0,0) && chainloader (hd0)+1
boot

[ 本帖最后由 zhaohj 于 2010-10-27 15:42 编辑 ]
作者: chenall    时间: 2010-10-27 16:44
2010-10-27
1.修改printf函数,支持显示"%",和C语言的语法一样,使用"%%"来显示一个"%"
2.重写find的查询代码.
3.find新增参数--devices=[DEVICES],指定要查找的设备.
说明:DEVICES可以是以下字符的组合:
u,p,n,h,c,f -->分别对应 ud,pd,nd,hd,cd,fd,

例子:--devices=hcf //只查找hd,cd,fd,从hd开始.
注:优先current root.然后再按上面的顺序.(current root必须在列表中,否则跳过)
可以使用这个参数来重新设定查找顺序,默认(find order):ud->pd->nd->hd->cd->fd
4."|"管道可以用于菜单中.

另外:find命令的--ignore-cd和--ignore-floppies会删除devices列表中的c和f参数.
作者: zhaohj    时间: 2010-10-27 17:18
find命令在命令行下可以;
在菜单中不认识--devices=

管道命令在菜单中还是不行

[ 本帖最后由 zhaohj 于 2010-10-27 17:24 编辑 ]

Snap1.jpg (63.84 KB, 下载次数: 175)

Snap1.jpg

作者: chenall    时间: 2010-10-27 17:49
原帖由 zhaohj 于 2010-10-27 17:18 发表
find命令在命令行下可以;
在菜单中不认识--devices=

管道命令在菜单中还是不行


我这里测试正常..
作者: zxw    时间: 2010-10-27 18:15
我这里测试,grldr为27版本,wenv分别测试了chenall的19版本及tuxw的26版本:





从图上看,似乎是wenv 有问题?

[ 本帖最后由 zxw 于 2010-10-27 18:53 编辑 ]
作者: chenall    时间: 2010-10-27 18:31
原帖由 zxw 于 2010-10-27 18:15 发表
我这里测试,grldr为27版本,wenv分别测试了chenall的19版本及tuxw的26版本:
菜单中--devices识别正常。
管道命令在命令行测试通过,在菜单不行。

管道命令测试也许和WENV有关吧..
你们可以试试其它相对简单的看一下.
比如:
如果正常,应该就是没有问题的.
echo 0x8290 | read
作者: zxw    时间: 2010-10-27 18:59
标题: 回复 #30 chenall 的帖子
从#29的测试看,似乎是wenv有问题。
但又测试了一下,如下图,似乎新版grldr也有问题?


[ 本帖最后由 zxw 于 2010-10-27 19:06 编辑 ]
作者: chenall    时间: 2010-10-27 19:22
在title菜单中使用。
前面的初始化菜单不支持。
作者: zxw    时间: 2010-10-27 19:49
标题: 回复 #32 chenall 的帖子
title菜单中也不行。
才实机测试了一下0PE,也出现了问题。似乎也与菜单有关,待有空跟踪。
作者: zhaohj    时间: 2010-10-27 20:55
简单的一样没通过:

[ 本帖最后由 zhaohj 于 2010-10-27 21:15 编辑 ]

Snap1.jpg (77.08 KB, 下载次数: 207)

Snap1.jpg

Snap2.jpg (11.96 KB, 下载次数: 206)

Snap2.jpg

作者: zxw    时间: 2010-10-27 22:45
原帖由 zxw 于 2010-10-27 19:49 发表
title菜单中也不行。
才实机测试了一下0PE,也出现了问题。似乎也与菜单有关,待有空跟踪。


title菜单中简单测试管道命令仍然不行。
—————————————————————————————————————————————————
在0PE测试发现的问题应该是以前的grldr版本有问题,这个版本纠正了?
0PE中跟踪发现在这一句出现提示:ERROR 15: FILE NOT FOUND.而中止,而26日版本及以前的版本则不会(GRUB.0PE 实际不存在,按理也应该出现错误^_^)。
cat --length=0 ()/BOOT/GRUB/GRUB.0PE && (hd-1,0)/BIN/FAT copy ()/BOOT/GRUB/GRUB.0PE (hd-1,0)/GRUBNEW.EXE || echo
看了一下,应该改为如下才正确,实际测试通过:
cat --length=0 ()/BOOT/GRUB/GRUB.0PE && (hd-1,0)/BIN/FAT copy ()/BOOT/GRUB/GRUB.0PE (hd-1,0)/GRUBNEW.EXE ! echo
作者: chenall    时间: 2010-10-27 22:53
@zhaohj,@zxw

我还是认为你们的操作有误,无图无真相。

另外#34我没有看出什么不正常的?debug off状态当然是不显示的了.
作者: zxw    时间: 2010-10-27 23:18
标题: 回复 #36 chenall 的帖子
SORRY,是我们的错误。







作者: zhaohj    时间: 2010-10-27 23:25
原帖由 chenall 于 2010-10-27 22:53 发表
@zhaohj,@zxw

我还是认为你们的操作有误,无图无真相。

另外#34我没有看出什么不正常的?debug off状态当然是不显示的了.


34# debug on下成功。
因wevn echo在debug off状态下也能显示,老搞混,抱歉。

但一事想不明白,为何在能在有title菜单条的情况下可用?命令行状态下不是也可用吗?
作者: zhaohj    时间: 2010-10-27 23:46
关于find命令,下面是C大的CSPE中micrope.lst
#13
title
#查找OEM_SCSI.IMG和OEM_SRS.ZIP
write 0x60008 1
find --set-root --devices=h /OEM_SRS.ZIP && write 0x60008 2 && map --mem=0xB000 /OEM_SRS.ZIP (rd) ! WENV call find --set-root --devices=h ${srspath}/OEM_SRS.ZIP && write 0x60008 2 && WENV call map --mem=0xB000 ${srspath}/OEM_SRS.ZIP (rd)
#checkrange 2 read 0x60008 && checkrange 0x21 read 0x82a0 && write 0x60008 1
checkrange 2 read 0x60008 || goto 4
ECHO Loading OEM_SRS.ZIP......
FAT copy (rd)+1 (fd0)/OEM_SRS.ZIP
WENV set srs=OEM
goto 8

到底错在哪里?wenv已使用新版。

Snap1.jpg (59.08 KB, 下载次数: 218)

Snap1.jpg

作者: zxw    时间: 2010-10-27 23:58
@zhaohj:费解,似乎写法没有问题。字符数也没有超。
@chenall:
wenv read FILE 似乎也不支持管道命令,期待以后增强予以支持。…^_^

[ 本帖最后由 zxw 于 2010-10-28 00:01 编辑 ]
作者: zhaohj    时间: 2010-10-28 00:15
新版grldr,cat

Snap1.jpg (95.48 KB, 下载次数: 201)

Snap1.jpg

作者: zxw    时间: 2010-10-28 00:23
我测试0PE也发现了这个问题。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=179295&page=4#pid2072334
在语句最后加一句“! echo ”即可解决问题。
我不认为这是bug,相反新版修正了以前的bug.^_^
当然这还是得看chenall大的权威解释^_^。

[ 本帖最后由 zxw 于 2010-10-28 00:25 编辑 ]
作者: chenall    时间: 2010-10-28 08:06
哦,这个应该是很早的版本命令行就这样了,没有清除前一个语句的error值.
作者: chenall    时间: 2010-10-28 08:10
原帖由 zhaohj 于 2010-10-27 23:46 发表
关于find命令,下面是C大的CSPE中micrope.lst
#13
title
#查找OEM_SCSI.IMG和OEM_SRS.ZIP
write 0x60008 1
find --set-root --devices=h /OEM_SRS.ZIP && write 0x60008 2 && map --mem=0xB000 /OEM_SRS.Z ...


加一个调试语句比如
find /OEM_SRS.ZIP
看看能否找到.再用命令试试,还有确认这个文件在哪里.也许这个文件根本就不在硬盘上
作者: chenall    时间: 2010-10-28 08:11
原帖由 zhaohj 于 2010-10-27 23:25 发表


34# debug on下成功。
因wevn echo在debug off状态下也能显示,老搞混,抱歉。

但一事想不明白,为何在能在有title菜单条的情况下可用?命令行状态下不是也可用吗?



????我没看明白.是说在命令行下不能使用吗?
作者: chenall    时间: 2010-10-28 08:16
这个版本修改了菜单执行的过程和FIND命令.
这个版本先放着测几天.看看有没有什么其它的问题.

#41的问题很早就存在了到时再一起修正.
作者: zhaohj    时间: 2010-10-28 08:52
find也找到问题了,当指定设备搜索不到时,出现Error 15,与cat命令毛病一样
degault 0
timeout 0
debug off
title 0 test find
root ()
find --set-root --devices=hcf /GRUB/WENV && echo file is exist
pause
root (bd)
configfile /MENU.LST
---------------------------------
同样,map --mem=0xB000 (bd)/CSPE/SRS.ZIP (rd) && goto 7
当(bd)/CSPE/SRS.ZIP不存在时也出现Error 15,都属于同一毛病。

[ 本帖最后由 zhaohj 于 2010-10-28 09:04 编辑 ]

Snap1.jpg (25.68 KB, 下载次数: 208)

Snap1.jpg

Snap2.jpg (43.38 KB, 下载次数: 221)

Snap2.jpg

作者: mygamexxx    时间: 2010-10-28 09:03
以前版本的GRLDR用FBINST制作的U盘启动盘,启动后ROOT设备是U盘的可见分区,此版本启动后的ROOT设备为UD区。
我的用FBINST制作的U盘启动盘在启动后可见分区为(fd0,0),此版本可用find /filename查找到文件,但如果使用plpbt驱动后,可见分区为(hd0,0),用find /filename可查找到(hd0,0)上的文件,但会查找到后显示(hd0,0)死机,无法返回到提示符,三键无法重启。大概是plpbt有问题。我用的是最新版的plpbt。

[ 本帖最后由 mygamexxx 于 2010-10-28 09:05 编辑 ]
作者: wlsx    时间: 2010-10-28 10:58
(fd0,0)是fbinst盘的可见分区在某些情形下被识别出的新形式。
作者: chenall    时间: 2010-10-28 11:09
先更新一个测试版.
修正前面提到的问题,顺便把菜单/初始化/命令行的执行命令过程使用统一的函数进行调用.
所以现在菜单的初始化命令和命令行具有一样的特性.比如支持 "|" 还有">"等.
作者: zxw    时间: 2010-10-28 11:37
help find里没有更新。
其他测试一切正常。

[ 本帖最后由 zxw 于 2010-10-28 21:43 编辑 ]
作者: cchessbd    时间: 2010-10-28 14:09
标题: 反馈个bug 给chenall
1。bug
测试了 1026 1028的英文grldr

root = pd、cd时,map root内某文件为 fd0
configfile (fd0)/xxx.lst
各菜单执行功能正常,

但当按e修改菜单  xxx.lst 某title下内容后 root会变成 fd0 造成使用不变。


2。 gz文件传输两次
还有现在的pxe启动gz文件还是传输两次啊,能否把这个问题也顺便一起解决……

[ 本帖最后由 cchessbd 于 2010-10-28 14:11 编辑 ]
作者: zhaohj    时间: 2010-10-28 15:42
我报告的bug,28号版本已全部得到修正。

特别是 "|" 及">"在非菜单下使用也正常。

[ 本帖最后由 zhaohj 于 2010-10-28 16:36 编辑 ]
作者: chenall    时间: 2010-10-28 16:26
原帖由 cchessbd 于 2010-10-28 14:09 发表
1。bug
测试了 1026 1028的英文grldr

root = pd、cd时,map root内某文件为 fd0
configfile (fd0)/xxx.lst
各菜单执行功能正常,

但当按e修改菜单  xxx.lst 某title下内容后 root会变成 fd0 造成使用不 ...


1.??不太明白.能不能给详细点的报告. 顺便再试试之前的版本看是不是一样的.

2.这个目前没有办法解决.等以后有内存分配函数了,也许可以考虑一次性读入GZ文件.然后在内存中解压.

目前有暂时的变通办法先用着.
作者: jianliulin    时间: 2010-10-28 16:37
这样是不是正常的??

作者: chenall    时间: 2010-10-28 16:47
是的.
以下两个符号后面的语句不可以再使用其它操作符.因为执行到这个语句后就跳出来了.说明里面有写.
"|" ">"

因为只是简单的把前面输出的字符接到行命令的尾部.

[ 本帖最后由 chenall 于 2010-10-28 16:51 编辑 ]
作者: jianliulin    时间: 2010-10-28 17:00
噢,不好意思
作者: zhaohj    时间: 2010-10-28 17:22
目前在纯GRUB4DOS下,对驱动包的支持,只有做成IMG(可gz压缩)格式的驱动压缩包,其它没有办法。但对普通用户而言,要自己制作img的驱动包比较麻烦,而且不易更新。

C大有什么好办法?
作者: 不点    时间: 2010-10-28 17:39
@cchessbd

configfile (fd0)/xxx.lst

congfigfile 执行之后,root 设备自动切换到菜单文件所在的设备。
作者: freesoft00    时间: 2010-10-28 18:55
做成IMG的可以支持已经很不错了,没有太多奢望,zhaohj 什么时候放出你的好东西?
作者: cchessbd    时间: 2010-10-28 19:53
回复 #59 不点 的帖子
明白了!谢谢!

这个默认不设置root就好点。因为一般是 find --set-root 先找 .lst。而且启动后的root一般不会变。
pxe启动时找来找去太慢了,vmware虚拟机测试的……
或者给 configfile 加个明确的参数,来自动设置 .lst 所在的设备为root

to:chenall
测试了 1012的也是一样。 grub4dos的pxe启动速度真慢,对虚拟机来说就像陀狗屎,不知道实际启动速度怎么样,这个没法优化吗?

实际上我就是yy你的qgho.lst菜单,顺便把 netbootdisk v6.5一起yy了。

[ 本帖最后由 cchessbd 于 2010-10-28 19:59 编辑 ]
作者: 不点    时间: 2010-10-28 22:57
configfile 的执行,是模拟 GRLDR 加载时的情况。menu 文件所在的目录,也是默认的 default 文件(保存了默认的菜单项的序号)的位置。如果把这改动了,其它一连串的兼容性问题就会出现。

configfile 执行后,boot device 和 root device 同时都更新为 menu 文件所在的设备。

要想 root 设备不改动,你可以采取下列两种方案之一:

1、不使用 configfile,所有的菜单项都在一个菜单文件中实现。

或者

2、使用 configfile 执行当前 root 设备上的 menu 文件。

configfile 执行 menu.lst 的时候,与 menu.lst 处于相同目录的 default 文件中,存放着默认的菜单项的序号。如果 menu.lst 没有 default 命令,则这个 default 文件中保存的序号就成了默认的菜单项序号。

每个 menu.lst 在接管控制的时候,都保证当前 root 和 boot 设备都是 menu.lst 所在的设备。这应该是大多数人所需要的吧?
作者: sbyguli    时间: 2010-10-31 23:16
我的FB格式化的盘,被识别为ZIP盘,用上了最新版1028的,可以ls文件,cat文件,都正常,但是就find文件出错,提示ERROR 15 找不到文件!为什么会这样呢?
作者: 不点    时间: 2010-11-1 03:20
28日有 bug。换成今天的就应该没问题了。(今天是指 10 月 31 日)
作者: vocalsir    时间: 2010-11-1 07:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: hnzz110    时间: 2010-11-1 12:06
标题: 回复 #1 zxw 的帖子
问题反馈:
今天下载试了,用fbinst格式化的U盘,只保留默认的 8M  UD分区,将grldr菜单内置放入UD分区,其他程序均放入数据分区
数据分区根目录下有一个DOS镜像压缩文件1.gz,
XPE在WXPE目录

以下为内置启动菜单
timeout 10
default 1

title boot from Ndos
map --mem /1.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title boot from XPE
checkrange 0x80 read 0x8280 || map (fd0) (hd0)
checkrange 0x80 read 0x8280 || map (hd0) (hd1)
checkrange 0x80 read 0x8280 || map --hook
root (hd0,0) || root (hd0,1)
chainloader (,0)/wxpe/setupldr.bin (hd0)+1 || chainloader (,1)/wxpe/setupldr.bin (hd0)+1


用以前保留的8月12日版本grldr直接使用以下命令可以直接启动DOS镜像和PE,现在版本反而不行了!
以上为实机测试!其他版本未保留,所以未再下载测试,好像不点公布的8月、9月的那些版本都行,没时间一一测试了,反正10月31日的启动不了,提示好像是文件找不到!

谁知道现在如何实现以上启动软件镜像和XPE菜单如何写,请帮忙修改指导一下
我承认自己是菜鸟,对grub4dos还仅限于从论坛中找现成代码,多谢了
作者: hnzz110    时间: 2010-11-1 12:12
另:格式化时加有-z参数,用过find命令,好像也是提示文件找不到
作者: zhaohj    时间: 2010-11-1 12:15
加一个find --set-root /1.GZ,ud启动后当前设备是UD,而你把1.GZ放在非UD区,非UD区是什么设备又不知道。

title boot from Ndos
find --set-root /1.GZ
map --mem /1.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
作者: hnzz110    时间: 2010-11-1 12:21
好的,我试试,谢谢了
作者: hnzz110    时间: 2010-11-1 12:35
抓紧反馈,竟然又可以了,同时将以上两段代码简化后,测试通过,谢谢zhaohj 的指点

title boot from Ndos
find --set-root /1.gz
map --mem /1.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)


title boot from XPE
find --set-root /1.gz
chainloader /wxpe/setupldr.bin
作者: hnzz110    时间: 2010-11-2 05:30
标题: 再来报告一个测试信息
再来报告一个测试信息
两次试验:
在公司945主板以下方法测试通过
title boot from Ndos
find --set-root /1.gz
map --mem /1.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title boot from XPE
find --set-root /1.gz
chainloader /wxpe/setupldr.bin

在家中一台旧电脑,845主板
软盘镜像通过,但启动XPE时,显示
setup is inspecting your computer's hardware configuration
NEDETECT failed
本来是想解开XPE光盘启动,以节省时间和内存,看来这步行不能,就又实验了不解压光盘镜像的方法
将66369珍藏版XPE光盘改名1.iso放入U盘根目录,启动菜单:

title boot from XPE
find --set-root /1.gz
map --mem /1.gz (fd0)
map --mem /1.ISO (0xff)
map --hook
chainloader (0xff)

噩梦开始:
由于电脑运行超过20分钟,所以,这次有足够时间将屏幕显示内容抄录下来

Booting boot from XPE
0
Notice:number of heads for drive 0 tuned from 2 to 64
Notice:sectors-per-track for drive 0 tuned from 18 to 32
Fat12 bpb found with 0xEB(jmp)
    leading the boot sector
probed C/H/S = 80/4/36 probed total sectors=11520
[8M/68M]
下面就是漫长的等待,为了找到原因,一直没有重启,就是为了观察完整结果
期间注意到,最下面那个[8M/68M]每隔几分钟会变一次,分别是
[16M/68M]、[24M/68M]、[32M/68M]、[40M/68M]、[48M/68M]、[56M/68M]、[64M/68M]
个人猜测可能是显示调入光盘的进度吧,无所谓,只要最后能进去就行,但20多分钟后,显示

chainloader (0xff)
Error 13 : Invalid or unsupported executable format
Press any key to continue ...
结果还是启动失败了


附:老古董硬件机器部分硬件信息
主板:
      处理器名称                                        Intel Pentium 4, 2400 MHz (18 x 133)
      主板名称                                          Legend Beatles
      主板芯片组                                        Intel Brookdale-G i845G
      系统内存                                          247 MB  (PC2700 DDR SDRAM)
      BIOS 类型                                         Award (09/11/02)

请有时间的朋友帮忙看看,我这老电脑如何启动66369珍藏版XPE光盘
解开如何启动,不解开如何启动?
多谢!
作者: hnzz110    时间: 2010-11-2 06:48
补充:
刚到公司电脑上测试,以上代码均可以启动1.gz和光盘镜像、及解开的镜像引导方式
在公司电脑上运行很快,整个光盘镜像载入可能也就1分钟左右,而老古董机器可能是U盘传输问题,太慢了
从fbinst发布正式版后,我用U盘启动时,总觉得问题不出在Fbinst上,主要还是不会用grub4dos,看来,果不其然
请有时间的朋友帮忙解决一下,晚上回家就可以再次测试
多谢了
作者: hhh333    时间: 2010-11-2 07:32
标题: 回复 #66 hnzz110 的帖子
你没有明白版本间的差异,后面的版本如果用UD启动ROOT是UD,而前面的ROOT为可见区,显然后面的版本再合理。
作者: hnzz110    时间: 2010-11-2 07:59
我是菜鸟,真心求教,我只会粗浅地照本宣科式的应用,技术后面深层次的内容,本人确实不懂
再说一次用的版本,目前用10月31日的,测试使用公司一台新机和家中一台旧机
我数据全部在可见分区,目前的问题是,同样的代码,新机可运行而老机无法运行,主要指66369的XPE
我只想让XPE启动起来,我现在应用上一知半解,所以想请人帮助解决
作者: hnzz110    时间: 2010-11-2 08:58
总结一下以上反映的问题:

kingstoneU盘16G,用fbinst1.6格式化,命令格式:fbinst g:  format -f -z -a
grldr采用10月31日版的,XPE采用本论坛66369最后发布的XPE珍藏版
启动菜单只有grldr一项,将菜单内置后加入UD分区,可见分区拷贝所有启动文件,平时做U盘正常使用

内置菜单部分内容:
title boot from Ndos
find --set-root /1.gz
map --mem /1.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title boot from XPE bin
find --set-root /1.gz
chainloader /wxpe/setupldr.bin

title boot from XPE ISO
find --set-root /1.gz
map --mem /1.ISO (0xff)
map --hook
chainloader (0xff)

测试机器,公司电脑1,部分配置
   主板:
      处理器名称                                        QuadCore Intel Core 2 Quad Q6600, 2400 MHz (9 x 267)
      主板名称                                          Lenovo ThinkCentre XXXX
      主板芯片组                                        Intel Bearlake Q35
      系统内存                                          3997 MB  (DDR2-800 DDR2 SDRAM)
      BIOS 类型                                         Phoenix (06/11/09)
家中才古董电脑2,练习玩的,部分配置
主板:
      处理器名称                                        Intel Pentium 4, 2400 MHz (18 x 133)
      主板名称                                          Legend Beatles
      主板芯片组                                        Intel Brookdale-G i845G
      系统内存                                          247 MB  (PC2700 DDR SDRAM)
      BIOS 类型                                         Award (09/11/02)

上述命令启动方式在电脑1上,全部运行通过,在机器2上第二项,第三项均无法通过,
第二项错误信息
setup is inspecting your computer's hardware configuration
NEDETECT failed
第三项显示信息及错误信息抄录(可能部分单词有拼写错误,包括断行)
Booting boot from XPE
0
Notice:number of heads for drive 0 tuned from 2 to 64
Notice:sectors-per-track for drive 0 tuned from 18 to 32
Fat12 bpb found with 0xEB(jmp)
    leading the boot sector
probed C/H/S = 80/4/36 probed total sectors=11520
[8M/68M]
......
chainloader (0xff)
Error 13 : Invalid or unsupported executable format
Press any key to continue ...

我的问题是,如何启动66369那个XPE光盘镜像,包括不解压方式及解压方式
谢谢!
作者: jianliulin    时间: 2010-11-2 11:21
新版引入了一个bug,2010-10-17版没有这种情况,如图:

作者: zxw    时间: 2010-11-2 12:10
标题: 回复 #76 jianliulin 的帖子
我这里实机测试正常。
作者: jianliulin    时间: 2010-11-2 12:54
原帖由 zxw 于 2010-11-2 12:10 发表
我这里实机测试正常。

你用附件的fba ,进入SRSF6 TOOLS 菜单后 ,按C进入命令行(蓝色背景),输入find 看看结果,fba里面有两个grldr,对比结果不一样,

SRSF6 里面的文件来自http://bbs.wuyou.net/forum.php?mod=viewthread&tid=179738&extra=page%3D1

[ 本帖最后由 jianliulin 于 2010-11-2 12:56 编辑 ]

fb-2010-11-02.rar

374.07 KB, 下载次数: 35, 下载积分: 无忧币 -2


作者: sratlf    时间: 2010-11-2 13:50
反馈一个其他问题  1031版  实机测试

grldr所在为(hd0,2)  同时还有MENU.LST  /BOOT/GRUB/WENV两个文件  MENU.LST里只有两行命令  
command --set-path=(bd)/BOOT/GRUB
commandline

重启机子进入到命令行  执行 WENV  提示no such command

执行 ls /BOOT/GRUB/  可以看到有WENV文件  执行root  看到当前为(hd0,2)

执行root (bd)  可以看到为(hd0,2)

执行WENV  还是提示no such command

执行 root (hd0,2) 后再执行WENV  正常了  出现WENV的参数说明

不明白这是为什么
作者: vocalsir    时间: 2010-11-2 14:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: zxw    时间: 2010-11-2 15:17
标题: 回复 #80 vocalsir 的帖子
下载包里有说明:如ChangeLog_GRUB4DOS.txt、ChangeLog_chenall.txt
作者: chenall    时间: 2010-11-2 15:23
原帖由 sratlf 于 2010-11-2 13:50 发表
反馈一个其他问题  1031版  实机测试

grldr所在为(hd0,2)  同时还有MENU.LST  /BOOT/GRUB/WENV两个文件  MENU.LST里只有两行命令  
command --set-path=(bd)/BOOT/GRUB
commandline

重启机子进入到命令 ...


你可以试试
执行以下命令看有没有效果
(bd)/BOOT/GRUB/WENV
(hd0,2)/BOOT/GRUB/WENV
(hd0,2)/WENV
作者: zhaohj    时间: 2010-11-2 15:27
原帖由 sratlf 于 2010-11-2 13:50 发表
反馈一个其他问题  1031版  实机测试

grldr所在为(hd0,2)  同时还有MENU.LST  /BOOT/GRUB/WENV两个文件  MENU.LST里只有两行命令  
command --set-path=(bd)/BOOT/GRUB
commandline

重启机子进入到命令 ...


少写一个/
command --set-path=(bd)/BOOT/GRUB/
作者: zxw    时间: 2010-11-2 15:52
@ jianliulin:
用你的那个fba实机测试了一下,新版grldr的find确实存在问题。
@chenall:
jianliulin反映:新版grldr的find是否引进了bug?

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=179295&page=8#pid2076363
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=179295&page=8#pid2076421

[ 本帖最后由 zxw 于 2010-11-2 16:04 编辑 ]
作者: sratlf    时间: 2010-11-2 16:04
原帖由 chenall 于 2010-11-2 15:23 发表


你可以试试
执行以下命令看有没有效果
(bd)/BOOT/GRUB/WENV
(hd0,2)/BOOT/GRUB/WENV
(hd0,2)/WENV


好的,我试试


原帖由 zhaohj 于 2010-11-2 15:27 发表


少写一个/
command --set-path=(bd)/BOOT/GRUB/


不会吧,以前写的都没加也没问题啊,我再试试去

[ 本帖最后由 sratlf 于 2010-11-2 16:06 编辑 ]
作者: chenall    时间: 2010-11-2 17:15
出现(fd0,1) (fd0,2) (fd0,3)的问题.这个是因为新版的会找软盘分区.所以才会这样子.
不过这个没有多大影响.这个只是find不带参数会显示的,

加了参数了find就不会显示这些了.

因为find不带参数会显示所有可能的设备.
作者: sratlf    时间: 2010-11-2 22:43
@chenall  zhaohj

好像确实有问题  #79的问题  在(hd0,2)上会找不到wenv  但是相同的文件(直接复制过去,未更改)放在(hd0,0)上就正常  执行正常

在(hd0,2)上测试  
(bd)/BOOT/GRUB/WENV    //错误  提示no such command
(hd0,2)/BOOT/GRUB/WENV      //正常  出现参数说明
(hd0,2)/WENV    //错误  提示file not found

使用command --set-path=(bd)/BOOT/GRUB/ 后提示相同
作者: chenall    时间: 2010-11-2 23:32
bd不对?

看看当前的(bd)是什么.

read 0x8280
read 0x8208
作者: zhaohj    时间: 2010-11-3 00:42
当前root在(hd0,2),而(bd)在(hd0,0)上,导致路径找不到。
可以这样改一下:
calc *8280=*82a0
calc *8208=*82c9
command --set-path=(bd)/BOOT/GRUB/
作者: hnzz110    时间: 2010-11-3 04:15
原帖由 hnzz110 于 2010-11-2 08:58 发表
总结一下以上反映的问题:

kingstoneU盘16G,用fbinst1.6格式化,命令格式:fbinst g:  format -f -z -a
grldr采用10月31日版的,XPE采用本论坛66369最后发布的XPE珍藏版
启动菜单只有grldr一项,将菜单内 ...


75楼,菜鸟问题,真心求教,期待解答 ...

[ 本帖最后由 hnzz110 于 2010-11-3 05:45 编辑 ]
作者: sratlf    时间: 2010-11-3 09:47
@chenall  zhaohj

悲剧了,昨晚本显卡烧了,今天拿去客服说只能换块主板,还要三天后,暂时是测不了了
作者: pseudo    时间: 2010-11-3 12:02
标题: 回复 #90 hnzz110 的帖子
好像是正常的表现。

第三项map --mem的启动方式要载入整个iso到内存,所需内存大于等于iso体积加pe需要的启动存。有的pe版本,本身设计可能就要求256M以上的启动内存。你的老机器内存小,即使刻光盘来启动(这样占内存少)也勉强。
目前全藏入ud的pe,多数是整个iso藏入,并经常以map --mem方式启动,这比较占内存。如果是全内置PE,试试去掉--mem。

第二项在u盘可见区被识别为硬盘时可成功,识别为软盘时会失败。具体识别为什么,各机器不同。

对老机器,可以试试0pe,支持解开藏入ud或整个iso放在可见区0PE目录不加--mem快速低内存启动。自动适应识别为硬盘、软盘情形。
作者: 2010wt1989520    时间: 2010-11-3 15:28
嗯 不错啊 就是不知道怎么用 我是菜鸟呀
作者: zxw    时间: 2010-11-3 16:28
标题: 回复 #90 hnzz110 的帖子
试将第二项作如下修改,或许会部分成功:
calc *0x82b8>>8&0xff-0x80 && map (fd0) (hd0) && map (hd0) (hd) && map --hook
find --set-root /wxpe/setupldr.bin && chainloader /wxpe/setupldr.bin

[ 本帖最后由 zxw 于 2010-11-3 16:32 编辑 ]
作者: hnzz110    时间: 2010-11-4 02:01
标题: 回复 #94 zxw 的帖子
多谢以上各位的回复和建议
@zxw
使用你的代码后依然没有成功,屏幕提示如下:

-128(HEX:0xFFF...FF80)  (中间有省略多个F)
floppies_orig=1,harddrives_orig=1,floppies_curr=1,harddrives_curr=2
0
Notice:number of heads for drive 0 tuned from 2 to 64
Notice:sectors-per-track for drive 0 tuned from 8 to 32
(hd0,0)
will boot ntldr from drive=0x80,partition=0x0(hidden sectors=0x3ee0)

setup is inspecting your computer's hardware configuration
NEDETECT failed

另外,你写的第一行代码能详细解释一下吗?有些命令只所以不用,就是因为一点也不懂
如果能大概知道其含义,对使用会很有帮助
多谢
作者: hnzz110    时间: 2010-11-4 02:05
另外发现,这一版本的grldr有BUG,菜单项用上下键移动时,会跳过某些项,用左右键移动才解决
作者: zhaohj    时间: 2010-11-4 07:22
原帖由 hnzz110 于 2010-11-4 02:05 发表
另外发现,这一版本的grldr有BUG,菜单项用上下键移动时,会跳过某些项,用左右键移动才解决


这不是bug,是该菜单项没有可以boot的命令。象这些:coainloader、configfile、kernel...
作者: zxw    时间: 2010-11-4 08:39
标题: 回复 #95 hnzz110 的帖子
将NTDETECT.com放在根目录试试。
作者: zhuyoucheng    时间: 2010-11-4 10:08
标题: 回复 #94 zxw 的帖子
我用你的命令成功启动,不管是HDD还是ZIP,就像#96说的用你这个命令写的菜单用上下键会跳过,然后我改了下就行了
calc *0x82b8>>8&0xff-0x80 && map (fd0) (hd0) && map (hd0) (hd) && map --hook
find --set-root /wxpe/setupldr.bin
chainloader /wxpe/setupldr.bin
不知道这样改效果是不是一样的啊,本人太菜鸟,不要见笑。(注:改了HDD和ZIP都照样启动)
作者: hnzz110    时间: 2010-11-4 10:09
标题: 回复 #98 zxw 的帖子
谢谢回复,只有等晚上下班回去才能再试验
我想了解一下,这一句:
calc *0x82b8>>8&0xff-0x80
是什么意思

[ 本帖最后由 hnzz110 于 2010-11-4 10:10 编辑 ]




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