无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 7028|回复: 18

灵异事件:G4D不查找被识别为软盘的启动U盘菜单了

[复制链接]
发表于 2010-8-26 14:29:58 | 显示全部楼层 |阅读模式
今天用FBINSTTOOL 1.601将一个128MB的SD卡进行格式化,结果在我的上网本里不能启动。于是再格式化成普通盘,并用HP U盘工具格式化为DOS启动盘,然后用BOOTICE 0.78将GRLDR装到MBR和PBR去。结果用它启动之后,GRLDR(无论是2010-8-9还是2010-1-8版)并不能搜索启动U盘(识别为软盘)上的菜单文件,而只能找到硬盘上的。而此前我的这个SD卡也是HP U盘格式化工具做成DOS启动盘并用BOOTICE改为GRLDR,可以从被识别为软盘的U盘查找到菜单。

我的U盘菜单文件没问题,GRLDR内置菜单修改为 configfile /GRUB/MENU-UFD.LST 来启动U盘上的菜单,并不能找到,而去找硬盘上的;但是在此前加上 root (fd0) 之后再加这句菜单加载语句,则正常——由此看来,似乎是GRLDR启动时,并没有将被识别为软盘的启动U盘设置为根设备。至于我以前正常的GRLDR版本,应该是2010-3以前到2010-12后的版本。

[ 本帖最后由 xianglang 于 2010-8-26 14:36 编辑 ]
 楼主| 发表于 2010-8-26 14:30:59 | 显示全部楼层
说明:在选择BOOTICE等做GRLDR启动时,并没有勾选忽略查找软盘的选项。
回复

使用道具 举报

发表于 2010-8-26 16:41:54 | 显示全部楼层
你怎么那么肯定grldr是从U盘上加载的?有可能压根就没有从你的U盘上加载grldr。
回复

使用道具 举报

 楼主| 发表于 2010-8-26 19:40:32 | 显示全部楼层
原帖由 Climbing 于 2010-8-26 16:41 发表
你怎么那么肯定grldr是从U盘上加载的?有可能压根就没有从你的U盘上加载grldr。


我的SD卡U盘加载GRLDR设置是0秒等待,而硬盘上的是优先启动原MBR(BOOTMGR)的,等待时间是6秒,而SD卡U盘启动时,读卡器先闪一下,然后出现搜索菜单项界面,此其一;还有将SD卡U盘的GRLDR内置菜单前面加入 root (fd0)、 configfile /GRUB/MENU-UFD.LST 两句后,可以从SD卡U盘读取指定的菜单,此其二——由上述两点,可以判断GRLDR确实是从SD卡U盘启动,而不是从硬盘上读取GRLDR来启动的。我现在只试过2010-1-8及2010-8-9的版本,待我有空再试试去年的版本,看看有没有同样的情况。
回复

使用道具 举报

发表于 2010-8-26 22:50:46 | 显示全部楼层
将SD卡U盘上的grldr内置菜单设置一个N秒延时(例如设置成30秒),这样,如果是从U盘启动的grldr,那么应该首先进入这个延时30秒的内置菜单,然后进入grub4dos的命令行模式,一个root命令就可以检测出当前的根设备是什么,然后再配合ls /或“root (TAB”之类的命令就可以检测出到底有一些什么问题发生。

不排除新版的grub4dos含有bug,最近在增加新功能,代码改动可能会比较大。
回复

使用道具 举报

 楼主| 发表于 2010-8-27 09:50:04 | 显示全部楼层
我SD卡和硬盘上的GRLDR都修改过内置菜单的,在configfile后面都有指定诸如 /GRUB/MENU-UFD.LST 之类的菜单文件名,因此是不是从SD卡引导的GRLDR,其实是很容易分别出来的。我记得之前可以搜索的G4D是0.45版本的,现在换回2009-12-23的也不行,因此我现在有点怀疑可能也与FBINSTTOOL 1.601有关。我空再试下加长启动等待时间,进命令行看下。
回复

使用道具 举报

发表于 2010-8-27 12:26:43 | 显示全部楼层
是不是fbinst升级后,grub4dos中对应的相关代码有问题?这部分代码是由chenall补上去的,可能有bug或者不兼容的地方。现在的fbinst基本上相当于一个burg的专用版。
回复

使用道具 举报

发表于 2010-8-27 12:44:58 | 显示全部楼层
因为 fbinst 是 bean 开发的,我没有研究过。我也是最近一个月之内才开始使用 fbinst,主要是用 bootice 工具安装了新的 0pe。对 fbinst 的代码,从来没有看过。

我只谈谈 grub4dos 的 grldr.mbr  的处理方式。

grldr 的引导扇区并不假定 BIOS 所传递的启动盘号 DL 是否正确。因为以前就知道,BIOS 会传递不正确的 DL。grldr 的引导扇区首先会用 DL=80h 来处理,如果发现不对头,就再用 DL=0 来处理。这样从逻辑上讲是最安全的。我不知道 fbinst 对此是如何处理的。已经有很多人报告 fbinst 出了问题,我估计,问题不大,它可能就是如上所说的一个小小的问题,没能找到真正的启动盘号 DL,从而没能把正确的启动盘号,传递给 grldr。
回复

使用道具 举报

发表于 2010-8-27 13:52:33 | 显示全部楼层
首先,我不清楚,你的GRLDR文件到底放在哪了???
用FBINST一般是放在UD里面的吧,如果是这样的话,那就是正常情况.

因为
configfile /GRUB/MENU-UFD.LST 加载的是当前默认root下的文件.
找不到U盘上的文件,是正常的.
你需要做的只是把MENU.LST放到UD里面去.
回复

使用道具 举报

发表于 2010-8-27 14:17:24 | 显示全部楼层
嗯,也许 chenall 说到了病根。

如果当前默认的root设备是 ud,那么,configfile /GRUB/MENU-UFD.LST 就只会在 ud 上找 /GRUB/MENU-UFD.LST 这个文件。

如果此时你用 root (fd0) 更改当前的root设备,也即,把root设备从 ud 改为 fd0,那么你的可见分区中的 menu 文件当然可以找到了。

[ 本帖最后由 不点 于 2010-8-27 14:19 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2010-8-27 14:33:18 | 显示全部楼层
汗……可能是我说得不明白。我出现这种状况,是用FBINSTTOOL做了UD之后,不能在我的上网本是进行启动;然后我用FBINSTTOOL恢复成普通U盘,再用HP U盘格式化工具做成普通启动U盘,然后再用BOOTICE和GrubInst GUI来安装GRLDR到MBR和分区去的。GRLDR是放在根目录的,而相应菜单也放在同一个盘的根目录的GRUB下面。以前这个SD也做过同样的辗转操作(FBINSTTOOL是1.509的版本),则一切正常。但是昨天做同样的操作后,就出问题了:我怀疑FBINSTTOOL 1.601在恢复成普通盘的时候,在某个方面出了问题。我将这个SD卡的GRLDR内因菜单第一行加上commandline之后,用它启动就直接进入了命令行方式,因此可以完全肯定加载的是这个SD卡上的GRLDR。在命令行方式下,我用 root ( 补全时,显示有 fd0 hd0 rd,用 ls / 列根目录文件,返回 Error 17: 不能MOUNT列表分区的错误信息——换句话说,G4D不能将它启动的被识别为软驱的SD卡盘设为成根,而我现在在内置菜单中加 root (fd0)来解决。
回复

使用道具 举报

发表于 2010-8-27 14:36:11 | 显示全部楼层
但是,有很多人反馈的可以列出设备上的文件,但却看不到设备的情况也是这两天发现的。这个确实就比较奇怪了,详见zxw的帖子。
回复

使用道具 举报

发表于 2010-8-27 14:39:25 | 显示全部楼层
原帖由 xianglang 于 2010-8-27 14:33 发表
汗……可能是我说得不明白。我出现这种状况,是用FBINSTTOOL做了UD之后,不能在我的上网本是进行启动;然后我用FBINSTTOOL恢复成普通U盘,再用HP U盘格式化工具做成普通启动U盘,然后再用BOOTICE和GrubInst GUI ...


进入command之后直接root显示的是什么?
回复

使用道具 举报

发表于 2010-8-27 14:50:52 | 显示全部楼层
fbinst启动ud里的grldr后,默认设备可能是(fd0,0)(即“可见区”),我前几天才遇到这种机器,一台老联想台式机。但此前许多网友应该遇到了。
find是找不到(fd0,0)上的文件的,即使当前默认设备为(fd0,0)。而ls、cat、map可以。

0PEv1.2(2010.08.26):http://bbs.wuyou.net/attachment.php?aid=94392
试图对此做了处理,使find可见区生效。但担心有的机器只要一访问(fd0,0),例如ls (fd0,0)/0PE/0PE.GZ就立马死机,或者很久才响应。这需要实际测试。
回复

使用道具 举报

 楼主| 发表于 2010-8-27 14:56:24 | 显示全部楼层
要命令行方式下直接ROOT,仍然是ERROR 17的出错信息。再次强调一下,我这个SD卡已经恢复成普通U盘格式了,而不是UD格。另外,如果需要相关这个SD卡的头部信息的话,我可以用WINHEX存成文件传上来,不过我不知道要截到哪个位置(一向见到乱码就头痛,呵呵)。
回复

使用道具 举报

发表于 2010-8-27 15:18:18 | 显示全部楼层
pseudo,

find 命令确实还不支持软盘分区。不过,将来会支持的。将来把 wee 和 grub4dos 的函数接口整理完之后,就会让 find 支持软盘分区的。
回复

使用道具 举报

发表于 2010-8-27 15:24:16 | 显示全部楼层

回复 #16 不点 的帖子

好啊,期待。
我做了点处理,现在应该可以把它绕过了,如果不死机的话,所以此事慢慢来不急。
回复

使用道具 举报

发表于 2010-8-27 15:38:08 | 显示全部楼层
xianglang

你也可以重新格式化一下试试。格式化完了之后,再用 DOS 的 FDISK 或者 Format 命令再做一下。毕竟微软的才是正统的标准。看看这样下来,还有什么不寻常的事情发生。
回复

使用道具 举报

 楼主| 发表于 2010-8-27 16:13:02 | 显示全部楼层
实在是太诡异了!分别换用FBINSTTOOL 1.509、DISKGEN、WIN7、WINXP对这个SD进行格式化,再用BOOTICE 0.78做成GRLDR启动,问题依旧!犯晕了,难道是不是这个SD卡有问题了?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-28 20:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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