无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 15299|回复: 58
打印 上一主题 下一主题

[求助] chenall 和不点大师指点一下,G4D0.45装载RAMOS不能启动

[复制链接]
跳转到指定楼层
1#
发表于 2011-9-26 17:22:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一模一样的代码,0.44可以启动,但0.44不能使用--top高位内存,换成0.45,无论是否加 --top 都不能启动:

  1. title Ram OS Loader
  2.         map --mem --top  (hd0,2)/ROS.IMG (hd0)
  3.         map (hd0) (hd2)
  4.         map --hook
  5.         root (hd0,0)
  6.         chainloader /BOOTMGR
复制代码


错误提示都是 No such partition(root (hd0,0)这句的错误)。是不是 0.45 map 有什么不一样了?

更奇怪的是,用 0.45手工执行命令 map --mem --top  (hd0,2)/ROS.IMG (hd0);看到map进度完成后,chainloader 到 glldr 0.44,再执行上面代码中剩余的部分,完全可以启动(当然也可以 ls,0.45下不能ls列出文件),也确实使用了高位内存。


机器状况:共有两块内置硬盘,(hd0,2)/ROS.IMG 存在的于磁盘(HDD),还有一个SSD存在(但跟这些应该没关系)。
2#
发表于 2011-9-26 17:44:38 | 只看该作者

回复 #1 Yonsm 的帖子

手工执行map --mem (hd0,2)/ros.img (hd0)有什么提示?

如果可能的话可以试试把ROS.IMG上传,也许有BUG,导致不能识别这个IMG格式..
回复

使用道具 举报

3#
 楼主| 发表于 2011-9-26 18:59:36 | 只看该作者

回复 #2 chenall 的帖子

执行:map --mem (hd0,2)/ros.img (hd0),有进度显示,正常完成,没有错误。就是之后无法列出文件。

我尝试了你的 2011-05-01 new 和 2011-09-18两个版本,和不点的 2011-09-16 版本,都一样的问题。0.44 的尝试了两个版本都行。

ROS.IMG 比较大,1G多。VHD我也尝试过(2G大小),一样的问题。

等下我创建一个小的 .IMG 里面只放 BOOTMGR 试试看,等下再留言。

我的机器是 iMac 2010 21',BootCamp 下启动的,有两块内置硬盘,没有光驱。
回复

使用道具 举报

4#
 楼主| 发表于 2011-9-26 19:12:18 | 只看该作者
原帖由 <i>Yonsm</i> 于 2011-9-26 18:59 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2310339&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
执行:map --mem (hd0,2)/ros.img (hd0),有进度显示,正常完成,没有错误。就是之后无法列出文件。<br />
<br />
我尝试了你的 2011-05-01 new 和 2011-09-18两个版本,和不点的 2011-09-16 版本,都一样的问题。0.44 的 ...
<br />

我创建了一个小的VHD,重现了这个问题。

0.44 (2009-06-20)可以启动,0.45(2011-05-01) 不行。

title Ram OS Loader
        map --mem  (hd0,2)/TEST.VHD (hd0)
        map (hd0) (hd2)
        map --hook
        root (hd0,0)
        chainloader /BOOTMGR

TEST.part001.rar

194.01 KB, 下载次数: 32, 下载积分: 无忧币 -2

TEST.part002.rar

194.01 KB, 下载次数: 21, 下载积分: 无忧币 -2

TEST.part003.rar

36.52 KB, 下载次数: 26, 下载积分: 无忧币 -2

回复

使用道具 举报

5#
 楼主| 发表于 2011-9-26 19:18:58 | 只看该作者
另外问一个问题:假如我想创建了一个 IMG,里面的文件总共有1G,但我想RAMOS启动后 RAM DISK 有2G大小,如何做到?

1. 不想让 IMG 创建成2G,那样加载速度很慢。
2. 也不想创建2G的IMG,然后压缩成gz,解压也慢(我创建的IMG里面NTFS分区里面本身就已经压缩),且gz好像不能装载到--top PAE内存。
3. 假如我创建 1G 的IMG,用 map --mem=xxxxx 来强行指定内存大小,启动后发现磁盘确实是 2G大小,但可用空间才1G(应该是创建IMG的时候格式化的时候就是1G,所以不重新格式化就无法识别了)

有没有方法可以解决这个问题,VHD也行(如有VHD方案更佳,但G4D不支持VHD动态扩展的格式)。
回复

使用道具 举报

6#
发表于 2011-9-26 19:47:11 | 只看该作者

回复 #4 Yonsm 的帖子

你这个 test.vhd 仿真以后很正常,可以用 root (hd0,0) 成功。

以后的 boot 不成功,则不属于 grub4dos 的问题了。
回复

使用道具 举报

7#
发表于 2011-9-26 19:47:19 | 只看该作者

回复 #4 Yonsm 的帖子

下载试了一下用最新版没有问题

发现你使用的还是2011-05-01的,你可以试试最新版本的。

2011-09-18
下载地址。
grub4dos-chenall.googlecode.com

#5的问题,可以试试以下方案
1.创建2G的VHD。
2.复制需要的文件进行。

用WINHEX打开这个VHD文件,删除后面全面是0000的内容(以扇区为单位)即每次删除512字节。

用GRUB4DOS加载到内存中时应该会自动扩展。
回复

使用道具 举报

8#
发表于 2011-9-26 20:02:07 | 只看该作者

回复 #1 Yonsm 的帖子

  1. title Ram OS Loader
  2. map --mem  (hd0,2)/TEST.VHD (hd)
  3. map --hook
  4. map (hd-1) (hd0)
  5. map (hd0) (hd-1)
  6. map --rehook
  7. root (hd0,0) || rootnoverify (hd0,0)
  8. chainloader /BOOTMGR || chainloader (hd0)+1
  9. boot
复制代码


这么启动试试呢
回复

使用道具 举报

9#
发表于 2011-9-26 20:09:31 | 只看该作者

回复 #5 Yonsm 的帖子

听说 VHD 结尾处有信息,因此,你可以分两步。

第一步,把 VHD 的前端加载到内存,这部分可以用 --mem=XXX 来指定要占用的最少空间。
第二步,把 VHD 的尾部加载到指定的内存处(用 dd 之类的命令),让它正好与第一步加载的内容组成合法的 VHD 文件。

你也可以先加载尾部,然后再加载头部。这样,两条 map 命令就可以了。

map --mem /VHD.tail (rd)
map --mem=XXXX /VHD.head (rd)

注意,head 最好是 4K 的整数倍,否则,它被加载在什么位置,就不好确定了。 XXXX 的大小(以扇区为单位),换算成字节数以后也应该是 4K 的整数倍。

第一条命令其实是把 tail 加载到内存顶端。rd 指向它。

第二条命令把 head 加载在紧接 tail 的下方,保留的空间用 XXXX 来计算。rd 指向它。

好了,现在 rd 就指向 head,但长度不正确,因为此时的 rd 的长度是 head 的长度(XXXX个扇区),应该再加上 tail 的长度才是整个 VHD 的长度。

此时,用 map --rd-size=YYYY 来修正 rd 的长度。

然后再用 map --mem=ZZZZ (rd)+1 (hd0) 来执行仿真。

我不知道这个方案是否可行,但你可以试试。如果有问题,可以让 chenall 解决。
回复

使用道具 举报

10#
发表于 2011-9-26 22:21:15 | 只看该作者
看到这个帖子学到很多新东西,我也试试这种方法是否可行!

不过我觉得C大的 方法如果可以的话比较方便!这样这个vhd文件用普通的菜单就可以加载,有一定的通用性!

不点大的方很严谨,但这样一来就要每个不同大小的vhd文件用不同有针对性的菜单了!

两种方法都试试!!!谢谢大大们!
回复

使用道具 举报

11#
 楼主| 发表于 2011-9-26 22:22:10 | 只看该作者
原帖由 <i>不点</i> 于 2011-9-26 19:47 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2310357&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
你这个 test.vhd 仿真以后很正常,可以用 root (hd0,0) 成功。<br />
<br />
以后的 boot 不成功,则不属于 grub4dos 的问题了。
<br />

我这里不成功:(

test.vhd map后不能ls (hd0,0),说No such partition

我换用了 2011-09-18 的0.45 也不行。

0.44 可以。
回复

使用道具 举报

12#
发表于 2011-9-26 22:28:33 | 只看该作者
你的内存有问题吗?主板BIOS有问题吗?

你可否用虚拟机试试?把虚拟机内存配置为 2G 以上。

chenall 和我都测试过了,完全没问题。
回复

使用道具 举报

13#
 楼主| 发表于 2011-9-26 22:31:22 | 只看该作者
原帖由 <i>不点</i> 于 2011-9-26 20:09 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2310370&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
听说 VHD 结尾处有信息,因此,你可以分两步。<br />
<br />
第一步,把 VHD 的前端加载到内存,这部分可以用 --mem=XXX 来指定要占用的最少空间。<br />
第二步,把 VHD 的尾部加载到指定的内存处(用 dd 之类的命令),让它正 ...
<br />

不过这个方法好繁杂,这样的话VHD变成两个,使用VHD的优势就不明显了(要修改的时候还要合并VHD)。

使用VHD做RAM OS的好处是既可以 GRUB MEM 启动(不可回写IMG修改);也可以BOOTMGR启动VHD,这个会修改VHD。想被修改就用BOOTMGR启动,不想就用GRUB启动,非常方便。

不过有空会试试看。chelall的IMG个方法简单易行,下次试试。

多谢二位.
回复

使用道具 举报

14#
 楼主| 发表于 2011-9-26 22:40:47 | 只看该作者
原帖由 <i>不点</i> 于 2011-9-26 22:28 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2310441&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
你的内存有问题吗?主板BIOS有问题吗?<br />
<br />
你可否用虚拟机试试?把虚拟机内存配置为 2G 以上。<br />
<br />
chenall 和我都测试过了,完全没问题。
<br />

等等,你这到提醒了我。我内存是新加过的,且出现过问题(经常死机),不过又更换了(后来不死机了,将近1个月没死过了)。

0.45 不是用 --top 也会往高端内存装载吗(似乎那里见过这种说法)。如果是,那么0.44和0.45我一样的环境、命令、IMG,一个行,一个不行——可能就是0.45往高端内存装载的原因?

能不能编译一个版本给我试试:不加入--top,则和0.44一样;加入--top,则使用高端内存。我测试一下。
回复

使用道具 举报

15#
发表于 2011-9-26 23:01:45 | 只看该作者
你用 --mem=XXXX 加载在固定地址处(低于4G的空间),应该就可以了。
回复

使用道具 举报

16#
发表于 2011-9-27 11:19:08 | 只看该作者
原帖由 Yonsm 于 2011-9-26 22:31 发表


不过这个方法好繁杂,这样的话VHD变成两个,使用VHD的优势就不明显了(要修改的时候还要合并VHD)。

使用VHD做RAM OS的好处是既可以 GRUB MEM 启动(不可回写IMG修改);也可以BOOTMGR启动VHD,这个会修 ...



不知BOOTMGR能启动XP的VHD达到可修改保存的目的不?
回复

使用道具 举报

17#
 楼主| 发表于 2011-9-27 18:07:54 | 只看该作者
原帖由 <i>不点</i> 于 2011-9-26 23:01 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2310463&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
你用 --mem=XXXX 加载在固定地址处(低于4G的空间),应该就可以了。
<br />

我用 -mem=xxx
Error 17: Could not mount partition

问一下xxx是不是512字节单位?还是要看这个IMG Probe 出来显示 C/H/S 中的S的值?

唉,我要被击败了——有没有什么其他方案,我只是想把 RAM OS 装载到高位内存中。
回复

使用道具 举报

18#
发表于 2011-9-27 18:14:59 | 只看该作者

回复 #17 Yonsm 的帖子

是--mem=
这个xxx是扇区.

让镜像连续存放,先不加--mem参数试一下看看能否访问..

前面的那个我试了一切正常.
回复

使用道具 举报

19#
 楼主| 发表于 2011-9-27 18:26:01 | 只看该作者
原帖由 &lt;i&gt;chenall&lt;/i&gt; 于 2011-9-27 18:14 发表 &lt;a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2310912&ptid=200520" target="_blank"&gt;&lt;img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width&gt;screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;<br />是--mem=&lt;br /&gt;<br />这个xxx是扇区.&lt;br /&gt;<br />&lt;br /&gt;<br />让镜像连续存放,先不加--mem参数试一下看看能否访问..&lt;br /&gt;<br />&lt;br /&gt;<br />前面的那个我试了一切正常.
&lt;br /&gt;

装载img这句能完成的,就是后面的 root 不成功,似乎不能识别分区之类的。另外一个前提,一模一样的代码 0.44 是可以的。

我截图了,看看附件。(map -mem 过程中拍的照片)

下载.jpg (5.48 KB, 下载次数: 147)

下载.jpg
回复

使用道具 举报

20#
发表于 2011-9-27 19:24:26 | 只看该作者
根据你前面的交代,似乎你这个内存条有问题,或者主板插槽有问题。

这样的问题不属于 grub4dos 软件的问题,我想,还是算了吧。

让你自己弄,也挺费事的,不太容易。

你也没交代,机器的档次如何?什么年代的产品?有没有 64 位支持?有没有 PAE 支持?CPU 是什么?主板支持多大的内存?
回复

使用道具 举报

21#
 楼主| 发表于 2011-9-27 19:55:41 | 只看该作者
原帖由 <i>不点</i> 于 2011-9-27 19:24 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2310942&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
根据你前面的交代,似乎你这个内存条有问题,或者主板插槽有问题。<br />
<br />
这样的问题不属于 grub4dos 软件的问题,我想,还是算了吧。<br />
<br />
让你自己弄,也挺费事的,不太容易。<br />
<br />
你也没交代,机器的档次如何?什么 ...
<br />

我前面有交代是 2010 年的 iMac 21'。

就是型号MC508 CH/A,详细参数:http://product.pconline.com.cn/easy_pc/apple/428520_detail.html

Intel Core i3 540 3.06
DDR3 4096M (自己另加4G,共8G内存)
SATA硬盘 500G(自己另加 128G SSD)

我觉得是 0.45引入的BUG,我在0.44用 map -mem=xxxxx 可以装载,并且使用无问题。同样的操作0.45就不行。
回复

使用道具 举报

22#
 楼主| 发表于 2011-9-27 20:05:27 | 只看该作者
补充一下,Mac 是EFI的(不是BIOS的),启动Windows之类的系统,他是通过BootCamp(在EFI之上,模拟BIOS的一个很薄的一层模拟)来启动Window的。


我又仔细测试了一下,IMG为1.2G,map -mem=2G以上的offset,则无法map(0.44也无法map,及map就报错,说not fit to memory之类的),看起来G4D根本没有认出有8G内存。

我等下尝试一下 0.45 map -mem=1G 看看能不能启动。

另外问一下,map -mem 如果不指定偏移,map成功后如何查看实际暂用的内存区域?
回复

使用道具 举报

23#
发表于 2011-9-27 20:11:56 | 只看该作者

回复 #22 Yonsm 的帖子

map --status可以看到信息

有起始位置,长度。
回复

使用道具 举报

24#
 楼主| 发表于 2011-9-27 20:27:39 | 只看该作者
原帖由 <i>Yonsm</i> 于 2011-9-27 20:05 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2310953&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
补充一下,Mac 是EFI的(不是BIOS的),启动Windows之类的系统,他是通过BootCamp(在EFI之上,模拟BIOS的一个很薄的一层模拟)来启动Window的。<br />
<br />
<br />
我又仔细测试了一下,IMG为1.2G,map -mem=2G以上的offset ...
<br />


我再测试了,结果是:

1. 0.44 显示内存为 568/3061M;
   说明0.44没有认出 3.2G以上的内存?假设是的话,0.44 所有命令的结果都符合预期(相当于假定我只有4G内存,map -mem=xxx和引导均正常)。

2.0.45显示为568K/3061M/5120M;
   0.45似乎认出了8G内存,但map的时候依然和0.44一样(看下我附件的部分,是不能load到4G起始区域的错误),只能map到3G内的区域(--mem=1.5G左右)。

3. 0.45 map 到 1.5G地址,成功后 -> map --hook,也成功 -> ls (hd0,0)/ 显示 No such partition
    此时(0.45 map成功后,ls 不成功时) ,执行chainloader (hd2,2)/GRLDR-0.44-2009-06-20 -> boot(即转到 GRLDR 0.44) -> 马上执行 ls (hd0,0) 成功——可以确认 0.45 在识别memdrive的时候存在问题

照片.JPG (121.8 KB, 下载次数: 118)

照片.JPG
回复

使用道具 举报

25#
 楼主| 发表于 2011-9-27 20:48:11 | 只看该作者
原帖由 <i>Yonsm</i> 于 2011-9-27 20:27 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2310968&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />

<br />

<br />

<br />
我再测试了,结果是:<br />
<br />
1. 0.44 显示内存为 568/3061M;<br />
   说明0.44没有认出 3.2G以上的内存?假设是的话,0.44 所有命令的结果都符合预期(相当于假定我只有4G内存,map -mem=xxx和引导均正常)。<br />
...
<br />


继续测试,步骤:

1. 用 0.45 下用 map -mem --top 来装载,全手工执行命令,结果看附件1(帮我确认一下是否装载到了高位内存?),此时 ls 失败。

2. 在上面ls错误的情况下,chainloader & boot 到 0.44,ls成功,boot成功,见附件2。
   启动后,进入WIN7,显示可用内存为3.2G左右,说明步骤1确实把虚拟盘装载到了高位内存。


也就是说我现在其实找到了一个方案:用 0.45 来 map --mem --top 装载memdrive,然后转到 0.44 来root&chainloader&boot,则实现了我的目标。不过这也太绕了吧……

0.45.JPG (133.64 KB, 下载次数: 118)

附件1 (0.45)

附件1 (0.45)

0.44.JPG (124.22 KB, 下载次数: 121)

附件2 (0.44)

附件2 (0.44)
回复

使用道具 举报

26#
发表于 2011-9-27 21:12:33 | 只看该作者

回复 #25 Yonsm 的帖子

可以预先在硬盘上创建一足够大小的文件,然后使用转出转向符 ">"来得到结果,这样就不用截图了。

比如
map --status > (hd0,0)/debug.txt
displaymem >> (hd0,0)/debug.txt

可以再做以下测试
displaymem
map --mem --top (hd0,2)/ros.img (hd0)
map --status
map --hook
cat --hex (hd0)+1
cat --hex (hd0,0)+1
find --devices=h

把以上的结果通过输出重定向,转到某个文件,也许是4.5的某个BUG。

另外也可以反过来测试
使用0.4.4的map --mem xxxx
再转到0.4.5看看能否正常访问。

使用0.4.5还可以试试
map --mem=0x200000 xxxxx
从1G开始映射磁盘。看看情况如何。
回复

使用道具 举报

27#
 楼主| 发表于 2011-9-27 21:41:48 | 只看该作者
原帖由 <i>chenall</i> 于 2011-9-27 21:12 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2310993&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
可以预先在硬盘上创建一足够大小的文件,然后使用转出转向符 "&gt;"来得到结果,这样就不用截图了。<br />
<br />
比如<br />
map --status &gt; (hd0,0)/debug.txt<br />
displaymem &gt;&gt; (hd0,0)/debug.txt<br />
<br />
可以再做以下测试<br />
displaym ...
<br />




命令:displaymem
----------------------------------------------------------------------------------------------
EISA Memory BIOS Interface is present
Address Map BIOS Interface is present
Lower memory: 568K, Upper memory (to first chipset hole): 3134924K
[Address Range Descriptor entries immediately follow (values are 64-bit)]
  Usable RAM: Base: 0x0, Length: 0x8E000
  Reserved: Base: 0x8E000, Length: 0x2000
  Usable RAM: Base: 0x90000, Length: 0xFC00
  Reserved: Base: 0x9FC00, Length: 0x400
  Reserved: Base: 0xA0000, Length: 0x20000
  Reserved: Base: 0xE0000, Length: 0x20000
  Usable RAM: Base: 0x100000, Length: 0xBF573000
  Reserved: Base: 0xBF673000, Length: 0x7C000
  Reserved: Base: 0xBF6EF000, Length: 0x107000
  Reserved: Base: 0xBF7F6000, Length: 0x9000
  Reserved: Base: 0xBF7FF000, Length: 0x1000
  Reserved: Base: 0xBF800000, Length: 0x800000
  Reserved: Base: 0xE0000000, Length: 0x10000000
  Reserved: Base: 0xE00F8000, Length: 0x1000
  Reserved: Base: 0xFEC00000, Length: 0x1000
  Reserved: Base: 0xFED10000, Length: 0x4000
  Reserved: Base: 0xFED18000, Length: 0x1000
  Reserved: Base: 0xFED19000, Length: 0x1000
  Reserved: Base: 0xFED1C000, Length: 0x4000
  Reserved: Base: 0xFED1C000, Length: 0x4000
  Reserved: Base: 0xFEE00000, Length: 0x1000
  Reserved: Base: 0xFFC00000, Length: 0x400000
  Reserved: Base: 0xFFEC2000, Length: 0x24000
  Usable RAM: Base: 0x100000000, Length: 0x140000000
NTFS BPB found with 0xEB (jmp) leading the boot sector.
info: BPB total_sectors(2457599) is less than the number of sectors in the whole disk image(2457600).
----------------------------------------------------------------------------------------------


命令:map --mem --top (hd2,2)/ros.img (hd0)
----------------------------------------------------------------------------------------------
probed C/H/S = 153/255/63, probed total sectors = 2457599
[0M/1199M] ....> [1192M/1199M]
floppies_orig=1, harddrives_orig=2, floppies_curr=1, harddrives_curr=2
----------------------------------------------------------------------------------------------


命令:map --status
----------------------------------------------------------------------------------------------
Number of ATAPI CD-ROMs: 0

ram_drive=0x7F, rd_base=0x0, rd_size=0x100000000
Fr To Hm Sm To_C _H _S   Start_Sector     Sector_Count   DHR
-- -- -- -- ---- -- -- ---------------- ---------------- ---
80 FF FE 3F 8BFF FE 7F 0000000000FA7FC0 0000000000258040 M<S
----------------------------------------------------------------------------------------------

命令:
map (hd0) (hd2)
map --hook
cat --hex (hd0)+1
----------------------------------------------------------------------------------------------
00000000: FA 33 C0 8E  D0 BC 00 7C  FB 50 1F 50  07 FC BE 1C ; ?缼屑.|鸓.P..
00000010: 7C BF 1C 06  50 57 B9 E4  01 F3 A4 CB  1E BB 00 7C ; |?.PW逛.螭??|
00000020: 53 BA 80 01  52 B8 01 02  53 41 CD 13  5F BE BE 07 ; S簚.R?.SA?_揪.
00000030: 56 5D 5A FA  CB 00 00 00  00 00 00 00  00 00 00 00 ; V]Z...........
00000040: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000050: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000060: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000070: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000080: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000090: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
000000A0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
000000B0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
000000C0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
000000D0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
000000E0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
000000F0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000100: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000110: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000120: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000130: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000140: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000150: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000160: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000170: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000180: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
00000190: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
000001A0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ; ................
000001B0: 00 00 00 00  00 00 00 00  80 00 00 00  00 00 80 01 ; ........
回复

使用道具 举报

28#
 楼主| 发表于 2011-9-27 21:42:36 | 只看该作者
(接上面帖子)


000001B0: 00 00 00 00  00 00 00 00  80 00 00 00  00 00 80 01 ;
000001C0: 01 00 07 FA  22 98 3F 00  00 00 01 80  25 00 00 00 ;
000001D0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ;
000001E0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 ;
000001F0: 00 00 00 00  00 00 00 00  00 00 00 00  00 00 55 AA ;
----------------------------------------------------------------------------------------------


命令:cat --hex (hd0,0)+1
----------------------------------------------------------------------------------------------
这句执行输出 No such Partiton,但竟然没有重定向到文本文件中。

另外,这句命令转到 0.44 基本后,能成功,说明0.45确实识别分区错误了。
----------------------------------------------------------------------------------------------


find --devices=h
----------------------------------------------------------------------------------------------
这句执行有输出,但也没有重定向到文本文件中,0.45大概内容如下:
(hd0,2) (确实是这个内容,注意是2)
(hd0,0) ((hd0,0) 竟然连在后)
(hd1,0)
(hd1,1)
(hd1,2)
(hd2,0)
(hd2,1)
(hd2,2)
(hd2,3)


转到 0.44 后,这句命令的输出却是 ((hd0,2) 没有了):
(hd0,0)
(hd1,0)
(hd1,1)
(hd1,2)
(hd2,0)
(hd2,1)
(hd2,2)
(hd2,3)
----------------------------------------------------------------------------------------------
回复

使用道具 举报

29#
发表于 2011-9-27 21:48:33 | 只看该作者
根据 Yonsm 的描述,0.4.5 仿真以后,切换到 0.4.4 却能访问虚拟盘。这说明:

第一、 0.4.5 的仿真代码工作正常。因此,不用怀疑这方面的问题了。
第二、 0.4.5 的磁盘或分区识别出现了 bug。

请进一步定位,究竟是哪年哪月哪日引入的 bug。
回复

使用道具 举报

30#
 楼主| 发表于 2011-9-27 21:51:57 | 只看该作者
原帖由 <i>不点</i> 于 2011-9-27 21:48 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2311014&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
根据 Yonsm 的描述,0.4.5 仿真以后,切换到 0.4.4 却能访问虚拟盘。这说明:<br />
<br />
第一、 0.4.5 的仿真代码工作正常。因此,不用怀疑这方面的问题了。<br />
第二、 0.4.5 的磁盘或分区识别出现了 bug。<br />
<br />
请进一步定 ...
<br />

我测试了0.45三个版本 chenall 2011-05-01、 2011-09-18、tinybit 2011-09-16 都有这个问题。

现在我用 0.45 map,map好之后转到 0.44来root && chainloader && boot 暂时搞定了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 00:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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