无忧启动论坛

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

【不回复也可见】【20120621】ZHS多功能维护盘【简繁体中文菜单】【绝版】

  [复制链接]
1561#
发表于 2012-5-14 01:34:22 | 只看该作者
回复

使用道具 举报

1562#
 楼主| 发表于 2012-5-14 02:28:21 | 只看该作者

回复 #1563 2012bdsjhf 的帖子

麻烦兄弟根据不点老大的建议试试看——因为你有重现问题的环境

及时发现问题并揪出问题所在,这样有利于grub4dos的发展
回复

使用道具 举报

1563#
发表于 2012-5-14 08:30:00 | 只看该作者
不错的东西支持一下子了。
回复

使用道具 举报

1564#
发表于 2012-5-14 09:07:50 | 只看该作者
在我这里也卡很久才进菜单的,还以为死机了,还有那个2011Sunday 的PE,RUN模块报错,别人似乎都没有问题,用的VPC测试,呆会用VM试下
回复

使用道具 举报

1565#
 楼主| 发表于 2012-5-14 09:14:51 | 只看该作者

回复 #1568 527104427 的帖子

按不点老大的提示试试看
如果实际机子,最好看看问题出在哪里了,我自己实际机子可以正常启动

  1. 执行内置菜单

  2. find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst

  3. 时死机。

  4. 需要进一步弄清楚,究竟是那条命令导致死机。

  5. 也就是说,究竟是访问那个设备时死机的?硬盘还是光盘?

  6. 启动时,快速按 c 键,无条件进入命令行。

  7. 在命令行试试用 ls 之类的命令访问光盘、硬盘等设备,看看究竟访问什么盘时死机了。

  8. 贴出 root 以及 geometry 命令的输出结果。
复制代码

[ 本帖最后由 zhs509 于 2012-5-14 09:15 编辑 ]
回复

使用道具 举报

1566#
发表于 2012-5-14 09:16:08 | 只看该作者
VM下也是一样的,在这里卡了很久,大概有20几秒:
Booting find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
=========================================
OK,我试试看
回复

使用道具 举报

1567#
发表于 2012-5-14 09:18:30 | 只看该作者
不错的PE,收下了!!
回复

使用道具 举报

1568#
 楼主| 发表于 2012-5-14 09:18:31 | 只看该作者

回复 #1570 527104427 的帖子

要不,你自己修改下grldr内置菜单,将默认等待时间改为5秒,按不点老大方法试试看。。。

ISO要先解压,修改下内置菜单的等待时间,这样的话可以保证按C无条件进入命令行,
用make_iso\make_iso.bat重新生成ISO哦
回复

使用道具 举报

1569#
发表于 2012-5-14 09:29:18 | 只看该作者
原帖由 zhs509 于 2012-5-14 09:18 发表
要不,你自己修改下grldr内置菜单,将默认等待时间改为5秒,按不点老大方法试试看。。。

ISO要先解压,修改下内置菜单的等待时间,这样的话可以保证按C无条件进入命令行,
用make_iso\make_iso.bat重新生成ISO哦

已用不点老师的方法试了,一切正常,用那些命令也没有卡,不知道还需要哪些信息?

1.png (12.7 KB, 下载次数: 120)

1.png

2.png (6.41 KB, 下载次数: 122)

2.png

3.png (3.48 KB, 下载次数: 124)

3.png
回复

使用道具 举报

1570#
发表于 2012-5-14 09:39:59 | 只看该作者

回复 #1573 527104427 的帖子

不卡就对了,我也觉得 BIOS 不至于如此糟糕吧。

现在等于说,列文件没问题了。还要看看访问文件出不出问题。

你修改一下导致死机的菜单,在每条命令之前添加 pause 命令,输出一些信息,以便你能确定究竟死在哪条命令上。
回复

使用道具 举报

1571#
发表于 2012-5-14 09:45:23 | 只看该作者
好东东要谢谢分享最新版的
回复

使用道具 举报

1572#
发表于 2012-5-14 09:47:26 | 只看该作者

回复 #1570 527104427 的帖子

刚刚注意到,你说的不是死机,而是卡顿了 20 秒。

这就表明,程序代码没有错,或没有大错。错的很可能是访问了不该访问的设备,例如 fd0 之类的不存在的设备。
回复

使用道具 举报

1573#
 楼主| 发表于 2012-5-14 09:49:07 | 只看该作者
看来只能等2012bdsjhf反馈情况了。。。
回复

使用道具 举报

1574#
发表于 2012-5-14 09:57:06 | 只看该作者
今后遇到此类情况,都应该这么处理。

首先可以准确地判断出,grldr 已经成功接管控制。只要这个条件成立,那么就可以在启动时快速按 c 键进入命令行。通常这个是不会失败的,除非键盘 BIOS 也被 BIOS 厂家恶意破坏掉。

此时的 C 键进入命令行,与任何菜单参数设置无关。这个动作在解析菜单之前就已经解析了,所以会跳过任何菜单(当然也跳过内置菜单),强制进入命令行。

进入命令行之后,就可以运行很多命令了。检查哪条命令不能正常执行,这就把毛病找出来了。
回复

使用道具 举报

1575#
发表于 2012-5-14 10:02:21 | 只看该作者
原帖由 不点 于 2012-5-14 09:57 发表
今后遇到此类情况,都应该这么处理。

首先可以准确地判断出,grldr 已经成功接管控制。只要这个条件成立,那么就可以在启动时快速按 c 键进入命令行。通常这个是不会失败的,除非键盘 BIOS 也被 BIOS 厂家恶 ...

卡在这了:grldr内置菜单的一句命令
configfile /boot/grub/menu.lst
回复

使用道具 举报

1576#
发表于 2012-5-14 10:10:29 | 只看该作者
好的,你在这条命令之前添加一条 root 命令,不带参数,确定一下当前的 root 设备是不是光盘。

或者你也可以在启动时按 c 键快速进入命令行,然后执行 configfile /boot/grub/menu.lst 看看会卡多长时间。

这就等于说,访问光盘文件时速度变慢。

不应该的。

这里面应该有什么秘密,有待破解。请诸位继续。

试验一下,访问光盘上别的文件,是否一样变慢。比如用 cat 命令访问光盘文件,看卡不卡?
回复

使用道具 举报

1577#
发表于 2012-5-14 10:20:41 | 只看该作者
刚才试了一下,把楼主的MENU.LST改造了一下,把里面的iftitle命令全给去掉,发现一下子就进菜单了
回复

使用道具 举报

1578#
发表于 2012-5-14 10:26:52 | 只看该作者
好的,你已经证明是菜单的问题了。

那么接下来再深入研究究竟菜单中的 iftitle 导致了什么问题。

猜测一下,iftitle 命令都执行了什么操作?是不是伴随着 find 操作,导致访问了不存在的设备例如 fd0 ?

访问不存在的设备,不仅速度可能变慢,而且可能会直接死机。
回复

使用道具 举报

1579#
发表于 2012-5-14 10:31:16 | 只看该作者
原帖由 不点 于 2012-5-14 10:26 发表
好的,你已经证明是菜单的问题了。

那么接下来再深入研究究竟菜单中的 iftitle 导致了什么问题。

猜测一下,iftitle 命令都执行了什么操作?是不是伴随着 find 操作,导致访问了不存在的设备例如 fd0 ?
...

楼主的菜单有大量find --set-root命令,如:
iftitle [find --set-root /BOOT/0PE.BIN]

iftitle [find --set-root /BOOT/IMGS/WIN7PE.ISO || find --set-root /BOOT/WIN7PE.ISO || find --set-root /WIN7PE.ISO || find --set-root /BOOT/WIN7PE.BIN || find --set-root /BOOT/IMGS/WIN7PE.BIN || find --set-root /WIN7PE.BIN]

我呆会再试试其它的
==================================================
启动时按C进入命令行,执行ROOT命令,再试着访问光盘上的文件,一切正常

[ 本帖最后由 527104427 于 2012-5-14 10:37 编辑 ]

1.png (6.05 KB, 下载次数: 125)

1.png

2.png (2.96 KB, 下载次数: 124)

2.png
回复

使用道具 举报

1580#
发表于 2012-5-14 10:43:47 | 只看该作者
find --set-root ....

是一条错误的命令!

错就错在,它可能去找不存在的设备,例如软盘 fd0。

如果不需要访问软盘,一定要加上 --ignore-floppies 参数。

补充:有些 BIOS 在 BIOS 数据区的 0x410 中指示有软盘存在,但实际上却没有软盘存在。此时用 find 命令就可能造成死机或者假死。

带有 --ignore-floppies 时可以安全地处理这种情况。

想想看,为何 grub4dos 自己的内置菜单中凡是 find 命令一定要加上 --ignore-floppies 参数呢?

[ 本帖最后由 不点 于 2012-5-14 10:49 编辑 ]
回复

使用道具 举报

1581#
发表于 2012-5-14 10:48:02 | 只看该作者
建议楼主改下菜单,或者改成这样?
iftitle [if exist ()/BOOT/0PE.BIN]

iftitle [if exist ()/BOOT/IMGS/WIN7PE.ISO || if exist ()/BOOT/WIN7PE.ISO || if exist ()/WIN7PE.ISO || if exist ()/BOOT/WIN7PE.BIN || if exist ()/BOOT/IMGS/WIN7PE.BIN || if exist ()/WIN7PE.BIN]

这样就不会去搜索其它设备的东西了,只在当前设备里找
回复

使用道具 举报

1582#
发表于 2012-5-14 10:51:06 | 只看该作者
另外,这个命令有点问题:
if exist /BOOT/GRUB/SLIC
MENU.LST是在/BOOT/GRUB/目录下的,如果你前面已经find --set-root /boot/grub/menu.lst,那么你上面的命令就变成if exist ()/boot/grub/boot/grub/slic
应该加个括号,比较安全:
if exist ()/BOOT/GRUB/SLIC
回复

使用道具 举报

1583#
发表于 2012-5-14 11:03:37 | 只看该作者

回复 #1586 527104427 的帖子

这个你理解错了。

find --set-root /boot/grub/menu.lst 设置卷的根目录为当前目录。它不是设置 /boot/grub/ 为当前目录。作为比较,如下的命令

  1. find       --set-root=/boot/grub/       /boot/grub/menu.lst
复制代码


才设置卷的 /boot/grub/ 目录为当前目录。
回复

使用道具 举报

1584#
发表于 2012-5-14 11:11:46 | 只看该作者
原帖由 不点 于 2012-5-14 11:03 发表
这个你理解错了。

find --set-root /boot/grub/menu.lst 设置卷的根目录为当前目录。它不是设置 /boot/grub/ 为当前目录。作为比较,如下的命令

find       --set-root=/boot/grub/       /boot/grub/men ...

谢不点老师指正
回复

使用道具 举报

1585#
发表于 2012-5-14 11:12:43 | 只看该作者

关于GRUB启动反馈

1,换了一个U盘(金士顿4G),重新量产【20120511】,和昨天的问题一样

2,然后在台式机中用此U盘启动,按C,出现grub>后,输入find后,屏幕显示如下:
(cd)
(hd0,0)
(hd0,1)
(hd0,2)
光标停在这里就卡死了
3,用grub文件替换后,重新量产做的U盘,可以正常显示如下,
(cd)
(hd0,0)
(hd0,1)
(hd0,2)
(fd0,1)
(fd0,2)
(fd0,3)
grub>
回复

使用道具 举报

1586#
 楼主| 发表于 2012-5-14 11:17:46 | 只看该作者

回复 #1582 不点 的帖子

老大,要不我将访问的设备进行下限制,如 --devices=chup可以吗

另外和1589楼的反馈比较,这个问题也有点奇怪。
当然可能是我的菜单命令刚好在这个版本爆发了问题

[ 本帖最后由 zhs509 于 2012-5-14 11:19 编辑 ]
回复

使用道具 举报

1587#
发表于 2012-5-14 11:18:12 | 只看该作者

回复 #1589 2012bdsjhf 的帖子

你说的是,新版访问软盘死机,旧版可以访问软盘。

请用新版做试验。

试试 geometry (fd0),贴出输出结果。

也可以贴出旧版的结果,以便对比。
回复

使用道具 举报

1588#
 楼主| 发表于 2012-5-14 11:21:55 | 只看该作者

回复 #1591 不点 的帖子

谢谢老大提醒,我下次会注意添加忽略搜索软盘,避免卡死
回复

使用道具 举报

1589#
发表于 2012-5-14 11:27:08 | 只看该作者

回复 #1590 zhs509 的帖子

find 命令不仅应该排除 fd0 ,也应该排除 cd 设备。因为以前有报告,访问 cd 时死机。

当然,你这里是从 cd 启动的,所以,访问 cd 没问题。但本来 cd 已经是 root 设备,无需 find。

所以,find 命令应该总是排除软盘和 cd 设备。保证具有最大的安全系数。

2012bdsjhf 反馈的是另外一个性质的问题,这里面可能有新的秘密,有待挖掘。一定得找到病根,请继续。
回复

使用道具 举报

1590#
发表于 2012-5-14 11:31:16 | 只看该作者

回复1591

新旧版提示一样:

grub>geometry(fd0)
Warning!No such command:geometry(fd0)
grub>

我输错了吗?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-29 17:38

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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