无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: freesoft00
打印 上一主题 下一主题

[讨论] 845老电脑U盘启动为何只能启动到grub的命令行

[复制链接]
31#
发表于 2012-11-6 11:50:47 | 只看该作者
假定freesoft00兄弟是照#7楼那样严格按图片强格的。

这台机器出菜单时,按c进grub命令行,执行
ls
ls /
ls (ud)/
ls (fd0)/
ls (fd0,0)/
ls (hd0)/
ls (hd0,0)/
ls (hd1)/
ls (hd1,0)/
预期只有
ls (fd0)/
可以看到menu.0pe所在分区文件,请核实。

当前分区是ud,本应等价于(fd0)。
但现在遇到当前分区即ud文件不可访问的情形。ud文件不可访问是不正常的。

遇到的问题跟PE无关。
freesoft00的测试相当于ud只放一个内置#28楼菜单的grldr文件,grldr找不到当前分区即ud的文件menu.0pe,实际上找不到ud区任何文件。
不是grldr就是fbinsttool/fbinst出问题了,跟PE还谈不上什么关系。

可以这样试试:
出菜单时,按c进grub命令行,执行
root (fd0)/
按esc返回菜单再继续,这样当前分区是(fd0)而非ud,预期可以找到menu.0pe。

另外,下载0PE_NBv1.4.3(2012-06-19)2in1_83MB_ISO.7z(与0PE_NBv1.4.3(2012-06-19)2in1_83MB_FBA.7z一起提供)
从中得到grldr、0PE.ISO,连同附件解压得到的buldr共3个文件拖入ud根目录,删除ud内原有其它文件、目录并合并可用空间(即整理碎片)。
用fbinsttool修改fbinst菜单为:

  1. default 0
  2. timeout 10
  3. text "grub4dos loader"
  4. menu F1 grldr "grldr"
  5. text "burg loader"
  6. menu F2 buldr "buldr"

复制代码

启动时分别按F1、F2功能键选grub4dos loader项和burg loader项,两项对照一下。
预期burg loader项有不同表现。

buldr.7z

167.66 KB, 下载次数: 9, 下载积分: 无忧币 -2

回复

使用道具 举报

32#
 楼主| 发表于 2012-11-7 10:24:15 | 只看该作者
我想应该不是FbinstTool的问题,因为测试时也用批处理+Fbinst测试了,效果一样。
用nt6做mbr,转到grub是可以的。
用Fbinst做mbr,burg测试过好像也是可以的。
是严格按照p大fba包中的图片用FbinstTool做的。
回复

使用道具 举报

33#
 楼主| 发表于 2012-11-7 11:21:51 | 只看该作者
ls (fd0)/  U盘上的文件
ls (hd0,0)/  硬盘C盘上的文件
其它不行。

和以前测试的一样,burg loader没有问题,grub4dos loader还是不可以。

按照p大大要求,
root (fd0)/
esc
后,grub4dos loader的也可以启动pe了。
回复

使用道具 举报

34#
发表于 2012-11-7 11:32:14 | 只看该作者
这就清楚了:这个 ud 未被 grub4dos 识别出来。

需要提供更多的信息,来定位其根源。

首先,请用同一个 U 盘,在别的电脑上试验,看看有没有成功的。

如果有成功的,那就说明这个问题与主板有关,而不是 grub4dos 的问题。

其它测试项目以后再详细设计。
回复

使用道具 举报

35#
 楼主| 发表于 2012-11-7 13:53:08 | 只看该作者
不是U盘的问题,U盘换了几个,在其它电脑上可以启动的。
只有这台电脑。
回复

使用道具 举报

36#
发表于 2012-11-7 14:05:44 | 只看该作者
UD问题,经常在不同的电脑上,都会有不同表现。比如我用读卡器+TF卡做的一个UD盘,在我的上网本和其他一些电脑上,可以认出并启动;但是在我的老P4和一台苹果MACBOOK PRO 及其他一些电脑上,就认不出来不能启动,表现为没有引导相关的东东——用FBINSTTOOL制件UD盘时,复制PBR、ZIP等各种组合都试过,而我的UD是统一使用GRLDR的,没试过BURG。
回复

使用道具 举报

37#
发表于 2012-11-7 14:54:18 | 只看该作者

回复 #16 freesoft00 的帖子

突然又发现,16 楼的 ls (ud)/ 列出了许多回车(也可能是空格),竟然超过一屏。

请问,它究竟能够持续显示多少屏?
回复

使用道具 举报

38#
发表于 2012-11-7 15:05:53 | 只看该作者
快要找到毛病了…………

以下的 fsys_fb.c 源代码使用了 15 - 16M 的空间,而对于这个机器来说,这个空间是不可以使用的!

/* The menu is saved at address just below 16m  */
#define FB_MENU_ADDR    0xff0000
回复

使用道具 举报

39#
发表于 2012-11-7 16:15:54 | 只看该作者
恭喜毛病找到了,15 - 16M 被主板芯片占用了,发生冲突。
但要改动一个固定位置,必须花费不少代码,牵扯到其它程序段的调用。

[ 本帖最后由 zhaohj 于 2012-11-7 16:42 编辑 ]
回复

使用道具 举报

40#
发表于 2012-11-7 17:23:27 | 只看该作者
已经更新了。请测试。在时空论坛下载。
回复

使用道具 举报

41#
发表于 2012-11-7 17:54:05 | 只看该作者
Use 64K at 0x150000 instead.

我记得dd命令使用0x100000开始的,是0x100000~0x150000空间?
回复

使用道具 举报

42#
发表于 2012-11-7 18:08:39 | 只看该作者
是 0x150000 - 0x160000 的空间,共 64K。

这里增加了安全限制:如果 ud 的目录列表占据的空间超过 64K,拒绝 mount 它。

所以,创建 ud 的工具,如 fbinst TOOL 等,应该不要生成太大的目录列表。

原来的代码实际上也是使用 64K 目录列表空间,但未加限制,有可能产生内存溢出和冲突(对于那些具有超过 64K 目录区的 ud 而言)。
回复

使用道具 举报

43#
 楼主| 发表于 2012-11-8 17:56:33 | 只看该作者
最新版本
ls (fd0)/  可以列出U盘文件
ls (ud)/   可以列出U盘文件,同ls (fd0)/ 命令列出的一样

p大的fba版的U盘pe,前三个菜单还是不成功,点击后进入命令行,是否是更新新版本grub后菜单需要调整?
(更新过程如下,按照p大的图片用FbinstTool做好U盘pe,然后用新版grldr替换根目录那个并保留菜单,grub.exe改名成grub.0pe替换同名文件)
不过p大最后一个菜单可以启动了。
title [4] RUN\n    DiskGenius, MemTest...
command RUN
运行run外部命令,输入数字可以启动memtest和diskgenius

我再换其他人做的ud版pe试试。

[ 本帖最后由 freesoft00 于 2012-11-8 17:58 编辑 ]
回复

使用道具 举报

44#
发表于 2012-11-8 18:02:30 | 只看该作者

回复 #43 freesoft00 的帖子

谢谢你证实了 bug 已经修复。

其它问题应该都不属于 bug 了,请自行解决吧。
回复

使用道具 举报

45#
 楼主| 发表于 2012-11-8 18:39:59 | 只看该作者
用chiannet 的ud版pe可以启动了,也许p大的ud版菜单问题吧
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-28 02:15

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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