无忧启动论坛

标题: 关于使用map --e820cycles 参数后的问题,请不点大师进 [打印本页]

作者: drdark    时间: 2011-10-12 13:31
标题: 关于使用map --e820cycles 参数后的问题,请不点大师进
为了解决近期I5系列集显的蓝屏,黑屏冻死问题,grub4dos加入了 map --e820cycles 参数。

关于该参数作用和用法,见http://bbs.znpc.net/viewthread.php?tid=6146&extra=page%3D1&page=5

本人单位都是Dell机器,在E6410,E6420等I5集显(同型号独立显卡的机器倒是没有问题,BIOS是通用的)的机器上也遇到了PE启动蓝屏,map -mem镜像后安装Windows中黑屏锁死等问题。   
现在在map --hook 前加入参数map --e820cycles=0倒是解决了PE启动蓝屏的问题,map -mem ISO 安装widnows也能进入到磁盘选择界面。但是格式化磁盘后却遇到以下问题。
按照不点的说明,是不是因为int15没有锁定,导致内存中的ISO镜像被破坏?有没有解决办法?

谢谢!


作者: 3370123    时间: 2011-10-12 16:03
已经有一个人反映了

但是他好像没加 --e820 这个参数
作者: 不点    时间: 2011-10-12 16:44
进入操作系统以后的事,不归 grub4dos 管辖。

--e820cycles=-1 才是正确的取值。有人用错误的值 --e820cycles=0 可以达到某种目的,但不要忘了,这个用法是错误的。这么用的后果是无法预料的,成功也只是暂时的。

遇到这样的问题,就自己想办法解决吧,比如说,放弃 grub4dos 而采用别的办法。
作者: sratlf    时间: 2011-10-12 18:14
标题: 回复 #3 不点 的帖子
报告另外一个错误  今天才发现的  1009版grub  虚拟机和实机测试  都是1G内存

使用如下菜单通过iso镜像安装xp时0x7b蓝屏

  1. title [01] XP
  2. map --mem /BOOT/IMGS/FIRADISK.IMG (fd1)
  3. map --hook
  4. find --set-root /WIN$.ISO
  5. map /WIN$.ISO (0xff)
  6. map --rehook
  7. chainloader (0xff)
  8. boot
复制代码


改成 map --mem /WIN$.ISO (0xff) 载入内存后再安装就没问题

我记得以前的grub用上面菜单是没问题的  晚上回去测试下看从什么时候出现的这个问题
作者: drdark    时间: 2011-10-12 18:31
谢谢解答。


原帖由 不点 于 2011-10-12 16:44 发表
进入操作系统以后的事,不归 grub4dos 管辖。

--e820cycles=-1 才是正确的取值。有人用错误的值 --e820cycles=0 可以达到某种目的,但不要忘了,这个用法是错误的。这么用的后果是无法预料的,成功也只是暂时 ...

作者: pseudo    时间: 2011-10-12 18:50
标题: 回复 #4 sratlf 的帖子
这样子一向不行吧。        
作者: sratlf    时间: 2011-10-12 21:14
标题: 回复 #6 pseudo 的帖子
我确定没问题  完整菜单如下  需0.0.1.30版firadisk以上

确定了  grub4dos-0.4.5b-2011-10-02版可以正常用下面菜单安装系统  grub4dos-0.4.5b-2011-10-04就会0x7B蓝屏

  1. title [01] XP
  2. map /BOOT/IMGS/FIRADISK.IMG (fd1)
  3. map --mem (md)0x6000+2880 (fd0)
  4. map --hook
  5. dd if=(fd1) of=(fd0) count=1
  6. map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
  7. find --set-root /WIN$.ISO
  8. map /WIN$.ISO (0xff)
  9. map --rehook
  10. write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/WIN$.ISO;floppy,vmem=find:/BOOT/IMGS/FIRADISK.IMG;\n\0
  11. chainloader (0xff)
  12. boot
复制代码

[ 本帖最后由 sratlf 于 2011-10-12 21:25 编辑 ]
作者: rockrock99    时间: 2011-10-12 22:24
用firadisk驱动时,map必须加-mem
楼主说的就是我反应的情况,“map --e820cycles=0”就可以显示分区列表,但扫描分区时就报错(截图1、2)
map --e820cycles=-1就直接在出分区列表前无限黑屏(死机,不能热启动)
看来需要map --e820cycles=0才能启动PE的平台无法这样安装系统
作者: 快雪时晴    时间: 2011-10-12 22:33
标题: 回复 #8 rockrock99 的帖子
Firadisk早就不用map 加--mem了,前提是iso连续空间无碎片
作者: sratlf    时间: 2011-10-12 22:36
标题: 回复 #8 rockrock99 的帖子
你可以查firadisk的更新日志  0.0.1.30版firadisk和0.0.0.8版winvblock都已经实现了不map到内存也可仿真的功能

我用7#的菜单装系统也有很多次了  不相信的话可以自己试验下  注意grub4dos要2011-10-02之前的就可以了
作者: pseudo    时间: 2011-10-13 00:07
标题: 回复 #7 sratlf 的帖子
就#4楼菜单而言,是不行的,无论firadisk、g4d什么版本。
你在#7楼改了菜单,那另说。
作者: yueyezhan    时间: 2011-10-13 00:42
原帖由 sratlf 于 2011-10-12 22:36 发表
你可以查firadisk的更新日志  0.0.1.30版firadisk和0.0.0.8版winvblock都已经实现了不map到内存也可仿真的功能

我用7#的菜单装系统也有很多次了  不相信的话可以自己试验下  注意grub4dos要2011-10-02之前的 ...


grub4dos-0.4.5b-2011-10-04版本在哪儿下载
作者: sratlf    时间: 2011-10-13 01:01
标题: 回复 #11 pseudo 的帖子
恩  是我的失误  但是7#的问题确实存在
作者: maanu    时间: 2011-10-13 02:55
Mr Sratif

does winvblock latest driver also gives 0x007b with or without e820 patch ?
作者: rockrock99    时间: 2011-10-13 08:03
标题: 回复 #14 maanu 的帖子
在某些需要指定e820参数的平台上,没指定“map --e820cycles=0”,将会在出现分区列表前黑屏死机,不是7B蓝屏
作者: rockrock99    时间: 2011-10-13 08:04
标题: 回复 #12 yueyezhan 的帖子
http://code.google.com/p/grub4do ... 7z&can=2&q=
2011-10-04版本
作者: sratlf    时间: 2011-10-13 08:29
标题: 回复 #14 maanu 的帖子
Hi maanu, no, Winvblock is working fine, you can use it to instead of the firadisk.
作者: rockrock99    时间: 2011-10-13 08:54
标题: 回复 #17 sratlf 的帖子
菜单能不能改造成不含内存地址命令的,我完全看不懂内存地址
作者: sratlf    时间: 2011-10-13 09:08
标题: 回复 #18 rockrock99 的帖子
这个不太可能吧

map --mem (md)0x6000+2880 (fd0)

这个是将从0x6000开始的2880个扇区  共1440KB仿真成fd0

map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)

--heads=2 --sectors-per-track=18 是指定磁盘CHS中H和S的值  具体的我也不太明白  是firadisk作者要求的

--mem (md)0x800+4 (99) 这个是将内存中一段长度仿真为第99个软驱设备
作者: yueyezhan    时间: 2011-10-13 12:14
原帖由 rockrock99 于 2011-10-13 08:04 发表
http://code.google.com/p/grub4dos-chenall/downloads/detail?name=grub4dos-0.4.5b-2011-10-04.7z&can=2&q=
2011-10-04版本


chenall的这个版本我下载了,map --mem和map都能正常使用
作者: pseudo    时间: 2011-10-13 12:34
这里有可供测试的现成pe和iso启动器(放入ud即可):
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=200759&extra=page%3D1

从iso安装系统参考操作教程:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=196149&extra=page%3D1
看看哪一步遇到什么问题,换台机器、虚拟机又如何。



@rockrock99
你在#15说法是黑屏死机,在时空说法是报错(未具体指出什么错)。两者是否有差异?
我有点不能确定你在时空的说法是否实际按教程操作的结果。

[ 本帖最后由 pseudo 于 2011-10-13 13:03 编辑 ]
作者: sratlf    时间: 2011-10-13 12:45
原帖由 yueyezhan 于 2011-10-13 12:14 发表


chenall的这个版本我下载了,map --mem和map都能正常使用



能说下怎么安装的吗  方便的话请用1004版测试下7#的菜单  看能不能启动到磁盘分区阶段
作者: yueyezhan    时间: 2011-10-13 13:13
原帖由 sratlf 于 2011-10-13 12:45 发表



能说下怎么安装的吗  方便的话请用1004版测试下7#的菜单  看能不能启动到磁盘分区阶段


write (md)0x200+1 [FiraDisk]\nStartOptions=disk,vmem=find:/RAMOS/test.vhd,boot;cdrom,vmem=find:/ramos/test.iso;floppy,vmem=find:/RAMOS/firadisk.ima;\n\0
map --mem (md)0x200+16 (99)
find --set-root /RAMOS/firadisk.ima
map /RAMOS/firadisk.ima (fd0)
map /RAMOS/firadisk.ima (fd1)
find --set-root /RAMOS/test.vhd
map /RAMOS/test.vhd (hd0)
find --set-root /RAMOS/test.iso
map /ramos/test.iso (0xff)
map (hd0) (hd1)
map --hook
chainloader (0xff)


我是直接分别map firadisk.ima到fd0和fd1的,这样就没问题,至于vhd后面的boot参数,在我的机器上,只有用boot和同时把firadisk.ima map到fd0和fd1,vhd磁盘在分区管理的界面下盘符才能为c盘,find参数,我的硬盘除了一个200m的活动分区外,其余的分区都是64k的非标准的簇,不用find参数,找不到文件;

我试过map --mem  firadisk.ima到fd0和fd1,这样不会蓝屏,但是会在 setup is starting windows 这个界面直接卡死

我的机器是技嘉 880ga ud3h  硬盘 一个raid0+一个单盘,iso用的是集成raid驱动的2003 sp2 ent,启动后按f6加载firadisk驱动;grub4dos04和09的版本都试了,同样的结果

[ 本帖最后由 yueyezhan 于 2011-10-13 13:18 编辑 ]
作者: rockrock99    时间: 2011-10-13 16:40
标题: 回复 #21 pseudo 的帖子
没有差异,加了map --e820cycles=0就可以出分区列表但检查分区时报错,提示内存不足,或磁盘错误
不加map --e820cycles=0就在分区列表前黑屏死机
另外使用0PE 2.x的最新版也是不能进PE(提示B4错误)
以上现象均在Dell N4030(集显版本)上出现

楼上用集成驱动的ISO测试就没意义了,这么折腾只是为了能安装上原版的ISO而已

P大方便就加我Q:739910131,详聊
作者: drdark    时间: 2011-10-13 18:34
是的,看来这位也是遇到和我一样的问题,dell目前的I5集显的机器,都普遍有这个症状!奇怪的是为何我NV显卡的E6420就好好的,同样的平台,只是显卡不一样。

这类机器目前没有办法 map --mem 原版系统ISO 来安装 ,尝试用1.3的0PE的ISO启动器也不行,也是在进入分区前黑屏死机。



原帖由 rockrock99 于 2011-10-13 16:40 发表
没有差异,加了map --e820cycles=0就可以出分区列表但检查分区时报错,提示内存不足,或磁盘错误
不加map --e820cycles=0就在分区列表前黑屏死机
另外使用0PE 2.x的最新版也是不能进PE(提示B4错误)
以上现 ...

作者: rockrock99    时间: 2011-10-13 21:07
标题: 回复 #25 drdark 的帖子
又遇到一位“同志”了
现在DELL的Intel集显机型都有这个问题(其它牌子也有些型号会出现此问题),独显正常,可惜不点没时间深入解决
作者: yueyezhan    时间: 2011-10-13 22:13
原帖由 rockrock99 于 2011-10-13 16:40 发表
没有差异,加了map --e820cycles=0就可以出分区列表但检查分区时报错,提示内存不足,或磁盘错误
不加map --e820cycles=0就在分区列表前黑屏死机
另外使用0PE 2.x的最新版也是不能进PE(提示B4错误)
以上现 ...


以前我也纠结免按f6 使用不集成驱动的iso来安装xp这些问题,后来想通了,除非是安装系统到vhd之类的虚拟磁盘,绝对不会去使用firadisk驱动,用firadisk驱动+原版的iso装到物理分区的系统,其实会多出一个你永远都用不到的驱动;pxe模拟ris安装等等,太多的选择来使用原版的安装文件来安装xp/2003了
作者: 不点    时间: 2011-10-17 09:15
标题: 回复 #26 rockrock99 的帖子
>>> 可惜不点没时间深入解决

别开玩笑了。一个庞大的技术团队所做的 “套”, 能让虾兵蟹将轻易解决了,你不是在说梦话吧?

先前其实已经解决不了了。只是很偶然地发现,他们的 “套” 有一个 bug,就是通过设置一个不正确的 e820cycles=0 就可以绕过这个 bug。

但是这样一个手段,躲过了一时,躲不过一世。他们可以制造 1 个 “套”, 也可以制造 100 个 “套”。视需要而定,水涨船高。

而且按照我的逻辑,这 “套” 会越来越多。所以,我对这个问题,已经十分清楚了:不可能有结果。一个不可能做到的事,也去花费力气,那不是傻子吗?
作者: yueyezhan    时间: 2011-10-17 13:32
原帖由 不点 于 2011-10-17 09:15 发表
>>> 可惜不点没时间深入解决

别开玩笑了。一个庞大的技术团队所做的 “套”, 能让虾兵蟹将轻易解决了,你不是在说梦话吧?

先前其实已经解决不了了。只是很偶然地发现,他们的 “套” 有一个 bug,就是通 ...


规则和约束只有在力量相近可以相互制衡的时候才有用
作者: 幸运的草    时间: 2011-10-17 13:40
WHY??WHY??WHY??
这样做到底为什么?不支持U启,对他们有什么好处?方便用户的事为什么要去限制?如果我们都不用他们的机,让他们做孽去?
     以后我买机我就用U盘试,谁支持我用谁的。
作者: rockrock99    时间: 2011-10-17 22:09
标题: 回复 #28 不点 的帖子
是我误解了,不好意思
作者: 不点    时间: 2011-10-17 23:19
@friend8179

早期的微软 DOS 喜欢用单字符的开关。开源的系统通常使用一个或者多个单词来作为开关的名称。

当命令行的长度不再局限于 128 个字符的时候,开关的名称应该加长,以提高可读性。

将就着吧。如果你觉得不方便,你自己可以编译一个版本,使用你自己喜欢的开关名称。
作者: 不点    时间: 2011-10-17 23:30
标题: 回复 #31 rockrock99
是我先前没有详细说明,导致你误解了。不好意思。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3