无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: zhaohj
打印 上一主题 下一主题

GRUB4DOS更新建议、bug反馈专帖

    [复制链接]
2461#
发表于 2012-3-2 15:45:58 | 只看该作者

回复 #2464 chenall 的帖子

是这个问题,问题解决。谢谢。
回复

使用道具 举报

2462#
发表于 2012-3-4 23:40:33 | 只看该作者
反馈一个关于password命令的问题,请大神帮忙看看:
2009年我学习ubuntu的时候知道了G4D,一直用到现在,password --md5 这个命令也一直在menu.lst里。
这两天我把我的G4D从0.4.4升级到0.4.5c-2012-02-21,又用gfxmenu添加了一个漂亮的背景。但奇怪的是一直黑屏。
1)开始我怀疑是message文件有问题,于是换了好几个,包括正常使用的PE系统里面的message,无效。
2)又怀疑UNIFONT和U16HEI字体文件有问题,但我修改正常使用的PE系统的menu.lst,能显示出我期望的文字。
3)menu.lst文件格式经确认为不带BOM头的UTF-8格式。
4)我甚至怀疑是不是外置菜单没添加判断网启的首行所致……
……
各种排除法实验啊,从昨天晚上到今天晚上。机器重启了无数遍……
最后发现,我把password --md5 *************给注释掉就没事了!
换最新的grldr版本0.4.6a-2012-02-27,依然是这个问题,还得把password注释掉。
请问诸位大神,这个问题是怎么回事?password是按照帮助文件里的介绍写的,用了两年多没出毛病。这是gfxmenu指令跟它有冲突吗?
最后附上我的menu.lst:
terminal console
debug off
# 默认延迟时间(秒)
timeout 5
# 启动项默认值
default 1
# 设置修改密码(问题就在下面一行,必须注释掉)
password --md5 $1$1$YuszzzlcqCXgurFbh6ctK0
# 加载图形界面
gfxmenu ()/GRUB/MESSAGE
()/GRUB/UNIFONT ()/GRUB/U16HEI
# 启动项
title 【1】启动Windows
rootnoverify (hd0,0)
makeactive
chainloader +1
title 【2】启动SkyPE
configfile ()/AXPE/MENU.LST
title 【3】进入任意磁盘根目录下的my.iso
find --set-root /my.iso
map /my.iso (0xff) || map --mem /my.iso (0xff)
map --hook
chainloader (0xff)
#title 【3】启动Ubuntu10.04 RC 光盘
#root (hd0,11)
#kernel /vmlinuz boot=casper noacpi iso-scan/filename=/ubuntu-10.04-desktop-#amd64.iso ro quiet splash
#initrd /initrd.lz
title 【4】启动Ubuntu10.04, kernel 2.6.32-32-generic
root (hd0,1)
kernel /boot/vmlinuz-2.6.32-32-generic root=/dev/sda2 ro quiet splash
initrd /boot/initrd.img-2.6.32-32-generic
quiet
title 【5】启动Ubuntu10.04, kernel 2.6.32-32-generic (恢复模式)
root (hd0,1)
kernel /boot/vmlinuz-2.6.32-32-generic root=/dev/sda2 ro quiet single
initrd /boot/initrd.img-2.6.32-32-generic
title 【6】内存检测 memtest86+
root (hd0,1)
kernel /boot/memtest86+.bin
quiet
title 【7】从光盘启动
cdrom --init
map --hook
chainloader (cd0)
boot
title 【8】重新启动
reboot
title 【9】关闭计算机
halt
回复

使用道具 举报

2463#
发表于 2012-3-5 16:38:32 | 只看该作者

回复 #2466 2011sniper9877 的帖子

又是一个没有看文档就来提问题的。
自己看看
README_GRUB4DOS_CN.txt就明白了。

我对这些不太熟,暂时没有考虑解决这个问题 。
回复

使用道具 举报

2464#
发表于 2012-3-5 21:23:24 | 只看该作者

回复 #2467 chenall 的帖子

谢谢您的批评。我在文档靠后的位置找到了这个:
“gfxmenu 不能与全局密码保护功能同时使用。”
如果您能考虑一下解决这个问题,广大的G4D使用者会十分感激的。再次感谢!
回复

使用道具 举报

2465#
发表于 2012-3-5 22:52:31 | 只看该作者

回复 #2468 2011sniper9877 的帖子

没人能做这个工作。如果能做的话,就不会写那句话了。
回复

使用道具 举报

2466#
发表于 2012-3-5 22:53:19 | 只看该作者

回复 #2468 2011sniper9877 的帖子

哈哈 那就麻烦一点,每个菜单单独设置就是了(可以单独设置相同密码或不同密码)
回复

使用道具 举报

2467#
发表于 2012-3-6 12:04:03 | 只看该作者
有PE的ISO文件放到exFAT
哪个版本可以搜索得到
更新了最新的启动不了
想换回来已经删除了
最新测试版本不支持exFAT
回复

使用道具 举报

2468#
发表于 2012-3-7 18:45:59 | 只看该作者

回复 #2470 zhs509 的帖子

谢谢!我单独lock我的菜单吧。
回复

使用道具 举报

2469#
发表于 2012-3-8 11:21:57 | 只看该作者
原帖由 zlgs 于 2012-3-6 12:04 发表
有PE的ISO文件放到exFAT
哪个版本可以搜索得到
更新了最新的启动不了
想换回来已经删除了
最新测试版本不支持exFAT

已经在C大硬盘工具箱找到
0.45c可用
回复

使用道具 举报

2470#
发表于 2012-3-8 12:42:03 | 只看该作者

我发现find命令的一个比较诡异的地方。

我发现find命令的一个比较诡异的地方。
假设grub4dos相关文件放在(hd0,4)/boot/grub目录下,test.bat、test2.bat放在(hd0,5)/boot/grub目录下,当root目录不是某分区的根目录时,例如%@root%==(hd0,4)/boot时,命令find /boot/grub/test.bat 执行会失败。
下面是test.bat的内容:
  1. !BAT
  2. clear
  3. font
  4. font (bd)/BOOT/GRUB/UNIFONT.HEX

  5. root (bd)/boot && echo -e 当前工作目录是%@root%\n

  6. echo -e 将要执行下列命令:\n"find /boot/grub/test.bat"
  7. find /boot/grub/test.bat && echo -e 找到了test.bat\n ! echo -e
  8. 未找到test.bat\n
  9. pause --wait=3
复制代码

结果是找不到test.bat。
下面是test2.bat的内容:
  1. !BAT
  2. clear
  3. font
  4. font (bd)/BOOT/GRUB/UNIFONT.HEX

  5. root (bd)/boot && echo -e 当前工作目录是%@root%\n

  6. echo -e 将要执行下列命令:\n"find /grub/test.bat"
  7. find /grub/test.bat && echo -e 找到了test.bat\n ! echo -e
  8. 未找到test.bat\n
  9. pause --wait=3

  10. echo -e 将要执行下列命令:\n"root (bd) && find /boot/grub/test.bat"
  11. root (bd) && find /boot/grub/test.bat && echo -e
  12. 找到了test.bat\n ! echo -e 未找到test.bat\n
  13. pause --wait=3
复制代码

此时可以找到test.bat。
结论:当%@root%==%work_device%/%work_path%时,命令find FILENAME的含义是:在在所有分区的%work_path%目录下查找FILENAME。在本例中,%work_device%==(hd0,4),%work_path%==/boot,FILENAME=/grub/test.bat,即在在所有分区的/boot目录下查找grub子目录下的test.bat文件。
避开这个问题的一个办法:在使用find命令前先执行root (bd)命令,以保证find命令按照我们的本来的逻辑运行。
回复

使用道具 举报

2471#
发表于 2012-3-8 15:19:32 | 只看该作者

回复 #2474 dihuo0 的帖子

这个是正常的

root不是根目录 而是(hd0,4)/boot/的时候  执行find /boot/grub/test.bat

实际上将查找 /boot/boot/grub/test.bat 文件  如果没有的话肯定会提示找不到
回复

使用道具 举报

2472#
发表于 2012-3-10 16:35:47 | 只看该作者
能否请 grub4dos的作者们加回 4.5b-2011-12-30的一项功能:
此功能就是在设置了timeout、default、password --md5、 及 hiddenmenu --chkpass==0x2c00后
在默认的时间到来前 加载指定的BMP,如果按了hiddenmenu --chkpass指定的其他键则马上启动默认项,在4.5b-2011-12-30以后的版本中,在默认的时间到来前都是黑屏,无法加载BMP。启动密码输入并输入正确才会出现菜单及界面


我个人认为在默认时间到来前,显示BMP有很大的作用的,可以显示一些提示图像或警示标语,在机房管理中用来告诫学生规范操作行为,而不是单纯的黑屏。不知道这是否是个BUG


坛友也有用这个功能的   见 2301 楼

[ 本帖最后由 2010jtys 于 2012-3-10 16:56 编辑 ]
回复

使用道具 举报

2473#
发表于 2012-3-10 19:47:23 | 只看该作者

回复 #2476 2010jtys 的帖子

如果你的菜单没有问题的话。

也许是BUG,也许是故意如此设置的。

我回头再查一下代码,看看是什么情况再考虑解决方案。

[ 本帖最后由 chenall 于 2012-3-10 19:48 编辑 ]
回复

使用道具 举报

2474#
发表于 2012-3-10 20:15:32 | 只看该作者

回复 #2477 chenall 的帖子

我的菜单没有问题,因为用4.5b-2011-12-30版本达到我想要的效果,而新版本在未启动输入密码之前是黑屏的。只有注释掉
#password --md5 $1$193$lZKBZucyNSv0CNDqsvvnC1
#hiddenmenu --chkpass==0x2c00
才能正常显示。
回复

使用道具 举报

2475#
发表于 2012-3-10 23:31:03 | 只看该作者

回复 #2478 2010jtys 的帖子

hiddenmenu --chkpass=0x2200

应该只有一个等号吧
回复

使用道具 举报

2476#
发表于 2012-3-11 00:49:25 | 只看该作者

回复 #2476 2010jtys 的帖子

在初始化菜单中添加以下命令就行了。
call Fn.70 2
回复

使用道具 举报

2477#
发表于 2012-3-11 11:42:51 | 只看该作者

回复 #2480 chenall 的帖子

谢谢C大,添加call Fn.70 2 后确实解决问题了。太感谢了。
回复

使用道具 举报

2478#
发表于 2012-3-11 15:20:16 | 只看该作者

回复 #2475 sratlf 的帖子

这是我在调试条件菜单时发现的,用了我太多时间,所以把经验教训分享出来,共有同样问题的坛友参考。
回复

使用道具 举报

2479#
 楼主| 发表于 2012-3-12 08:50:49 | 只看该作者
我怎么找不到hiddenmenu命令?
命令行下也无效的
------------
哦,可能只在菜单中有效的命令。
希望help中加入此命令。

[ 本帖最后由 zhaohj 于 2012-3-12 08:57 编辑 ]
回复

使用道具 举报

2480#
发表于 2012-3-12 19:05:49 | 只看该作者
help命令可能很久没有更新了,比较新的命令都没有,比如call等。现在S版的教程更新了,情况稍微好了点。以前我都是从readme和log文件查找所需信息的。
回复

使用道具 举报

2481#
发表于 2012-3-13 19:38:57 | 只看该作者
不知可否把对变量名长度的限制放宽一下,比如放宽到16个字符。8个字符的长度太短了,不够用啊!一不小心就超过了。
回复

使用道具 举报

2482#
发表于 2012-3-14 15:08:10 | 只看该作者

回复 #2485 dihuo0 的帖子

基于兼容性考虑,暂时不改动。

实在有必要的话,0.4.6版会考虑。
回复

使用道具 举报

2483#
发表于 2012-3-17 08:22:16 | 只看该作者
最新版测试反馈:

color white/black blue/black
insmod grub4dos.mod   &&  oemslic --asus
default 0

没有成功安装grub4dos.mod ,但在命令行,或者启动菜单中可以执行成功。

color white/black blue/black
insmod grub4dos.mod
default 0
这样又可以安装成功了。
回复

使用道具 举报

2484#
发表于 2012-3-17 09:45:21 | 只看该作者

回复 #2487 jianliulin 的帖子

insmod grub4dos.mod   &&  oemslic --asus

因为目前的insmod是直接判断命令的未尾字符。上面&&旁边有都有两个空格。就变成了

insmod grub4dos.mod<空格>

代码没有考虑这种情况,所以就失败了。

目前只要保证不要有多余的空格就行了。下次再看情况改进。
回复

使用道具 举报

2485#
 楼主| 发表于 2012-3-21 11:23:32 | 只看该作者
今天有幸测试了password全局功能,与我预想的结果不一样。
按p输入密码
----------------
现在的问题是,我不按p,也能进入某个菜单项运行。
是否应该在按p之前,屏蔽“回车键”,密码输入正确后释放。
EDIT:想想也不对,不然密码也无法输入了。不知怎样解决?

---------------
我的预想是密码正确后出现菜单。
回复

使用道具 举报

2486#
发表于 2012-3-21 11:38:36 | 只看该作者

回复 #2489 zhaohj 的帖子

全局密码是屏蔽e c等快捷键的

你可以试试先加载个脚本  验证密码的  密码正确加载菜单  失败的再验证或是什么的

话说我开机的就是  先执行脚本  不同的密码对应不同的功能  密码正确才启动相应的系统
回复

使用道具 举报

2487#
发表于 2012-3-21 16:05:19 | 只看该作者
2012-03-20 版本测试:


title [03] SliTaz GNU/Linux 4.0
find  --set-root /slitaz/bzImage
kernel /SliTaz/bzImage root=/dev/null Vga=773 lang=zh_US.UTF-8 kmap=us autologin
initrd /SliTaz/ROOTFS4.GZ /SliTaz/ROOTFS3.GZ /SliTaz/ROOTFS2.GZ /SliTaz/ROOTFS1.GZ


卡在:

Decompressing Linux ...  这里,而2012-02-27 版本正常。

slitaz 4.0 :

http://mirror.slitaz.org/iso/cooking/slitaz-4.0-RC3.iso
回复

使用道具 举报

2488#
发表于 2012-3-21 17:01:06 | 只看该作者
03-20版发现了一些小问题,暂停下载。
回复

使用道具 举报

2489#
发表于 2012-3-22 08:12:39 | 只看该作者
原帖由 chenall 于 2012-3-21 17:01 发表
03-20版发现了一些小问题,暂停下载。


2010-03-21 版本同样有 #2491 的问题
回复

使用道具 举报

2490#
发表于 2012-3-22 11:45:38 | 只看该作者

回复 #2493 jianliulin 的帖子

感觉比较奇怪,最近的改动应该不会影响才对,我下午再研究一下。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 04:55

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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