无忧启动论坛

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

[求助] grub4dos支持vhd格式的map --mem吗?

  [复制链接]
跳转到指定楼层
1#
发表于 2013-7-24 08:48:25 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 liuzhaoyzz 于 2013-7-24 12:45 编辑

grub4dos支持vhd格式的map --mem吗?
grub4dos用的是最新版的2013.7.15版本,试了0.4.5c和0.4.6a,用diskgenius生成的vhd动态磁盘或者固定磁盘,map --mem到内存失败,提示文件分区表错误或者损坏。看到论坛也有成功的,也有失败的。是不是grub4dos不支持diskgenius生成的vhd?VHD是2G的NTFS格式,放在硬盘第3分区,用winmount挂载后,用diskgenius快速分区格式化重建了MBR,里面安装了firadisk0.0.1.30,菜单如下:
find --set-root /RAMOS/win7.vhd
map --mem /RAMOS/win7.vhd (hd0)
map (hd0) (hd1)
map --hook
chainloader (hd0,0)/bootmgr
成功http://bbs.wuyou.net/forum.php?mod=viewthread&tid=310280
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=163615
失败http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3769175
      http://bbs.wuyou.net/forum.php?mod=viewthread&tid=274289
用BOOTICE查看vhd的CHS值很奇怪H=16,S=63,菜单改成这样也不行:
find --set-root /RAMOS/win7.vhd
map --mem  --heads=16 --sectors-per-track=63 /RAMOS/win7.vhd (hd0)
map (hd0) (hd1)
map --hook
chainloader (hd0,0)/bootmgr
提示自动探测CHS值错误,取给定的CHS值。VHD能够直接从bootmgr引导进入,win7系统正常,进去后用BOOTICE检查C盘CHS值,H=255,S=63和grub4dos探测的一样,奇怪。动态vhd还好grub4dos能够加载到内存,固定vhd根本不能加载,提示Partition table invalid or corrupt.


IMG_20130723_185928.jpg (183.61 KB, 下载次数: 186)

IMG_20130723_185928.jpg
50#
发表于 2014-3-14 16:45:44 | 只看该作者
正在学习怎么加载xp的iso
回复

使用道具 举报

49#
发表于 2014-3-8 16:25:59 | 只看该作者
不点 发表于 2013-7-25 15:24
这个要求 N 多年前就有人提出了。没人能够实现它,也或许是没人愿意实现它。总之,没有实现它。

从 ...

请问大师  这就是我遇到的类似问题的原因吗
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1

机器主板这么设置了  没法解决了?

点评

混沌剑神 www.aoswx.com/book/991.html 永生之门www.gmwxw.com/book/4185.html  发表于 2014-9-26 16:22
回复

使用道具 举报

48#
发表于 2013-7-25 15:24:57 | 只看该作者
本帖最后由 不点 于 2013-7-25 15:36 编辑
liuzhaoyzz 发表于 2013-7-25 15:01
不点说的很对,我试了,用diskgenius建立1.85G固定大小vhd,分区格式化,winmount挂载后灌入WIN7,VHD里面的 ...


这个要求 N 多年前就有人提出了。没人能够实现它,也或许是没人愿意实现它。总之,没有实现它。

从实践来看,众人要求实现它的愿望也并不迫切。大家都能忍受这样一个限制。

我总是把什么东西往哲学上 “套”,这全都是哲学。权衡的结果,没人愿意努力的结果,现有的已经够用的结果。总之,很多原因的综合结果。


既然谈到这里了,那么顺便再说点深刻的。即使 grub4dos 支持了碎片文件的映射,那也没多大用。必须要求 firadisk 以及 winvblock 也支持才行。那数据结构的改动太大,如果不是万不得已,尽量不要去动它。其实最难的是 GRUB4DOS 仿真代码的改动。12K 的仿真代码空间已经几乎用光了,没有足够的内存来支持这个改动。firadisk 的开发者 karyonix 曾经启动了这个工作,但至今没有进一步的消息。我想,可能是太困难了,或者太复杂了,或者后来觉得不值得去做了。

点评

请问大师 这就是我遇到的类似问题的原因吗 http://bbs.wuyou.com/forum.php?mod=viewthread&tid=326972&extra=page%3D1 机器主板这么设置了 没法解决了?  详情 回复 发表于 2014-3-8 16:25
回复

使用道具 举报

47#
 楼主| 发表于 2013-7-25 15:01:47 | 只看该作者
不点说的很对,我试了,用diskgenius建立1.85G固定大小vhd,分区格式化,winmount挂载后灌入WIN7,VHD里面的win7正常启动,map --mem vhd也正常启动。
map --mem 能改进在内存不要求连续存储吗?

点评

这个要求 N 多年前就有人提出了。没人能够实现它,也或许是没人愿意实现它。总之,没有实现它。 从实践来看,众人要求实现它的愿望也并不迫切。大家都能忍受这样一个限制。 我总是把什么东西往哲学上 “套”,  详情 回复 发表于 2013-7-25 15:24
回复

使用道具 举报

46#
 楼主| 发表于 2013-7-25 12:40:32 | 只看该作者
VHD是2G的,内存4G,"BIOS 把内存碎片化了,最大的连续内存块不足以放置你的 VHD 文件。"
什么都没有启动,bios这样,很无奈!

点评

你可以选用一个好一点的主板,或许就把内存碎块减少。grub4dos 的 displaymem 命令可以显示内存块的详细情况。你可以不买那个糟糕的主板。  发表于 2013-7-25 15:47
回复

使用道具 举报

45#
发表于 2013-7-25 11:55:01 | 只看该作者
这个最大连续内存块不知道有多大?l不加内存条的情况下,只能缩小VHD的大小,测试出一个本机最大的连续内存块值了。
回复

使用道具 举报

44#
发表于 2013-7-25 10:16:56 | 只看该作者
目前的情况无解。

BIOS 把内存碎片化了,最大的连续内存块不足以放置你的 VHD 文件。

解决办法:增加内存(使得总内存达到 8G 即可),这样,4G 以上能够有连续的内存块用来放置 VHD 文件。

回复

使用道具 举报

43#
发表于 2013-7-25 08:52:14 | 只看该作者
太幸运了,有不点大大指点肯定能解决你的问题。

不点大大,在16楼有个2G vhd liuzhaoyzz 测试过了,报错信息在24楼。起动菜单是
title win7--------ramos
find --set-root /RAMOS/win72g.vhd
map --mem /RAMOS/win72g.vhd (hd0)
map (hd0) (hd1)
map --hook
chainloader (hd0,0)/bootmgr

应该怎么解决?
回复

使用道具 举报

42#
发表于 2013-7-25 08:44:23 | 只看该作者
我找不到你的 VHD 文件大小的任何信息。

grub4dos 在 map 时报内存不足,这已经说的很明白了。你没有足够的连续内存块来放置你的 VHD 文件。

虽然你有 4G 内存,但是 BIOS 将其划分成碎块,最大的碎块不足以用来放置你的 VHD 文件。

太普通的错误了,居然没有一个人意识到。

菜单内容也没贴出来,想研究也无法研究。

回复

使用道具 举报

41#
发表于 2013-7-24 23:52:39 | 只看该作者
liuzhaoyzz 发表于 2013-7-24 23:39
我也认为和diskgenius没有多大关系,因为PE3.0直接创建的vhd,grub4dos也不能map --mem。
geometry显示vhd ...

建议贴子改一下名字,请不点大大来分析一下.
回复

使用道具 举报

40#
 楼主| 发表于 2013-7-24 23:39:31 | 只看该作者
我也认为和diskgenius没有多大关系,因为PE3.0直接创建的vhd,grub4dos也不能map --mem。
geometry显示vhd都是以LBA模式读取的,grub4dos显示的H=255,S=63,而bootice则把所有的vhd文件判定为H=16,S=63,但是启动之后的C盘是H=255,S=63,有无矛盾?
手头暂时没有可用的优盘,没法测试。

点评

建议贴子改一下名字,请不点大大来分析一下.  详情 回复 发表于 2013-7-24 23:52
回复

使用道具 举报

39#
发表于 2013-7-24 23:16:01 | 只看该作者
本帖最后由 2011mking 于 2013-7-24 23:20 编辑
liuzhaoyzz 发表于 2013-7-24 23:03
你说的这种可能性可以排除了。刚才在PE下,直接右击我的电脑,进入磁盘管理,直接用PE3.0创建固定2g的vhd, ...


所以说与dg没关系.
有一种导致grub计算出错的地方可能与你的硬盘分区有关(有可能Grub按硬盘簇大小来计算文件大小时就有误差了),将vhd放到U盘上试下.

格式化U盘为Ntfs,拷入win7启动文件和VHD,用BootICE修改一下U盘MBR,以Hdd方式启动的U盘来试验是否是硬盘分区的问题.
回复

使用道具 举报

38#
 楼主| 发表于 2013-7-24 23:03:29 | 只看该作者
本帖最后由 liuzhaoyzz 于 2013-7-24 23:07 编辑

你说的这种可能性可以排除了。刚才在PE下,直接右击我的电脑,进入磁盘管理,直接用PE3.0创建固定2g的vhd,初始化磁盘后分区,格式化,激活,直接用PE3.0挂载好,灌入win7,BOOTICE写引导后,bootmgr成功引导vhd里面的win7,再次尝试map --mem vhd,还是失败!菜单如下:

title win7--------ramos
find --set-root /RAMOS/win72g.vhd
map --mem /RAMOS/win72g.vhd (hd0)
map (hd0) (hd1)
map --hook
chainloader (hd0,0)/bootmgr
grub4dos提示的意思是从文件分区表推算出来的扇区数比整个镜像的扇区数还要小,错误代码28,不能把镜像装入内存。内存应该够大,4G的。
24楼的照片类似。http://bbs.wuyou.net/forum.php?m ... &fromuid=298214
PE3.0里面直接磁盘管理右击挂载所有的vhd都正常,没有出现RAM盘的现象。真是奇怪。

点评

所以说与dg没关系. 有一种导致grub计算出错的地方可能与你的硬盘分区有关,将vhd放到U盘上试下.  详情 回复 发表于 2013-7-24 23:16
回复

使用道具 举报

37#
发表于 2013-7-24 22:42:41 | 只看该作者
本帖最后由 2011mking 于 2013-7-24 22:44 编辑

还有一种可能,是winmount挂载灌入文件后保存时破坏了原始的MBR,试用Imdisk挂载VHD灌装文件测试一下。
回复

使用道具 举报

36#
发表于 2013-7-24 22:09:10 | 只看该作者
本帖最后由 2011mking 于 2013-7-24 22:20 编辑
liuzhaoyzz 发表于 2013-7-24 22:00
试了下,你的grldr是2012.12.31日的,0.4.6a版本,一样的不能map --mem。
所以fujianabc老大分析的很有道理 ...


可是我确实是成功了的呀。确实只用了Diskgenius建VHD,imdisk挂vhd,释放,可重复成功的呀!

这个是我的RamWin7,内存4G,Grub加载VHD用了1.5G,从图上可以看出来。


下图更清楚一点


刚才又试了几版Grldr都没问题,有点怀疑是Grub在你的机器上存在兼容性问题。
回复

使用道具 举报

35#
 楼主| 发表于 2013-7-24 22:00:47 | 只看该作者
试了下,你的grldr是2012.12.31日的,0.4.6a版本,一样的不能map --mem。
所以fujianabc老大分析的很有道理,看了下vhdtool生成的vhd,winmount挂载不上,提示没有分区,难道要在win7或者pe3下分区格式化吗?
我用lianjiang前辈的windows vhd辅助工具在pe3下试下,他这个是基于diskpart的。

点评

可是我确实是成功了的呀。确实只用了Diskgenius建VHD,imdisk挂vhd,释放,可重复成功的呀! 这个是我的RamWin7,内存4G,Grub加载VHD用了1.5G,从图上可以看出来。  详情 回复 发表于 2013-7-24 22:09
回复

使用道具 举报

34#
发表于 2013-7-24 21:52:09 | 只看该作者
我找不到了,通常没有使用grldr.mbr的,就只用grldr,不知道是在哪个包里面了,我按字节大小找一下。
回复

使用道具 举报

33#
 楼主| 发表于 2013-7-24 21:48:47 | 只看该作者
cpu intel core I5的。你上传个你用配套的grldr.mbr上来,我试试。
回复

使用道具 举报

32#
发表于 2013-7-24 21:45:42 | 只看该作者
liuzhaoyzz 发表于 2013-7-24 21:42
bootmgr引导vhd直接7b蓝屏了。硬盘没开ahci。

AMD的CPU?我这个只用了注册表封装,可能不能适应所有的机子。

你用DiskGenius建1.5G的VHD,再导入我上面的分区表,灌你的VHD试试。
回复

使用道具 举报

31#
 楼主| 发表于 2013-7-24 21:45:29 | 只看该作者
把这个grldr配套的grldr.mbr传一个上来。
回复

使用道具 举报

30#
 楼主| 发表于 2013-7-24 21:42:06 | 只看该作者
bootmgr引导vhd直接7b蓝屏了。硬盘没开ahci。

IMG_20130724_213803.jpg (257.57 KB, 下载次数: 80)

IMG_20130724_213803.jpg

点评

AMD的CPU?我这个只用了注册表封装,可能不能适应所有的机子。 你用DiskGenius建1.5G的VHD,再导入我上面的分区表,灌你的VHD试试。  详情 回复 发表于 2013-7-24 21:45
回复

使用道具 举报

29#
发表于 2013-7-24 21:33:08 | 只看该作者
本帖最后由 2011mking 于 2013-7-24 21:40 编辑

传一个Grldr grldr.rar (135.8 KB, 下载次数: 30)

刚才又试了一下,正在Ram方式的win7下,没发现问题
title RAMOS-win7
find --set-root /win7.vhd
map --mem /win7.vhd (hd0)
map (hd0) (hd1)
map --hook
root (hd0,0)
chainloader /bootmgr
boot

下面是我用Diskgenius建的1.5G vhd的分区表文件。
1.5G Vhd 的Mbr.rar (1.46 KB, 下载次数: 11)

回复

使用道具 举报

28#
 楼主| 发表于 2013-7-24 21:30:25 | 只看该作者
本帖最后由 liuzhaoyzz 于 2013-7-24 21:53 编辑

我下载的压缩包里没有grldr,你是不是记错了。
回复

使用道具 举报

27#
 楼主| 发表于 2013-7-24 21:29:51 | 只看该作者
刚刚把你那个win7灌入,等我试下,我直接用bootmgr引导就行了。
回复

使用道具 举报

26#
发表于 2013-7-24 21:26:44 | 只看该作者
本帖最后由 2011mking 于 2013-7-24 21:29 编辑
liuzhaoyzz 发表于 2013-7-24 20:50
2011mking,
用你16楼的那个Win7VHD.vhd,一字未动,map --mem vhd都失败,你试过了吗?我手工输入下面的命 ...



grldr版本不清楚,你下载的压缩包内有。好象是Grldr载入失败,加--top 参数试试。
回复

使用道具 举报

25#
 楼主| 发表于 2013-7-24 20:50:56 | 只看该作者
问下你的grub4dos是什么版本的?
回复

使用道具 举报

24#
 楼主| 发表于 2013-7-24 20:50:35 | 只看该作者
本帖最后由 liuzhaoyzz 于 2013-7-24 21:27 编辑

2011mking,
用你16楼的那个Win7VHD.vhd,一字未动,map --mem vhd都失败,你试过了吗?我手工输入下面的命令都提示错误,也是加载到内存的时候出错的。
find --set-root /RAMOS/Win7VHD.vhd
map --mem /RAMOS/Win7VHD.vhd (hd0)
第二条提示出错,grub4dos提示的意思是从文件分区表推算出来的扇区数比整个镜像的扇区数还要小,错误代码28,不能把镜像装入内存。内存应该够大,4G的。
所以是否用你的win7灌入已经不重要了。

IMG_20130724_205531.jpg (233.14 KB, 下载次数: 82)

IMG_20130724_205531.jpg

点评

有这样启动的吗? title RAMOS-win7 find --set-root /win7.vhd map --mem /win7.vhd (hd0) map (hd0) (hd1) map --hook root (hd0,0) chainloader /bootmgr boot grldr版本不清楚,你下载的压缩包内有。  详情 回复 发表于 2013-7-24 21:26
回复

使用道具 举报

23#
 楼主| 发表于 2013-7-24 17:24:25 | 只看该作者
我用的diskgenius4.3免费版。
回复

使用道具 举报

22#
发表于 2013-7-24 17:07:28 | 只看该作者
fujianabc 发表于 2013-7-24 16:02
我也用diskgenius试了一下,diskgenius创建出来的vhd没问题。

但用diskgenius在vhd内创建分区并且格式 ...


刚才试了,用DiskGenius 3.5 免费版创建的VHD并格式化(见16楼)在win7下可以正确挂载,不是RAW格式。(在VHD win7下挂载正常)

是否各位用的是破解版?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-11 20:55

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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