新版很好,测试正常。
对了,获取的grub4dos临时保存在什么地方?
grub4dos-0.4.5b-2011-02-20.7z保存在内存里面,解压出grldr到系统临时目录,用完就删除了,只有一瞬间,查看不到文件
[ 本帖最后由 jianliulin 于 2011-3-3 11:56 编辑 ] 小试了一下,一切正常。
不过,因为当初设计的原因。
实际文件名长度不可以超过11个字符(包括.号),最后一个用于结束字符串。
现在如果使用ABCDEFGH.123之类的文件名(即总长度超过11),打包进去后会出现异常。
所以还是要限制文件名长度不能超过11个字符。 原帖由 chenall 于 2011-3-3 17:17 发表 http://bbs.wuyou.net/images/common/back.gif
小试了一下,一切正常。
不过,因为当初设计的原因。
实际文件名长度不可以超过11个字符(包括.号),最后一个用于结束字符串。
现在如果使用ABCDEFGH.123之类的文件名(即总长度超过11),打包进去后会出 ...
原来是11个啊,我限制为12个了,下次再更正
回复 #602 chenall 的帖子
能不能采取这样的结构,类似fbinst文件列表中的结构:struct
{
unsigned char len;
char filename[];
unsigned long size;
} grub_mod;
这样,用len表示文件名的长度+1,filename为动态数组,这样不考虑文件名的长短了,只要不超过上限。 @Plantsoot
这样子虽然好,但我感觉没有必要改变,必竟使用太长的外部命令名称完全没有必要。
^_^,而且目前的方式比较方便编程。
一个命令一般8个字符以上就挺长的了。太长了不好书写。 @chenall:
shift只能单独一行,不能连写?测试了一下,在dos下可以连写。
是的shift是一个伪命令
必须单行。
回复 #607 chenall 的帖子
还是改造成“真”命令为好。^_^编写较为复杂的批处理要省事不少。 这个以后再考虑看看,会比较麻烦。
我还没有想到好的办法让它可作为一个单独的命令。而且还要不影响使用。
如果谁有什么好的想法也可以提供一下。 @chenall:
exist命令对汉字无效?cat 命令也不行。
加载了unifont字体情形:
未加载字体情形:
[ 本帖最后由 zxw 于 2011-3-7 09:54 编辑 ] 奇怪,我测试是正常的,pxe启动,英文版grldr 真是奇怪,我也是英文版grldr.
反复测试,就是不正常。 应该和分区格式有关系,具体的不太清楚。 在硬盘上测试,确实如zxw一样,不支持中文目录,不支持中文文件
我在/快盘 及 /temp下放了个中文文件 %name%
我在FAT32分区上测试的。
而fat dir正常
[ 本帖最后由 zhaohj 于 2011-3-7 16:02 编辑 ] 上图1、3中,同样的文件,编码不一样 这个得空再研究下,可能会比较麻烦。呵呵,主要是我对这些不是很清楚。 中文目录或中文文件名是3字节的unicode才能识别 chenall 你有空能不能写个修改mbr pbr 为nt5 ,nt6 的外置程序? 原帖由 jianliulin 于 2011-3-8 08:53 发表 http://bbs.wuyou.net/images/common/back.gif
chenall 你有空能不能写个修改mbr pbr 为nt5 ,nt6 的外置程序?
这个如果不考虑复杂情况的话比较简单.晚上再抽空看下. 原帖由 chenall 于 2011-3-8 13:47 发表 http://bbs.wuyou.net/images/common/back.gif
这个如果不考虑复杂情况的话比较简单.晚上再抽空看下.
顺便把2~63扇区都清零 ,能把备份恢复分区表的功能也添加上去就完美了!!!,这样用grub维护电脑时,能先备份分区表,安全很多
[ 本帖最后由 jianliulin 于 2011-3-8 15:11 编辑 ] 晕,看了一下,发现要写好,也不是一件容易的事,对于BPB还不是很了解,特别是NTFS的.
如果Pauly可以写一个那就再好不过了,他对这些比较熟悉.而且利用BOOTICE的现在代码来转换应该也不难.
这个就暂时先放着了.Sorry! .....
---------------------------
找到原因了,是我处理时内存发生冲突引起的,大家不用管了。
问题已解决!
[ 本帖最后由 zhaohj 于 2011-3-9 21:59 编辑 ] C大新版本的对lzma支持有问题!
之前grub4dos-0.4.5b-2010-11-30版本的没有问题,新版的在加载较大文件(我这里加载的是RamOS 的img文件 )。
加载到一部分后出现:disk read error 的错误提示!
grub4dos-0.4.5b-2011-03-08.7z
grub4dos-0.4.5b-2011-03-05.7z
这两个新版都出现这个问题! C大,grub4dos能否在内存中加个识别标志,用于判断是中文版还是英文版。
回复 #622 zhaohj 的帖子
我或许也是犯的这个错误,请指点。 原帖由 zxw 于 2011-3-11 11:03 发表 http://bbs.wuyou.net/images/common/back.gif我或许也是犯的这个错误,请指点。
你的什么问题啊?是否是使用gfxmenu的问题? 对于2-62清零是一件很简单的事。 通过write 也能做到。或者是自己做一个全是0的512文件,使用DD来完成。如果是外置程序,估计也不会太麻烦。
对于更新DBR,这样的操作,还是不建议修改BPB相关参数的,只要更改程序代码所占的区域即可。对于DBR,WINHEX提供有模板,CHENALL或许看一下WINHEX提供的模板就可以做到了。 原帖由 thttht 于 2011-3-9 11:57 发表 http://bbs.wuyou.net/images/common/back.gif
C大新版本的对lzma支持有问题!
之前grub4dos-0.4.5b-2010-11-30版本的没有问题,新版的在加载较大文件(我这里加载的是RamOS 的img文件 )。
加载到一部分后出现:disk read error 的错误提示!
grub4 ...
lzma部份的源码我还没有去看.如果可能的话,你们可以帮忙查一下原因.
zhaohj
记得我之前好像就有说过了,检测中文版的可以用以下方法
help fontfile | set chinese=
if not defined chinese echo 这是英文版的GRUB4DOS
至于在内存中设置一个标志,好像不是很必要.
对于2-62清零确实是一件很简单的(不考虑非63扇区的情况)如下
echo -n > (hd0)1+62
其实,只要灵活应用,甚至不需要编写程序就可以达到修改MBR/DBR的目的的.
提示:通过批处理获取磁盘参数,再配合一个固定的MBR/DBR BIN文件.
确定了要写入的位置和长度,就可以通过DD命令从BIN文件中提取相应的部份写入.就达到目的了.
关键还是获取分区参数,MBR因为都是一个扇区,相对来说更简单.BPB就没有那么简单了.需要对BPB/DBR有一定的了解.
最近没有太多时间上来.
[ 本帖最后由 chenall 于 2011-3-11 14:06 编辑 ] 对于2-62清零确实是一件很简单的(不考虑非63扇区的情况)如下
echo -n > (hd0)1+62
----------------------------------
echo 后面字符串空,默认\x00, 用>重定向符号会一直填满目标区域?
这个应用希望slatf写入教程 现在map(0)+1 (hd-1)可以将其映射成最后一块硬盘,但实际测试会掩盖掉原来最后一块硬盘。关键是软、硬盘无法交换。能否设置一命令如map (0)+1 (hd+1)将A盘map为第N+1块硬盘?N为原硬盘总数
zhaohj给解惑了,原来map (0) (hd)就可以了。
[ 本帖最后由 blithewind 于 2011-3-12 11:14 编辑 ]