发新话题
打印

[注意]游客(Public用户)提问及提交bug专用帖

回复前面几楼的回答

1219版问题依旧


回复66楼石头的回复,
照你的编辑在命令行打入,没有任何提示,直接返回到这个TITLE的菜单项内容,至于你说的“当然,你可以只检查文件头部和尾部的扇区来判断,cat命令有参数用来指定显示的起始位置和长度。”这句,因为我不懂GRUB的CAT等命令,所以没法做测试,我只是一个可以说连GRUB入门级都算不上的GRUB使用者,我只是根据网上的MENU。LST来使用GRUB,以致于我看了你们的回复还真不怎么敢问问题了,因为你们所要求的我可能还没有那个能力做到先,当然只要我会我是一定会做到问问题按你们的要求来提问,我也懂回答一个不懂这不懂那的人所问的问题要一定的“定力”。

还有非常感谢石头发来注册码。

TOP

回复 74 楼 jiangzw:

第一个问题是菜单新特性,不是 bug。当菜单显示后,如果始终只按某一个按键,而不按其他按键,那么菜单处理系统会认为你希望这个按键(不管它是什么按键)当作箭头键来用,而且一旦你停止按键,那么最后选中的菜单项将在 5 秒后自动启动。这个特性叫做“单键选择”功能,适合于某些超级简化设计的键盘(如手机)。

第二个问题目前不能解决,请自行想办法解决。
美好的家园,靠我们自己去建设。一份努力,一份收获。

TOP

回复 76 楼金手指:

现在只好用 cat --hex (0xff)+100000 来查看你的内存中 ISO 的扇区是否完整了。你也可以与 cat --hex /your_ISO_on_disk 对比,如果发现不一样,那就差不多能找到问题的根源了。

如果不出所料,最后会发现,正如前面所说,你的 USB-ZIP 的 BIOS 是有某种缺陷的,可能无法克服。
美好的家园,靠我们自己去建设。一份努力,一份收获。

TOP

本人在做此http://bbs.mydigit.cn/read.php?tid=57333的新版V7
V6中因为是SYSLINUX引导,其中IMG使用的是MEMDISK,这中MEMDISK调用IMG时有在某些配置上出现IMG的CHS参数不一而不能启动,所以在V7中要增加GRUB启动菜单,这个GRUB启动菜单上次发帖http://bbs.znpc.net/viewthread.php?tid=5367&extra=page%3D2已经暂时得到解决。在菜单项中还新增了一个PSEUDO的0PE启动,些PE的GRUB菜单项TITLE为
title Pseudo PE(0PE128.ISO)
find --set-root /0PE128.ISO
map --mem /0PE128.ISO (0xff)
map --hook
chainloader (0xff)
当这个ISO在USB-HDD格式区时,可以启动正常,而放到USB-ZIP区时,就出现了我上面所说的问题,我不明白GRUB中的MAP调用ISO是怎么运作的,所以只能向你们这些老手一问再问(因为GRUB的FIND可以找到ZIP区的标志文件,而FIND能找到为何MAP会不成功,这一点本人很不明白)。

TOP

回复 78# 的帖子

不点,亏你想得出。
cat --hex (0xff)+100000 。。我连续点了一百多页,内容还没显示完,最后放弃按Q退出了。

cat --hex /your_ISO_on_disk
这一句不知格式有没有错误??ISO后面的准确输入应该是什么?是_on_disk??  正常应该有什么样的内容!!
我没有真正的注意,但内容好像与cat --hex (0xff)+100000一样,这次没一走按下去了,直接按Q了

TOP

关于金手指的问题,最大的可能,前面已经说了,是 BIOS 无法克服的障碍,这个我们屡有遇到。暂时这么定性了,除非另有其他不同的证据出现。
美好的家园,靠我们自己去建设。一份努力,一份收获。

TOP

回复 76# 金手指的帖子

grub4dos的命令行方式基本上就是将菜单项中的命令原样照搬过来,只不过不要title那一行。你可以把grub4dos的命令行当作dos方式来进行,只不过用的命令不同罢了。在菜单中按c键就可以进入命令行方式,再按esc就回到菜单了。当然,要用好命令行,还是需要有些基础概念,至少要搞清楚每个命令是干什么的。

例如要想用cat显示仿真到内存中的iso文件的内容,你需要先执行仿真命令:
map --mem /your.iso (hd32)
map --hook

在命令行下手工输入上面的命令,回车执行。
然后在命令行下用cat --hex (hd32)+1来显示仿真的ISO内容。至于如何与真实的ISO对比,你可以用:
cat --hex /your.iso来显示你的iso文件中的内容,不过,这样比不太科学,因为运行环境相同,你可以在windows下用UltraEdit打开那个iso来看相应的内容。由于iso文件很大,因此你可以只用cat命令看文件头和文件尾,能比较出相同或者不同就行了。

cat命令还有两个有用的参数,一个是--skip=,以来指定要跳过的长度,另一个是--length=,用来指定要显示的字节数长度,两个长度都用字节为单位,可以用0x形式的16进制。通过这两个参数的调整,你可以用来指定显示文件的头或者尾(当然,需要一些计算)。

例如:cat --hex --length=2048 (hd32)+1 #用来显示仿真iso的前2048字节(也就是一个扇区)。或者cat --hex --skip=2048 --length=2408 (hd32)+1用来显示仿真iso的第二个扇区。

剩下的你就自由发挥吧。
夫大块载我以形,劳我以生,佚我以老,息我以死。故善吾生者,乃所以善吾死也。

在本论坛发帖前,请认真阅读下面的链接及建议:
1、论坛基本守则
2、下面是论坛历史上真实发生的对论坛规则如何理解和应用的讨论帖子,对新手很有参考价值(请抱平常心浏览):
http://bbs.znpc.net/viewthread.php?tid=4505
http://bbs.znpc.net/viewthread.php?tid=5586
3、提问前先潜水并搜索,避免发月经帖;尊重别人就是尊重自己。
4、Public用户回帖时请注明自己的ID和邮箱以供识别,这不意味着你一定能获得邀请码,但遵守规矩总是有利的。
5、基本上我们认为你不需要注册本论坛ID,因此不要单独发帖索要(谁需要ID,由我们决定),你最好只关注自己的问题和论坛的规矩。

TOP

回复 77# 的帖子

嗯,测试了一下,果然如此!

不过如果始终按上箭头键或者始终按下箭头箭,需要30下后才出现“高亮选项将在几秒后自动运行”的提示,而如果按其他键的话,只需要8下就再次出现这个提示了。

不过这个功能不是重点,可有可无,各位还是讨论其他重要的问题吧,这个问题只是遇到了就顺便提出而已。

jiangzw

TOP

回复 80# 金手指的帖子

头脑要灵活一些,your_iso_on_disk指的是你在磁盘上的iso文件名,例如,这里是指你zip盘上的0pe128.iso文件,当然,用cat命令是检查不出能否正常读写iso文件的,因为map命令也是用的同样的读iso命令,如果map有问题,cat同样也有问题。

关于不点所说的BIOS的bug,是指由于BIOS存在bug,在访问你的zip盘时,有可能某些区域它访问不到(受限于BIOS识别的Zip盘的CHS参数),想象一下,假设你的iso文件没有被完整的读到内存中,你怎么可能启动一个残缺不全的iso呢?而在hdd方式下没有问题,则说明hdd方式下bios不存在这样的bug。所以说,这完全取决于BIOS的缺陷,你多看一些老帖子(尤其是有关U盘启动的),就会认识到这个问题。不过现在就是给出你一个检查是否是这个问题的手段。
夫大块载我以形,劳我以生,佚我以老,息我以死。故善吾生者,乃所以善吾死也。

在本论坛发帖前,请认真阅读下面的链接及建议:
1、论坛基本守则
2、下面是论坛历史上真实发生的对论坛规则如何理解和应用的讨论帖子,对新手很有参考价值(请抱平常心浏览):
http://bbs.znpc.net/viewthread.php?tid=4505
http://bbs.znpc.net/viewthread.php?tid=5586
3、提问前先潜水并搜索,避免发月经帖;尊重别人就是尊重自己。
4、Public用户回帖时请注明自己的ID和邮箱以供识别,这不意味着你一定能获得邀请码,但遵守规矩总是有利的。
5、基本上我们认为你不需要注册本论坛ID,因此不要单独发帖索要(谁需要ID,由我们决定),你最好只关注自己的问题和论坛的规矩。

TOP

回复 83# 的帖子

看看这个图是不是比较符合你的想法,附件是MENU,呵呵

附件

ylph.zip (740 Bytes)

2008-12-23 17:29, 下载次数: 127

TOP

回复 85# 的帖子

不复杂的话,请直接贴menu.lst的内容吧,下载附件多麻烦。

而且,现在空菜单项不需要特殊处理了,只要在菜单项后面跟上无用的命令即可,我印象中象clear、pause、help之类的均可。不能是下面的命令之一:
引用:
        boot
        bootp
        chainloader
        configfile
        embed
        commandline
        halt
        install
        kernel
        pxe
        quit
        reboot
        setup
示例:
复制内容到剪贴板
代码:
        title This is an UNBOOTABLE entry(so this line is also a comment)
                pause --wait=0 This title is a comment. Nothing to do.
                pause --wait=0 You can use non-boot-sensitive commands here
                pause --wait=0 of any kind and as many as you would like.
                help
                help root
                help chainloader
                help parttype
                clear
        title ------------------------------------------------------------
                pause --wait=0 This title is a delimitor. Nothing to do.
                pause --wait=0 You can use non-boot-sensitive commands here
                pause --wait=0 of any kind and as many as you would like.
                clear
                help
                help boot
        title ============================================================
                pause --wait=0 This title is a delimitor. Nothing to do.
                pause --wait=0 You can use non-boot-sensitive commands here
                pause --wait=0 of any kind and as many as you would like.
                help
                clear
                help pause
        title ************************************************************
                pause --wait=0 This title is a delimitor. Nothing to do.
                pause --wait=0 You can use non-boot-sensitive commands here
                pause --wait=0 of any kind and as many as you would like.
                help kernel
                help
                clear
       title
               clear
详细请参考grub4dos的readme。
夫大块载我以形,劳我以生,佚我以老,息我以死。故善吾生者,乃所以善吾死也。

在本论坛发帖前,请认真阅读下面的链接及建议:
1、论坛基本守则
2、下面是论坛历史上真实发生的对论坛规则如何理解和应用的讨论帖子,对新手很有参考价值(请抱平常心浏览):
http://bbs.znpc.net/viewthread.php?tid=4505
http://bbs.znpc.net/viewthread.php?tid=5586
3、提问前先潜水并搜索,避免发月经帖;尊重别人就是尊重自己。
4、Public用户回帖时请注明自己的ID和邮箱以供识别,这不意味着你一定能获得邀请码,但遵守规矩总是有利的。
5、基本上我们认为你不需要注册本论坛ID,因此不要单独发帖索要(谁需要ID,由我们决定),你最好只关注自己的问题和论坛的规矩。

TOP

刚刚发现 grub 还有一个 cmp 命令,可以比较两个文件的大小

用法:
复制内容到剪贴板
代码:
cmp    FILE1    FILE2
因此,金手指可以这样:

[code]
find --set-root /0PE128.ISO
map --mem /0PE128.ISO (0xff)
map --hook
cmp    /0PE128.ISO    (0xff)+XXXXXX
[code]
此处的 XXXXXX 代表 ISO 文件所占据的扇区总数。但是 (0xff) 和 (hd32) 都是大扇区设备(每个扇区是 2048 字节),所以,需要注意这一点。如果不喜欢 2048 大扇区,可以用 (rd) 设备。(rd) 是采用 512 字节的小扇区,如下:

[code]
find --set-root /0PE128.ISO
map --mem /0PE128.ISO (rd)
cmp    /0PE128.ISO    (rd)+XXXXXX
[code]

把 cmp 比较的结果贴出来。
美好的家园,靠我们自己去建设。一份努力,一份收获。

TOP

回复 87# 不点的帖子

这样比较,肯定是没用的,比较不出不同。

因为我前面说过了,cat和map命令用的是同样的bios,能读取的内容是相同的,map 不行的,cat也不行。只能是将cat的结果与Ultraedit或者winhex打开文件的结果来进行比较。
夫大块载我以形,劳我以生,佚我以老,息我以死。故善吾生者,乃所以善吾死也。

在本论坛发帖前,请认真阅读下面的链接及建议:
1、论坛基本守则
2、下面是论坛历史上真实发生的对论坛规则如何理解和应用的讨论帖子,对新手很有参考价值(请抱平常心浏览):
http://bbs.znpc.net/viewthread.php?tid=4505
http://bbs.znpc.net/viewthread.php?tid=5586
3、提问前先潜水并搜索,避免发月经帖;尊重别人就是尊重自己。
4、Public用户回帖时请注明自己的ID和邮箱以供识别,这不意味着你一定能获得邀请码,但遵守规矩总是有利的。
5、基本上我们认为你不需要注册本论坛ID,因此不要单独发帖索要(谁需要ID,由我们决定),你最好只关注自己的问题和论坛的规矩。

TOP

是啊,我也糊涂了。不过先比较一下,用  cmp 练练手,也是不错的,甚至说不定能抓出一个什么大的 bug 出来。
美好的家园,靠我们自己去建设。一份努力,一份收获。

TOP

bootlace.com 外壳更新

1.0.2  2008-12-24
    + 备份/恢复 MBR 可以指定起始扇区、扇区数、文件偏移扇区
    + 备份命令增加了尾部清零的参数项,可用于卸载grub4dos后还原一个干净的MBR
    * 备份64扇区后可以支持bootlace的BPB复制了,但默认的命令行不复制BPB
    * 修复了参数列表bootlace.par在8字符以上的目录下可能不会自动生成的BUG

默认的 BPB 命令行跟 bootlace.com 的默认值是相反的,一个原因是手工编辑命令行时删除比输入来得容易,第二个原因是复制BPB有时会导致U盘识别问题,只有明确知道什么是BPB及它有何作用、影响时,可以删除 --mbr-no-bpb 参数。

因为备份MBR增加了尾部清零参数项,为防止意外操作覆盖MBR后面的第一分区DRB,默认命令行中,备份是64扇区(为支持BPB多了一个扇区),写入默认是63扇区。

1.0.2 下载: SOBootlace.zip (126.22 KB)
VC 源码: ShellOfBootlace_102_src_of_vc6.zip (111.43 KB)

这个工具不是为高手准备的,因为高手大都能比较熟练的驾驭命令行的各种辅助软件,但这个工具仍可以减少工作量和记忆参数。严格的说,它也不完全是为新手准备的,因为目前 bootlace 的命令行基本上没什么智能性,需要用户对 bootlace 有相当的了解。

现在基本上可满足安装grub4dos的各种需求了(还留了个修改热键名显示的问题),以后除发现BUG基本上不会再在这个工具上花时间了。直到 grub4dos 发布了正式版,可能会考虑增加 bootlace.com 命令行的智能性,以尽可能减少手动编辑命令行的需要。

醉书生

TOP

发新话题