是vmplayer问题?使用的是最新版的vmplayer。
[ 本帖最后由 zhaohj 于 2011-1-29 22:37 编辑 ] 这个是VM的问题吧,PXE无法启动和GRLDR有关系吗? 查看了vm的配置,把"net“改成"Bridged"就进去了。一时疏忽!
再看看硬盘格式化后情况
[ 本帖最后由 zhaohj 于 2011-1-30 10:06 编辑 ] 超过2T是肯定不支持的。。
[ 本帖最后由 chenall 于 2011-1-30 10:36 编辑 ] 用DG或者DISKPART弄成GPT
看看GRLDR能不能启动ISO,IMG
这个成功才是关键 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 编辑 ] 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 编辑 ] 1月28日的grldr刻盘后无法引导光盘,旧版的可以 @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 编辑 ] 大家新年快乐!
今天更新了一下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命令格式化后就不会有这样的提示了.
回复 #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 编辑 ] 嗯,应该是和菜单文件和关系..比如菜单文件里面有一些特殊的判断..
另外你可以看看直接用以下命令试试看看能不能正常显示菜单内容,如果可以显示那90%是菜单文件的关系了,否则就是其它原因(在没有find之前)
cat (ud)/xxxxx
回复 #520 chenall 的帖子
新年好。外部命令fontfile受影响吗?如果受影响,希望也更新一下。 原帖由 pseudo 于 2011-2-10 12:39 发表 http://bbs.wuyou.net/images/common/back.gif
新年好。
外部命令fontfile受影响吗?如果受影响,希望也更新一下。
这个没有影响.新版的GRUB4DOS只影响了UNIFONT. @Plantsoot
我还是觉得有很大的可能是问题出在菜单文件上.
至于ls (hd0)/ 和 ls (ud)/显示的内容是一样的,这是正常的
因为新的GRUB4DOS支持FB文件系统,你没有使用FBINST启动同样可以通过(hd0)/xx的方式来访问(ud)区的内容.
你还可以直接map一个fba
比如
map (hd0,0)/fb.fba (hd2)
map --hook
也可以通过(hd2)/来访问fb.fba里面的文件.
回复 #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 编辑 ] 我还没有用过gfxmenu.
你可以把相关文件上传上来,我抽空测试一下.
回复 #527 chenall 的帖子
我是用我春节版的fba测试的,体积太大,等我精简一下,整理一下传到115网盘。另外问一个问题,map出来的设备,除了 (0xff) 在进入PE前不会被释放,还有哪些编号的设备不会被释放? 原帖由 Plantsoot 于 2011-2-10 21:21 发表 http://bbs.wuyou.net/images/common/back.gif
我是用我春节版的fba测试的,体积太大,等我精简一下,整理一下传到115网盘。
另外问一个问题,map出来的设备,除了 (0xff) 在进入PE前不会被释放,还有哪些编号的设备不会被释放?
所有map的设备,都不会被释放的..除非你主动unmap.否则,... 大家新年好!
2-10 grub4dos变量值截取正常了 @chenall:
加载unicode字体后,这个是否正常?(非针对新版)
原帖由 zxw 于 2011-2-11 11:01 发表 http://bbs.wuyou.net/images/common/back.gif
@chenall:
加载unicode字体后,这个是否正常?(非针对新版)
112895
这个和UNIFONT无关,,一直都是这样子的.
进入图形模式后这些控制字符就不能正常起作用了.
回复 #532 chenall 的帖子
但其它控制字符貌似都正常。 原帖由 zxw 于 2011-2-11 13:58 发表 http://bbs.wuyou.net/images/common/back.gif但其它控制字符貌似都正常。
暂时不管这个,其它的控制字符像\r\t\n都是经过特殊处理的.
回复 #534 chenall 的帖子
哦,原来如此,期待也特殊处理\b 报告一下,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 编辑 ] @blithewind
谢谢提醒,
因为汉字的UTF-8编码一般都是三个字节的,而变成汉字显示在屏幕上时使用了2个字节的位置.所以才会导致后面的字符未被清除.
下个版本进行修正.. @chenall:
不用cat,如何准确获取变量或变量值在内存中的偏移? 从内存0x45000
开始
第一个扇区是变量.
接下去就是变量的值.
一个变量名长度最多8个字符,所以最多64个变量.
每个变量的值占用一个扇区.
自己去计算.
回复 #539 chenall 的帖子
这些我知道,其实用set、shift、cat 等命令结合可以获取。我的真实想法是:最好是输入某个命令得到的返回值,就是某变量值的偏移地址。这样即可很方便地实现wenv命令动态截取字符串的功能。
[ 本帖最后由 zxw 于 2011-2-13 19:44 编辑 ]