无忧启动论坛

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

这是否grub4dos在磁盘处理方面的bug?(已确认是bios的问题)

[复制链接]
发表于 2010-8-26 00:10:05 | 显示全部楼层 |阅读模式
IMG0325A.jpg
测试用grldr为2010-08-12版本。
U盘启动被识别为(hd0),本地硬盘从图中反映出被正确探测出为(hd1)。
但本地硬盘(hd1)在root(、ls (hd-1,0)等用法中如图却无故“消失”了?

这是我的一台老本本,这个问题限我发现的目前仅此一例。

另拍照拍漏了。
输入root ( ,按tab 显示信息:hd0,rd

[ 本帖最后由 zxw 于 2010-8-29 21:04 编辑 ]
发表于 2010-8-26 09:06:40 | 显示全部楼层
从反馈情况看,应该是grub4dos本身代码有问题。

没有反馈grub4dos所用版本啊。
回复

使用道具 举报

发表于 2010-8-26 10:26:03 | 显示全部楼层
是的。楼主应当把你所使用的grub4dos的版本贴出来。
回复

使用道具 举报

 楼主| 发表于 2010-8-26 21:36:47 | 显示全部楼层
哦,不好意思,grldr是2010-08-12的版本。以前的版本也有这个问题。
不过,这应该只是个例,还没遇到其他电脑有这个问题。

[ 本帖最后由 zxw 于 2010-8-26 21:37 编辑 ]
回复

使用道具 举报

发表于 2010-8-26 22:23:50 | 显示全部楼层
plop boot manager加载usb驱动后表现出同样的问题
回复

使用道具 举报

发表于 2010-8-27 12:28:59 | 显示全部楼层
怀疑主板 BIOS 有 bug。

请用 map --status 命令,贴出结果。不要执行任何磁盘仿真,直接用 map --status 命令。它会显示 BIOS 所设定的软盘和硬盘的个数。怀疑 BIOS 把这弄错了。

如果确实如此,那么补救的办法是

map --floppies=...
map --harddrives=...

用这两条命令加以更正。
回复

使用道具 举报

发表于 2010-8-27 13:07:00 | 显示全部楼层
我在时空论坛,反应了加载plop的usb驱动后也有此问题。geometry root等命令能识别hd1,但tab键不行。dos下可以正常识别hd0和hd1

下面有map --status信息。
1.png
回复

使用道具 举报

发表于 2010-8-27 14:05:08 | 显示全部楼层
chenall 刚才在时空论坛上说,plop 没能更新 BIOS 数据区中的硬盘个数字节。因此,grub 不处理多余的硬盘。那个硬盘就成了不能搜索到的了。

手动用 (hdX) 是可以访问硬盘的。但是,find 以及 Tab 补全,都属于自动搜索,是不敢随便访问 BIOS 数据区中未指定的硬盘的。比如说,BIOS 数据区中硬盘个数是 1 个,如果访问 (hd1),即第二个硬盘,则有可能死机。那是几十年前存在的 bug,如今仍然存在。

你可以试试用 map --harddrives 更改为正确的硬盘个数,看看问题是否解决。
回复

使用道具 举报

发表于 2010-8-27 14:33:06 | 显示全部楼层
原帖由 不点 于 2010-8-27 14:05 发表
chenall 刚才在时空论坛上说,plop 没能更新 BIOS 数据区中的硬盘个数字节。因此,grub 不处理多余的硬盘。那个硬盘就成了不能搜索到的了。

手动用 (hdX) 是可以访问硬盘的。但是,find 以及 Tab 补全,都属 ...

plop的问题,我向原作者反映过,没回音。
后来我在相关帖子中给过解决方案,加载前加一条命令map (hd0) (hd)即可。
回复

使用道具 举报

发表于 2010-8-27 14:42:41 | 显示全部楼层
原帖由 fujianabc 于 2010-8-27 14:33 发表

plop的问题,我向原作者反映过,没回音。
后来我在相关帖子中给过解决方案,加载前加一条命令map (hd0) (hd)即可。


在启动plpbt之前把当前硬盘数加1应该就可以,但是也有缺点,因为U盘不一定会被识别为(hd0)?

把硬盘数加1可以直接修改内存0x475处的值.
calc *0x475++
回复

使用道具 举报

发表于 2010-8-27 14:44:00 | 显示全部楼层
我的意思是说,代替 map (hd0) (hd),你可以试试用 map --harddrives=2 来解决,这样无须创建一个虚拟硬盘。

也可以让chenall实现一个 map --harddrives+=1 的命令,这样就可以把现有的硬盘个数增加一个了。

我目前想歇歇,暂时不搞 grub4dos 了。我在弄 DOS 的鼠标驱动,算是休闲了。

刚刚看到 chenall 回帖,说用 calc *0x475++ 可以。但这毕竟还是外部命令。所以,我个人还是觉得应该为内部的 map 命令增加这个功能。

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

使用道具 举报

发表于 2010-8-27 15:14:49 | 显示全部楼层
plpbt.bin要用日期为6.21的,之后的问题多。
回复

使用道具 举报

发表于 2010-8-27 15:23:18 | 显示全部楼层
原帖由 不点 于 2010-8-27 14:44 发表
我的意思是说,代替 map (hd0) (hd),你可以试试用 map --harddrives=2 来解决,这样无须创建一个虚拟硬盘。

一开始的想法的确是map --harddrives=2。

但后来有人说本机硬盘不止一个,需要有一个通用的命令,而不是map --harddrives=N+1。才想出map (hd0) (hd)的方法,空出hd0,给plop
回复

使用道具 举报

发表于 2010-8-27 15:28:06 | 显示全部楼层
原帖由 不点 于 2010-8-27 14:44 发表
我的意思是说,代替 map (hd0) (hd),你可以试试用 map --harddrives=2 来解决,这样无须创建一个虚拟硬盘。

也可以让chenall实现一个 map --harddrives+=1 的命令,这样就可以把现有的硬盘个数增加一个了。 ...


呵呵,calc命令很早的版本就已经内置了.

原帖由 fujianabc 于 2010-8-27 15:23 发表

一开始的想法的确是map --harddrives=2。

但后来有人说本机硬盘不止一个,需要有一个通用的命令,而不是map --harddrives=N+1。才想出map (hd0) (hd)的方法,空出hd0,给plop


这个办法也很好.
回复

使用道具 举报

发表于 2010-8-27 15:32:25 | 显示全部楼层
哦,我还以为是外置呢。
回复

使用道具 举报

 楼主| 发表于 2010-8-27 16:45:25 | 显示全部楼层
原帖由 fujianabc 于 2010-8-27 15:23 发表

一开始的想法的确是map --harddrives=2。

但后来有人说本机硬盘不止一个,需要有一个通用的命令,而不是map --harddrives=N+1。才想出map (hd0) (hd)的方法,空出hd0,给plop

这应该还是有点问题吧?当某个本地硬盘出现这种“隐藏或丢失”问题时,map (hd0) (hd)会映射掉实际应该存在的最后一个盘。

[ 本帖最后由 zxw 于 2010-8-27 17:37 编辑 ]
回复

使用道具 举报

发表于 2010-8-27 20:17:39 | 显示全部楼层
原帖由 zxw 于 2010-8-27 16:45 发表

这应该还是有点问题吧?当某个本地硬盘出现这种“隐藏或丢失”问题时,map (hd0) (hd)会映射掉实际应该存在的最后一个盘。

我的方法是给plop用的,不是给一楼有bug的主板用的
回复

使用道具 举报

 楼主| 发表于 2010-8-28 02:33:03 | 显示全部楼层
呵,终于确认是bios的问题了。仍然用发现问题的这台老本本,grldr仍然为2010-08-12版本。
1.安装grub4dos到本地硬盘,多个命令正确显示(hd0).
2.u启,u盘识别为(hd0),geometry、map --status、geometry(hd0)、root ( 按tab键、ls (hd0,0)/、ls (hd-1,0)/、read 0x475等命令显示(hd0),不显示(hd1);geometry(hd1)、ls (hd1)能显示(hd1).
3.在上述第2步基础上,输入calc *0x475++命令,geometry只显示(hd0),map --status、geometry(hd1)、root ( 按tab键、ls (hd-1,0)、read 0x475等命令正确显示(hd1).

[ 本帖最后由 zxw 于 2010-8-28 03:28 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2010-8-28 02:34:30 | 显示全部楼层
在上述第3步基础上,再次输入calc *0x475++命令,geometry只显示(hd0),geometry(hd1)、ls (hd-1,0)提示错误;map --status、root ( 按tab键、read 0x475等命令显示(hd2)或3个磁盘.


不点估计bios有bug,完全正确。
chenall的calc *0x475++命令确实到位。
赞一个!

[ 本帖最后由 zxw 于 2010-8-28 03:12 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2010-8-29 20:41:05 | 显示全部楼层
呵呵,感谢chenall大大,多方测试,用以下语句可解决部分变态bios导致本地硬盘不能正常访问的问题:
geometry (hd) && calc *0x475++
回复

使用道具 举报

发表于 2010-8-30 20:52:52 | 显示全部楼层
map (hd0) (hd)
这句话什么意思,很强啊,直接解决了plop的问题。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-19 07:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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