无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: chenall
打印 上一主题 下一主题

grub4dos 外部命令 wenv [2010-10-17 ]

  [复制链接]
1#
发表于 2010-5-9 21:03:12 | 显示全部楼层
时空不好进,在此反馈一个bug,可能与这个主题无关,但用最新版0503的splashimage出错,错误表现

     出错语句:splashimage /BOOT/GRUB/BACK.XPM.GZ。

1、当调用文件位于NTFS分区时出现,运行至此屏幕左上出现一个横线光标,但并未死机,且可“摸黑”进菜单项。
2、将文件解开,但NTFS分区形式不变,可以进入。
3、文件不变,但将磁盘格为FAT32,故障消失。
4、其他位于光盘上时也无问题。
回复

使用道具 举报

2#
发表于 2010-5-10 09:21:40 | 显示全部楼层

回复 #80 chenall 的帖子

刚才将手头有的版本都测试了一下,090331发布的0.44及其以后的到100503均不行,前面的版本未测试。
把我的图传一个给你吧: BACK.XPM.GZ (2.23 KB, 下载次数: 104)

这个应该是一个重要而明显的bug,以前难道没人碰到?应该是将g4d安装到NTFS时且使用压缩格式的背景时出现。应该不是我测试的问题,开始是bootmgr->grldr.mbr->grldr,后面又用ntldr->grldr,故障依旧。看过此帖的网友都可试一下。

[ 本帖最后由 hhh333 于 2010-5-10 09:49 编辑 ]
回复

使用道具 举报

3#
发表于 2010-5-10 15:07:14 | 显示全部楼层

回复 #83 pseudo 的帖子

确实与兄弟推测的一样,换了个41KB的压缩文件,故障消失!

[ 本帖最后由 hhh333 于 2010-5-10 15:09 编辑 ]
回复

使用道具 举报

4#
发表于 2010-5-10 17:51:29 | 显示全部楼层
原帖由 chenall 于 2010-5-10 17:33 发表
以前很早就会有这样的问题了吧,具体要问一下bean。

记得NTFS分区上小于4KB的文件用GRUB4DOS访问偶尔是会出问题的。


就我测试的情况来看,应该较早或者是从一开始就有这个问题,可能要仔细看NTFS读写的代码才能找出来。应该算一个隐藏得较深的BUG吧。 

[ 本帖最后由 hhh333 于 2010-5-10 17:52 编辑 ]
回复

使用道具 举报

5#
发表于 2010-5-10 20:07:54 | 显示全部楼层
在没找到错误所在时,我只能将图稍微做大一点了,不过这总是个安全隐患。
回复

使用道具 举报

6#
发表于 2010-5-11 20:46:24 | 显示全部楼层

回复 #104 zhaohj 的帖子

我觉得不是读所有的<4K的都不行,如menu.lst文件做得比较小时也照样可以读出。我推测可能是以二进制方式读文件时出问题。现在还不肯定是读文件错还是解压缩错。我再测试一下。

=====
刚才用cat命令读了一下/boot/grub下的echo(148B)和goto(224B)好象没问题

[ 本帖最后由 hhh333 于 2010-5-11 21:19 编辑 ]
回复

使用道具 举报

7#
发表于 2010-5-12 13:17:33 | 显示全部楼层

回复 #109 zhaohj 的帖子

那就基本肯定是GZ解压模块的问题;或者splashimage命令代码存在瑕疵。
回复

使用道具 举报

8#
发表于 2010-5-13 17:34:35 | 显示全部楼层
外置需要规划,不能想起什么就写一段小程序作外置,提供一个执行外置的接口是对的,但不能依赖于外置,外置泛滥不一定是好事。现在执行脚本越来越不好看懂了,这对普及是不利的。应尽量用内置命令,如果觉得确实需要某个很重要的功能则考虑扩展内置命令。到时候不会弄成DOS命令都有相应外置吧?

要么做个外置集合DLL,挂上后就可用外置命令,不然外置程序也越来越多,越来越乱。
回复

使用道具 举报

9#
发表于 2010-5-13 18:34:41 | 显示全部楼层

回复 #121 不点 的帖子

不点大侠,我想问一个问题:
我看内置中有一个不带参数的configfile,这个是不是代表configfile menu.lst,即是指以menu.lst为外置默认菜单。既然是这样,应该就可省略的,只是不同时再用这个语句。

我进行了测试(本意是调用外置的 /H3_MENU.LST):

pxe detect
configfile
default 0
timeout 1

title find /h3_menu.lst, /boot/grub/h3_menu.lst, /grub/h3_menu.lst
        errorcheck off
        configfile /H3_MENU.LST
        configfile /BOOT/GRUB/H3_MENU.LST
        configfile /GRUB/H3_MENU.LST
        find --set-root --ignore-floppies --ignore-cd /h3_menu.lst && configfile /h3_menu.lst
        find --set-root --ignore-floppies --ignore-cd /boot/grub/h3_menu.lst && configfile /boot/grub/h3_menu.lst
        find --set-root --ignore-floppies --ignore-cd /grub/h3_menu.lst && configfile /grub/h3_menu.lst
        errorcheck on
        commandline

title commandline
        commandline

title reboot
        reboot

title halt
        halt
如果根下有menu.lst就执行了,不会执行H3_MENU.LST,但将第二行改成

configfile /H3_MENU.LST
就可以了。
===================
我又测试了一下,基本弄清楚了。
1、configfile不带参数的作用就是cofigfile /menu.lst
2、如果取消这一行,grldr在没有碰到configfile之前将不知道外置菜单的名称。这样就会出内置菜单。
3、要让grldr以其他外置文件作菜单,就在configfile后加这个菜单名作参数,即:“configfile /菜单文件名”

这样看来,这个命令在内置菜单中不能省,而且configfile是一个不返回调用,一旦文件存在则后续语句将不再执行。不知我的说法对不对。

[ 本帖最后由 hhh333 于 2010-5-13 19:02 编辑 ]
回复

使用道具 举报

10#
发表于 2010-5-13 19:24:56 | 显示全部楼层

回复 #125 不点 的帖子

不点还不能高兴太早,chenall说还没有找到bug,只是临时用一个替代办法。我猜chenall相当于在菜单中先默认运行一下fstest代码,或者碰到小于4k文件且又是NTFS时先默认执行一下。不知我的猜测对不对。只能是治标不能说治本。

[ 本帖最后由 hhh333 于 2010-5-13 19:26 编辑 ]
回复

使用道具 举报

11#
发表于 2010-5-13 19:41:05 | 显示全部楼层

回复 #128 不点 的帖子

我把我那个昨天发布的PE也发了个补丁,只是不安装到硬盘时测试不到。
回复

使用道具 举报

12#
发表于 2010-5-14 08:30:32 | 显示全部楼层

回复 #131 不点 的帖子

基于什么考虑不带减号?有规律吗?
回复

使用道具 举报

13#
发表于 2010-10-1 20:53:14 | 显示全部楼层
chenall大侠,近期在学习你的NTBOOT超级启动IMG,确实很棒,其中的BCD很小,不知道能不能公布其技术细节?从win7原版光盘中的BCD是256KB的,一般用于7PE映象启动的都是用这个文件,我看我的WIN7系统中的是32KB的,用它完全按256的编好菜单,但会蓝屏,不知你那个BCD从那里来的,我看了一下是一个菜单项,能不能加菜单项?

虽然我不知其技术细节,但我也改了一下,用来直接启动WIN7PE镜像。并放到了我的PE中,用来支持从非NT6.x的盘上启动。


刚才用小的将设备号改一下,似乎可以启动w7pe了,但象你那样动态改还是做不来,这个要对BCD的结构有研究。

[ 本帖最后由 hhh333 于 2010-10-1 21:18 编辑 ]
回复

使用道具 举报

14#
发表于 2010-10-3 21:15:19 | 显示全部楼层
支持各位大侠将这个grub4dos做成轻量级OS。
回复

使用道具 举报

15#
发表于 2010-10-17 20:23:23 | 显示全部楼层
先看张图:

用UD方式启动,进菜单后按c进入命令行,用ls /boot/  能够列出可见区boot下的全部文件,从中选一个文件,无论用大小写都找不到,但UD区/boot/下的文件可以找到。ls看得见的东西,怎么find反而找不到呢?纠结中.....

虽然可能与本主题无关,但还是在这个帖中向chenall大侠反映一下,请指教。
回复

使用道具 举报

16#
发表于 2010-10-18 07:48:33 | 显示全部楼层

回复 #554 pseudo 的帖子

感谢P大解答,这算不算一个bug?
似乎用syslinux也不能启动,提示什么detect失败。难道这个fd0有些玄妙?
回复

使用道具 举报

17#
发表于 2010-10-18 10:49:03 | 显示全部楼层

回复 #556 zxw 的帖子

P大的意思我还不是特明白,是fd0上的东西总是不能find,还是用了fbinst后找不到。我现在是要求find可见区的东西,不是UD中的。

我这个机子也有点那个,在其他机子上我这个U盘总是识别为usbhdd,到这里就成了usbzip(启动时按ESC键出启动菜单看到的),进UD后ls /boot/  显示的是可见区的东西。
但find都找不到。
回复

使用道具 举报

18#
发表于 2010-10-18 15:01:15 | 显示全部楼层

回复 #559 zhaohj 的帖子

改成fd1还可能与F6模块冲突,看来只能用(hd)。但还是希望find功能能够更强大一点。为什么非标准就不能搜呢?期待不点或chenall能解决这个问题。
另外,可不可以不用标志文件,直接查有不有fd0,0
回复

使用道具 举报

19#
发表于 2010-10-26 14:15:07 | 显示全部楼层
chenall大侠看一下,新版怎么splashimage后显示异常?应该不是这个命令的问题,将UNIFONT /BOOT/GRUB/U16HZ挂起后,显示是正常的,换了最新的UNIFONT故障依旧。


挂起UNIFONT后正常

换图片文件也无用


[ 本帖最后由 hhh333 于 2010-10-26 14:28 编辑 ]
回复

使用道具 举报

20#
发表于 2010-10-26 15:15:36 | 显示全部楼层

回复 #626 chenall 的帖子

用10月24日的版本没有问题了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-21 11:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表