无忧启动论坛

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

请chenall看看,关于0.46a map 问题

[复制链接]
发表于 2015-8-2 06:45:30 | 显示全部楼层 |阅读模式
本帖最后由 chiannet 于 2015-8-2 06:47 编辑

native 03PE, 二级内核存放在SKY52PE.ISO内,启动时用下列代码:

......
map /52PE/SKY52PE.ISO (0xfe) || map --mem /52PE/SKY52PE.ISO (0xfe)
map --hook
chainloader /52PE/SETUPLDR.NTV
boot

1、若SKY52PE.ISO连续,则0.45C或0.46a(只试用了20150408及20150716两版)Grldr,都能顺利启动!

2、若SKY52PE.ISO连续(测试时,碎片数目为3个),

     用0.45C grldr会执行红色代码,native 03PE能顺利启动到桌面。

     用0.46a(只试用了20150408及20150716两版)grldr时,会执行蓝色代码,但在native 03PE启动流程到NATIVE.EXE 挂载二级内核(.WIM)时蓝屏死机。





发表于 2015-8-2 07:59:17 | 显示全部楼层
虚心学习中。
回复

使用道具 举报

发表于 2015-8-2 09:53:23 | 显示全部楼层
根据你描述的情况,那么我很容易猜测到,这应该是由于 FIRADISK 或 WinVblock 不支持非连续的 ISO 文件造成的。

估计需要这两个驱动的开发者来解决才行。

还是老老实实地把碎片整理好吧。



点评

不点大大是不是不在状态,这明明说的是G4D 的MAP问题啊。  详情 回复 发表于 2015-8-2 11:37
回复

使用道具 举报

发表于 2015-8-2 11:37:47 | 显示全部楼层
不点 发表于 2015-8-2 09:53
根据你描述的情况,那么我很容易猜测到,这应该是由于 FIRADISK 或 WinVblock 不支持非连续的 ISO 文件造成 ...

不点大大是不是不在状态,这明明说的是G4D 的MAP问题啊。

点评

你是不是没有意识到,这多半是 firadisk 和 winvblock 的问题? 要证明 grub4dos 有问题,简直太容易了——只需证明 map 之后访问虚拟光盘的扇区不等价于原始的 iso 文件中的扇区即可。 假如楼主能证明的话,  详情 回复 发表于 2015-8-2 11:49
回复

使用道具 举报

发表于 2015-8-2 11:43:29 | 显示全部楼层
是我这半罐水理解错了。错怪了不点
好像0.46C的一项改变就是可以MAP不连续的文件,所以楼主的代码在0.46C就执行了第一段。

点评

0.4.5c 不支持非连续的映像文件。0.4.6a 才开始支持。目前不存在 0.4.6c  发表于 2015-8-2 11:56
回复

使用道具 举报

发表于 2015-8-2 11:49:26 | 显示全部楼层
bfgxp 发表于 2015-8-2 11:37
不点大大是不是不在状态,这明明说的是G4D 的MAP问题啊。

你是不是没有意识到,这多半是 firadisk 和 winvblock 的问题?

要证明 grub4dos 有问题,简直太容易了——只需证明 map 之后访问虚拟光盘的扇区不等价于原始的 iso 文件中的扇区即可。

假如楼主能证明的话,那就说明 grub4dos 有错。


注意一个要点:grub4dos 只要在实模式下工作正常,那就完全没问题了。grub4dos 的 map 命令,也仅仅在实模式下有效,在 PE 下无效。只能依靠 firadisk 和 winvblock 之类的驱动才行。也因此,这个问题与 firadisk 和 winvblock 有关。想到这一点并不难。另外,有谁证明过,firadisk 和 winvblock 支持不连续的 iso 文件?我好像从来没见到有人证明过。

回复

使用道具 举报

发表于 2015-8-2 12:07:21 | 显示全部楼层
搭车问个问题:原来版本的grldr菜单写“title maxdos\n”就不会在屏幕最下面显示任何提示了,新版为何无效?

点评

是哪个系列的版本?最早从何时开始出问题(版本的日期)?最新版本解决了没有? 如果是 0.4.5 系列,一般是 chenall 负责。如果是 0.4.6 系列,一般是由 yaya 解决。  详情 回复 发表于 2015-8-2 12:11
回复

使用道具 举报

发表于 2015-8-2 12:11:40 | 显示全部楼层
plutoshen 发表于 2015-8-2 12:07
搭车问个问题:原来版本的grldr菜单写“title maxdos\n”就不会在屏幕最下面显示任何提示了,新版为何无效 ...

是哪个系列的版本?最早从何时开始出问题(版本的日期)?最新版本解决了没有?

如果是 0.4.5 系列,一般是 chenall 负责。如果是 0.4.6 系列,一般是由 yaya 解决。

点评

版本是最新的grub4dos-0.4.6a-2015-07-24.7z 为了菜单看起来美观,不显示最上和最下的提示,我的menu.lst是这样的: call Fn.0 0x40000 "!BAT\necho -P:0000 $[0000]\t\t\t\t\t123\t\t\t\t\0" && initscript (  详情 回复 发表于 2015-8-2 13:02
回复

使用道具 举报

发表于 2015-8-2 13:02:38 | 显示全部楼层
不点 发表于 2015-8-2 12:11
是哪个系列的版本?最早从何时开始出问题(版本的日期)?最新版本解决了没有?

如果是 0.4.5 系列, ...

版本是最新的grub4dos-0.4.6a-2015-07-24.7z

为了菜单看起来美观,不显示最上和最下的提示,我的menu.lst是这样的:

call Fn.0 0x40000 "!BAT\necho -P:0000 $[0000]\t\t\t\t\t123\t\t\t\t\0" && initscript (md)0x200+1
graphicsmode -1 1024 768
find --set-root   /boot/run
command --set-path=()/boot/
write 0x8274 0x2001
debug off

title SelectBoot.iso \n 123
find --set-root /SelectBoot.iso
map --mem /SelectBoot.iso (0xff)
map --hook
chainloader (0xff)

以下省略

原来一切正常,现在\n后面的123显示在方框下面英文提示的上面
回复

使用道具 举报

发表于 2015-8-2 13:52:05 | 显示全部楼层
yaya 可能疏忽了,当有 \n 存在时,不应该显示系统默认的提示信息,而只应该显示 \n 之后的信息。

你可以把问题报告给 yaya。

点评

不知如何联系,烦请老大转达,谢谢!  详情 回复 发表于 2015-8-2 14:14
回复

使用道具 举报

发表于 2015-8-2 14:14:13 | 显示全部楼层
不点 发表于 2015-8-2 13:52
yaya 可能疏忽了,当有 \n 存在时,不应该显示系统默认的提示信息,而只应该显示 \n 之后的信息。

你可 ...

不知如何联系,烦请老大转达,谢谢!
回复

使用道具 举报

发表于 2015-8-2 14:28:31 | 显示全部楼层
搭车问个问题:原来版本的grldr菜单写“title maxdos\n”就不会在屏幕最下面显示任何提示了,新版为何无效?

正在完善中.
回复

使用道具 举报

发表于 2015-8-3 09:12:19 | 显示全部楼层
2、若SKY52PE.ISO不连续(测试时,碎片数目为3个),

增加 --mem 参数,创建1个内存盘试一试。

点评

请问yaya大,目前所有的G4D版本都不能完全识别一些联想电脑的非连续内存,2G的内存只能认出511M,这个问题有没有可能解决呢?这些电脑都是老旧的联想品牌机,许多单位还没有淘汰。  详情 回复 发表于 2015-8-5 17:06
yaya 大,0.46a 有没有简单、直接判断某文件是否连续存储的命令。  详情 回复 发表于 2015-8-4 08:26
回复

使用道具 举报

 楼主| 发表于 2015-8-4 08:26:54 | 显示全部楼层
2011yaya2007777 发表于 2015-8-3 09:12
增加 --mem 参数,创建1个内存盘试一试。

yaya 大,0.46a 有没有简单、直接判断某文件是否连续存储的命令。
回复

使用道具 举报

发表于 2015-8-4 09:59:01 | 显示全部楼层
blocklist FILE
回复

使用道具 举报

发表于 2015-8-5 17:06:43 | 显示全部楼层
2011yaya2007777 发表于 2015-8-3 09:12
增加 --mem 参数,创建1个内存盘试一试。

请问yaya大,目前所有的G4D版本都不能完全识别一些联想电脑的非连续内存,2G的内存只能认出511M,这个问题有没有可能解决呢?这些电脑都是老旧的联想品牌机,许多单位还没有淘汰。

点评

用displaymem 看看  详情 回复 发表于 2015-8-5 17:57
回复

使用道具 举报

发表于 2015-8-5 17:42:41 | 显示全部楼层
你是怎样使用G4D识别内存的?似乎与电脑品牌没有关系吧。

点评

可能您没有接触过某些联想的品牌机,我从前也是不知道这个的。 去年我在几台联想机器上发现,明明内存条是2G的,但是map --mem 512M的iso提示内存不足,重新启动查看grub4dos的菜单,显示类似下图 [attachimg]22  详情 回复 发表于 2015-8-5 19:51
回复

使用道具 举报

发表于 2015-8-5 17:57:16 | 显示全部楼层
plutoshen 发表于 2015-8-5 17:06
请问yaya大,目前所有的G4D版本都不能完全识别一些联想电脑的非连续内存,2G的内存只能认出511M,这个问 ...

用displaymem 看看

点评

现在我手里也没有那样的机器了,但是很多小公司里还有,论坛里也有人提过: http://bbs.wuyou.net/forum.php?mod=viewthread&tid=303582&highlight=511M http://bbs.wuyou.net/forum.php?mod=viewthread&tid=33400  详情 回复 发表于 2015-8-5 19:55
回复

使用道具 举报

发表于 2015-8-5 19:51:29 | 显示全部楼层
2011yaya2007777 发表于 2015-8-5 17:42
你是怎样使用G4D识别内存的?似乎与电脑品牌没有关系吧。

可能您没有接触过某些联想的品牌机,我从前也是不知道这个的。
去年我在几台联想机器上发现,明明内存条是2G的,但是map --mem 512M的iso提示内存不足,重新启动查看grub4dos的菜单,显示类似下图

test.png
回复

使用道具 举报

发表于 2015-8-5 19:55:34 | 显示全部楼层

现在我手里也没有那样的机器了,但是很多小公司里还有,论坛里也有人提过:
http://bbs.wuyou.net/forum.php?m ... &highlight=511M
http://bbs.wuyou.net/forum.php?m ... &highlight=511M
http://bbs.wuyou.net/forum.php?m ... &highlight=511M
回复

使用道具 举报

发表于 2015-8-5 20:09:32 | 显示全部楼层
我理解是指连续的最大内存块=511Mb
回复

使用道具 举报

发表于 2015-8-6 11:30:00 | 显示全部楼层
grub4dos 屏幕顶行显示的三个内存分别是:

1、用户可用的常规内存大小,以 KB 为单位。它是原始状态下(即未经 map --hook 之类的操作之前)的 BIOS 常规内存的大小。一般来说,它就是通电自检(POST)之后 BIOS 数据区 0x413 处的双字节(Word)值。
2、扩展内存的第一个(用户可用的)连续内存块的大小,以 MB 为单位。扩展内存起始于 1M 处。因此,此处的大小就是从 1M 开始的连续内存块的大小。
3、内存地址在 4G 以上的那部分(用户可用的)内存块的大小,以 MB 为单位。它通常是连续的。如果是不连续的,那么也只显示出第一个连续内存块的大小。

如果仅仅基于屏幕顶行所显示的这三个内存块大小的信息,那么我们无法了解系统中最大的连续内存块有多大,以及最小的连续内存块有多小。要了解这些信息,需要用 grub4dos 内建的 displaymem 命令。

displaymem 命令可以显示出内存块的详细分布情况。无论你是否使用了 map 命令,displaymem 命令都是显示出原始的 BIOS 内存分布情况。就是说,displaymem 命令不受 map 命令的影响。

map 命令能够使用系统中的全部可用内存,而不是局限于屏幕顶行所显示的这三个内存块信息。屏幕顶行所显示的这三个内存块信息是很粗略的,只具有粗略的参考价值,只是给人看的,没有实际用处。

回复

使用道具 举报

发表于 2015-8-8 10:39:02 | 显示全部楼层
胡子是检验剃须刀的唯一真理,空谈理论不如实际测试。
大于511M的文件map失败,小点的就成功。

点评

你只需要看看displaymem命令显示的内存块,看看最大的那块内存是多大.也就只能map多大的  详情 回复 发表于 2015-8-8 11:15
回复

使用道具 举报

发表于 2015-8-8 11:15:20 | 显示全部楼层
plutoshen 发表于 2015-8-8 10:39
胡子是检验剃须刀的唯一真理,空谈理论不如实际测试。
大于511M的文件map失败,小点的就成功。

你只需要看看displaymem命令显示的内存块,看看最大的那块内存是多大.也就只能map多大的
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 17:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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