zhaohj 发表于 2011-1-29 22:35:21

奇怪,测试28日版本,vmplayer 虚拟硬盘超过1T后,pxe还是无法启动.
是vmplayer问题?使用的是最新版的vmplayer。

[ 本帖最后由 zhaohj 于 2011-1-29 22:37 编辑 ]

chenall 发表于 2011-1-30 08:25:23

这个是VM的问题吧,PXE无法启动和GRLDR有关系吗?

zhaohj 发表于 2011-1-30 08:34:31

查看了vm的配置,把"net“改成"Bridged"就进去了。一时疏忽!
再看看硬盘格式化后情况

[ 本帖最后由 zhaohj 于 2011-1-30 10:06 编辑 ]

chenall 发表于 2011-1-30 09:42:03

超过2T是肯定不支持的。。

[ 本帖最后由 chenall 于 2011-1-30 10:36 编辑 ]

dvd008 发表于 2011-1-30 10:26:00

用DG或者DISKPART弄成GPT

看看GRLDR能不能启动ISO,IMG

这个成功才是关键

Plantsoot 发表于 2011-2-5 13:48:07

chenall 兄,请教个问题。

fbinst + grldr 启动盘,grldr1月28版本或者更新的版本:

1、进入命令行模式后输入:
configfile (ud)/BOOT/GRUB/MENU.0PE

执行后没反应:



按理说应该不用加boot,我加个boot试试:



报错了。

2、换个写法:

分别输入并执行
find --set-root /BOOT/GRUB/MENU.0PE
configfile /BOOT/GRUB/MENU.0PE

或者configfile (ud)/BOOT/GRUB/MENU.0PE


启动成功,可以顺利进入0PE的菜单,因为进入了菜单没截屏了。

chenall 兄看看为什么会这样?

[ 本帖最后由 Plantsoot 于 2011-2-5 13:54 编辑 ]

sratlf 发表于 2011-2-6 20:00:29

set 设置变量时不清除原值吗


还有个问题

map --mem /BOOT/IMGS/FIRADISK.IMG (fd1)
map --mem (md)+2880 (fd0)
map --hook

执行find结果如下


继续执行 dd if=(fd1) of=(fd0) count=1

再执行find结果如下


不知是否正常

[ 本帖最后由 sratlf 于 2011-2-6 20:53 编辑 ]

527104427 发表于 2011-2-7 22:55:56

1月28日的grldr刻盘后无法引导光盘,旧版的可以

zhaohj 发表于 2011-2-9 13:31:40

@sratlf:
设置变量时并不清除原值,新值以\0结束。
比如set c=
并不清除c的内容
你可以通过0x4cb00取得变量值长度
如set c=--mem-noboot
变量lenc代表变量c值的长度
set c=%c% && set /a lenc=*0x4cb00

可以用cat查看变量及变量值的内容
cat --hex (md)0x228+1 查看变量
cat --hex (md)0x229+1~64 查看变量值

[ 本帖最后由 zhaohj 于 2011-2-9 13:39 编辑 ]

chenall 发表于 2011-2-10 10:54:52

大家新年快乐!

今天更新了一下unifont,现在unifont使用全新的方案,全面支持UTF-8字符.
可以正常显示中文文件夹/文件名.cat/echo等命令同样可以正常显示中文.

另外,因为使用全新的方案,所以之前在GRUB4DOS内部对UTF-8字符的处理就不需要了.
所以下一个版本的GRUB4DOS内部将会取消内部对UTF-8字符的处理.

请大家都更新到最新版UNIFONT,否则将无法在新版本的GRUB4DOS中正常显示中文菜单.

新的UNIFONT可以兼容之前的GRUB4DOS版本.但新的GRUB4DOS不兼容旧的UNIFONT.

@Plantsoot
应该和菜单文件的内容有关系吧.....

@sratlf
1.这个也许是一个BUG,我再抽空检查一下,按理说碰到\0就结束了,不应该超出的.
2.没有关系,因为用这种方式生成的文件分配表并不是完整的.
如果使用FAT命令格式化后就不会有这样的提示了.

Plantsoot 发表于 2011-2-10 11:47:40

回复 #520 chenall 的帖子

我的意思是在命令行模式,必须先使用find,再configfile才可以正常加载菜单,
直接configfile没反应。

我刚才做了测试,发现了问题:

grub> find

(hd0)
(ud)
(hd0,0)

grub> ls (hd0)/和grub> ls (ud)/ 返回的都是 ud 内的文件列表

第一种方式:

grub> configfile (hd0)/MENU.LST 和 grub> configfile (ud)/MENU.LST 都无反应。

第二种方式:

grub> root (ud)
grub> configfile (ud)/MENU.LST

失败

第三种方式:
grub> root (hd0)
grub> configfile (hd0)/MENU.LST

成功

第四种方式:
grub> root (hd0)
grub> configfile (ud)/MENU.LST

失败

第五种方式:
grub> find/MENU.LST
grub> configfile /MENU.LST

成功

[ 本帖最后由 Plantsoot 于 2011-2-10 12:04 编辑 ]

chenall 发表于 2011-2-10 12:00:19

嗯,应该是和菜单文件和关系..比如菜单文件里面有一些特殊的判断..

另外你可以看看直接用以下命令试试看看能不能正常显示菜单内容,如果可以显示那90%是菜单文件的关系了,否则就是其它原因(在没有find之前)
cat (ud)/xxxxx

pseudo 发表于 2011-2-10 12:39:17

回复 #520 chenall 的帖子

新年好。
外部命令fontfile受影响吗?如果受影响,希望也更新一下。

chenall 发表于 2011-2-10 12:46:55

原帖由 pseudo 于 2011-2-10 12:39 发表 http://bbs.wuyou.net/images/common/back.gif
新年好。
外部命令fontfile受影响吗?如果受影响,希望也更新一下。

这个没有影响.新版的GRUB4DOS只影响了UNIFONT.

chenall 发表于 2011-2-10 12:50:56

@Plantsoot
我还是觉得有很大的可能是问题出在菜单文件上.
至于ls (hd0)/ 和 ls (ud)/显示的内容是一样的,这是正常的

因为新的GRUB4DOS支持FB文件系统,你没有使用FBINST启动同样可以通过(hd0)/xx的方式来访问(ud)区的内容.

你还可以直接map一个fba
比如
map (hd0,0)/fb.fba (hd2)
map --hook
也可以通过(hd2)/来访问fb.fba里面的文件.

Plantsoot 发表于 2011-2-10 14:02:13

回复 #525 chenall 的帖子

我的启动是这样的fbinst + grldr(内置菜单),我刚才测试了下,如果清空 grldr的内置菜单,启动后自动进入grub命令行模式,configfile (ud)/MENUTEST.LST 可以直接加载菜单,只不过无法正常加载gfxmenu 的message文件,但菜单还是出来了。

继续测试找元凶。

grldr菜单前部分如下:checkrange 0x21 read 0x8280 && pxe detect NotExist
command --set-path=(bd)/BOOT/GRUB/
timeout 10
default 0
gfxmenu (ud)/message
configfile (md)4+8

title命令行模式
commandline这个菜单,进入菜单后,选择命令行模式,输入 configfile (ud)/BOOT/GRUB/MENU.0PE 后无反应;
再输入一次 configfile (ud)/BOOT/GRUB/MENU.0PE 后正常加载MENU.0PE菜单。
也就是说要执行两次configfile (ud)/BOOT/GRUB/MENU.0PE 才可以正常加载。

菜单改为:checkrange 0x21 read 0x8280 && pxe detect NotExist
command --set-path=(bd)/BOOT/GRUB/
timeout 10
default 0

title命令行模式
commandline不加载message的情况下一切正常,输入一次 configfile (ud)/BOOT/GRUB/MENU.0PE 后就可以正常加载菜单了。
看来是gfxmenu (ud)/message影响的。

请Chenall指正。

另外,直接map fba文件是个好消息。有空我去测试下。

[ 本帖最后由 Plantsoot 于 2011-2-10 14:05 编辑 ]

chenall 发表于 2011-2-10 16:51:30

我还没有用过gfxmenu.

你可以把相关文件上传上来,我抽空测试一下.

Plantsoot 发表于 2011-2-10 21:21:28

回复 #527 chenall 的帖子

我是用我春节版的fba测试的,体积太大,等我精简一下,整理一下传到115网盘。

另外问一个问题,map出来的设备,除了 (0xff) 在进入PE前不会被释放,还有哪些编号的设备不会被释放?

chenall 发表于 2011-2-10 21:59:57

原帖由 Plantsoot 于 2011-2-10 21:21 发表 http://bbs.wuyou.net/images/common/back.gif
我是用我春节版的fba测试的,体积太大,等我精简一下,整理一下传到115网盘。

另外问一个问题,map出来的设备,除了 (0xff) 在进入PE前不会被释放,还有哪些编号的设备不会被释放?

所有map的设备,都不会被释放的..除非你主动unmap.否则,...

zhaohj 发表于 2011-2-11 09:23:07

大家新年好!
2-10 grub4dos变量值截取正常了

zxw 发表于 2011-2-11 11:01:56

@chenall:
加载unicode字体后,这个是否正常?(非针对新版)

chenall 发表于 2011-2-11 11:52:22

原帖由 zxw 于 2011-2-11 11:01 发表 http://bbs.wuyou.net/images/common/back.gif
@chenall:
加载unicode字体后,这个是否正常?(非针对新版)
112895

这个和UNIFONT无关,,一直都是这样子的.

进入图形模式后这些控制字符就不能正常起作用了.

zxw 发表于 2011-2-11 13:58:03

回复 #532 chenall 的帖子

但其它控制字符貌似都正常。

chenall 发表于 2011-2-11 14:08:23

原帖由 zxw 于 2011-2-11 13:58 发表 http://bbs.wuyou.net/images/common/back.gif
但其它控制字符貌似都正常。

暂时不管这个,其它的控制字符像\r\t\n都是经过特殊处理的.

zxw 发表于 2011-2-11 14:46:18

回复 #534 chenall 的帖子

哦,原来如此,期待也特殊处理\b

blithewind 发表于 2011-2-11 18:58:42

报告一下,2-10日版本对菜单变量支持不好。
用的unifont命令也是10日版本。
具体表现在使用菜单变量后,下方提示信息栏会留下命令行提示信息的最右侧部分。




但当菜单中正常使用 \n XXX 来改变提示信息时,情况会有所变化。看下面的菜单,红字部分为测试信息。

debug off
command --set-path=(bd)/BOOT/GRUB/
cat --length=0 ()/BOOT/GRUB/MENU/MENU.5U || find --set-root /BOOT/GRUB/MENU/MENU.5U
unifont ()/BOOT/GRUB/U16HZ
background 004080
foreground ffffff
set n=按下序号数字回车,直接进入相应子菜单
clear
default 12

title    ☆无忧经典PE☆
clear
title   ================
clear
title ────────────────────
clear
title   03PE/Linux合集\n\n   %n%
RUN 1.5U
boot
title   04DOS 工具合集\n\n   %n%
RUN 2.5U
boot
title   05备份还原工具\n\n   %n%
RUN 3.5U
boot
title   06磁盘分区工具\n\n   aaa   
RUN 4.5U
boot
title   07硬件维护工具\n\n   %n%
RUN 5.5U
boot
title   08启动破解工具\n\n   bbb
RUN 6.5U
boot
title   09系统安装修复\n\n   %n%
RUN 7.5U
boot
title   10GRUB--命令行
commandline \n\n    %n%
title ────────────────────
clear   
title   12EasyBoot菜单\n\n   %n%\n
chainloader --force ()/EASYBOOT/loader.bin || chainloader --force ()/EASYBOOT/LOADER.BIN
title   13ISOLINUX菜单 \n\n   %n%
chainloader --force ()/BOOT/ISOLINUX.BIN
title   14BOOTMGR 菜单\n\n   %n%
chainloader --force ()/WUYOUMR
title ────────────────────
clear
title   16特殊方式启动 \n\n    先USB2.0/F6加载驱动后,再启动合盘PE\n    或启动PLPBT引导管理器,或加载F6模块
RUN SPECIAL.5U
boot
title   17硬盘启动菜单\n\n   %n%
RUN HDDBOOT.5U
boot
title   18搜索启动系统\n\n   ccc
RUN nt
boot
title   19重新启动系统\n\n   %n%
reboot
title   20关闭--计算机\n\n   %n%
halt


测试结果如下图所示:


由上图可见:当菜单项经过红色测试部分后,其变量显示正常,而经过命令行提示信息后,就重新出现右侧的 "b' to boot " (有时是 " boot"、"t"等,如提示信息不同的话,此多余信息也会有所变化)的多余信息,直到重新经过红色测试部分,又再度恢复正常。
请C大修正一下。

[ 本帖最后由 blithewind 于 2011-2-11 19:02 编辑 ]

chenall 发表于 2011-2-11 19:10:44

@blithewind
谢谢提醒,
因为汉字的UTF-8编码一般都是三个字节的,而变成汉字显示在屏幕上时使用了2个字节的位置.所以才会导致后面的字符未被清除.

下个版本进行修正..

zxw 发表于 2011-2-13 15:48:51

@chenall:
不用cat,如何准确获取变量或变量值在内存中的偏移?

chenall 发表于 2011-2-13 19:04:15

从内存0x45000
开始
第一个扇区是变量.
接下去就是变量的值.

一个变量名长度最多8个字符,所以最多64个变量.
每个变量的值占用一个扇区.

自己去计算.

zxw 发表于 2011-2-13 19:29:40

回复 #539 chenall 的帖子

这些我知道,其实用set、shift、cat 等命令结合可以获取。
我的真实想法是:最好是输入某个命令得到的返回值,就是某变量值的偏移地址。这样即可很方便地实现wenv命令动态截取字符串的功能。

[ 本帖最后由 zxw 于 2011-2-13 19:44 编辑 ]
页: 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27
查看完整版本: GRUB4DOS更新建议、bug反馈专帖