无忧启动论坛

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

[求助] grub4dos启动动态VHD到内存引导RAMOS失败,求指教!

[复制链接]
跳转到指定楼层
1#
发表于 2017-2-1 10:21:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

大家新年好!昨天研究动态VHD启动RAMOS,老是报错error 13,特来求助。
   
最近一直在用完整Windows 7 x64制作的RAMOS,24G的固定VHD文件,用gurb4dos加载到内存,可以正常引导进入桌面使用。
但是用了一阵子就太嫌弃加载时间太长了,明明只有9G左右的数据,非得加载24G,太慢了。
看到这篇帖子:karyonix 制作了动态 VHD 支持补丁 ,看到grub4dos支持动态vhd,心想把现在这个vhd转成动态的,不就行了么。

然而实际操作中,换了好几种方法都是报错 error13 ,如下图所示。



vhd文件是用Win8 PE内置磁盘管理新建的,用***克隆数据和Ghost克隆数据都不行,想了想是不是这个版本就问题?
就换了最新的grub4dos版本:grub4dos-0.4.6a-2016-12-24以及
帖子中的附件grub4dos-0.4.5c-2015-06-08-dynvhd 都是报这个错误,折腾好半天了,特来求助各位网友!

(因grub4dos、VHD、RAMOS都有涉及就发在综合讨论区,如版主觉得不对请帮忙移下,勿删帖,谢谢!)

相关信息:
1.启动菜单是直接写到grldr工具里面的,换了grub4dos版本,是直接把语句复制到新的grldr版本里。

2.grub4dos中执行displaymem命令结果如下图


3.启动菜单如下:

debug off
timeout 5
default 1

gfxmenu /OSBOOT/MESSAGE

title Boot For Hard Disk
chainloader (hd0,0)/bootmgr

title Win7 RAMOS Mode
find --set-root /Win7/Win7.vhd
map --mem --top /Win7/Win7.vhd (hd0)
map --hook
root (hd0,0)
chainloader /bootmgr
boot


title ReBoot
reboot



2#
发表于 2017-2-1 11:15:17 | 只看该作者
本帖最后由 不点 于 2017-2-1 11:18 编辑

提供以下意见,供参考。

一、 gfxmenu 那一行,有可能带来某些问题。你可以去掉它,再试试。

二、chainloader /bootmgr 报错说,文件格式无效,不是合法的 bootmgr 格式。那么,你确认一下,究竟这个文件是否有错?比如执行 cat  --hex  /bootmgr 看看它的第一扇区数据是不是合法的 bootmgr 格式?

三、你顺便可以看看当前盘是哪个?会不会阴差阳错弄错了盘号?用 root 命令不带参数,即可看到当前盘的信息,用 geometry 命令不带参数,也能显示出当前盘的信息。

你有 64G 内存,而且没有碎片,是最好的内存布局。我想,在这方面应该是没问题的。

另外提醒一下,debug off 命令会关闭错误显示,这不利于你排错。建议你去掉这条命令。



点评

首先感谢 不点 朋友的指点! 我是不太懂这些东西的,搞这些只是个人爱好,并没有太深入研究。 这个菜单还是很早以前在网上找的东拼西凑弄来的,在前年8G内存机器上加载3.5G VHD的32位Win7 RAMOS能用, 去年制作  详情 回复 发表于 2017-2-1 13:54
回复

使用道具 举报

3#
 楼主| 发表于 2017-2-1 13:54:54 | 只看该作者
不点 发表于 2017-2-1 11:15
提供以下意见,供参考。

一、 gfxmenu 那一行,有可能带来某些问题。你可以去掉它,再试试。

首先感谢 不点 朋友的指点!

我是不太懂这些东西的,搞这些只是个人爱好,并没有太深入研究。
这个菜单还是很早以前在网上找的东拼西凑弄来的,在前年8G内存机器上加载3.5G VHD的32位Win7 RAMOS能用,
去年制作了64位的Win7 RAMOS也能用,就没管它了,gfxmenu还是微PE那里弄来的

按照你建议的的去掉 gfxmenu 和debug off 了,提示ERROR13后,我就输入了你建议的cat  --hex  /bootmgr 和root命令,见下图。


1、



2、



3、



之前想到会不会是NTFS压缩导致不能正确读取bootmgr文件所致,我就去看了下,这个文件和BCD文件等重要启动文件并没有压缩。
从vhd文件里面复制了bootmgr文件,打包成附件。再求指点!
bootmgr.rar (314.25 KB, 下载次数: 7)

点评

你上载的 bootmgr 的内容如下(是正确的): 00000000 E9 D5 01 EB 04 90 00 00 00 52 8B C3 0E 07 66 33 .........R....f3 00000010 DB BA 01 00 E8 34 00 E9 51 01 2E 88 16 06 00 50 .....4..Q....  详情 回复 发表于 2017-2-1 16:14
回复

使用道具 举报

4#
发表于 2017-2-1 16:14:11 | 只看该作者
2013lirunext 发表于 2017-2-1 13:54
首先感谢 不点 朋友的指点!

我是不太懂这些东西的,搞这些只是个人爱好,并没有太深入研究。

你上载的 bootmgr 的内容如下(是正确的):
00000000   E9 D5 01 EB  04 90 00 00  00 52 8B C3  0E 07 66 33  .........R....f3
00000010   DB BA 01 00  E8 34 00 E9  51 01 2E 88  16 06 00 50  .....4..Q......P
00000020   66 0F B6 54  02 66 0F B7  04 66 F7 E2  66 C1 E8 04  f..T.f...f..f...
00000030   2E A3 07 00  8C C1 03 C8  8E C1 58 E8  30 00 0F 82  ..........X.0...
00000040   05 00 E8 06  00 EB F4 5A  E9 8D 01 8B  CA 8B D0 52  .......Z.......R
00000050   51 06 66 53  8A 44 02 FF  1D 66 5B 07  8C C1 2E 03  Q.fS.D...f[.....
00000060   0E 07 00 8E  C1 59 5A 42  E2 E5 4A 8B  C2 C3 66 53  .....YZB..J...fS
00000070   66 53 50 E8  CA 00 E8 3A  00 66 8B C8  58 66 8B DA  fSP....:.f..Xf..
00000080   E8 80 00 66  5B 83 FA FF  0F 85 05 00  33 D2 F9 EB  ...f[.......3...
00000090   1F 8B C2 50  E8 A9 00 66  3B C8 0F 84  03 00 E8 12  ...P...f;.......
000000A0   00 66 0F B7  0C 66 03 CB  66 8B DA 58  E8 28 00 F8  .f...f..f..X.(..
000000B0   66 5B C3 66  50 66 52 66  51 66 53 06  66 0F B7 4C  f[.fPfRfQfS.f..L
000000C0   03 66 03 C8  66 89 4D 08  B0 02 FF 5D  04 07 66 5B  .f..f.M....]..f[
000000D0   66 59 66 5A  66 58 C3 50  66 51 33 C9  E8 24 00 41  fYfZfX.PfQ3..$.A
000000E0   83 FA FF 0F  84 16 00 40  3B C2 0F 85  0F 00 66 58  .......@;.....fX
000000F0   66 50 66 3B  D8 0F 83 04  00 8B C2 EB  DF 8B D1 66  fPf;...........f
00000100   59 58 C3 50  26 67 8B 13  2E 80 3E 06  00 00 0F 84  YX.P&g....>.....
00000110   1E 00 24 01  0F 84 05 00  C1 EA 04 66  43 66 43 81  ..$........fCfC.
00000120   E2 FF 0F 81  FA F8 0F 0F  82 13 00 BA  FF FF EB 0E  ................
00000130   66 83 C3 02  83 FA F8 0F  82 03 00 BA  FF FF 58 C3  f.............X.
00000140   66 51 66 0F  B7 C0 2E 80  3E 06 00 00  0F 84 0B 00  fQf.....>.......
00000150   66 8B C8 66  D1 E8 66 03  C1 EB 03 66  D1 E0 66 0F  f..f..f....f..f.
00000160   B7 0C 66 33  D2 66 F7 F1  66 59 C3 66  50 66 53 66  ..f3.f..fY.fPfSf
00000170   51 66 0F B7  4C 08 0B C9  0F 85 04 00  66 8B 4C 15  Qf..L.......f.L.
00000180   66 0F B6 5C  05 66 0F B7  44 0B 66 F7  E3 66 2B C8  f..\.f..D.f..f+.
00000190   66 0F B7 44  06 66 C1 E0  05 66 0F B7  1C 66 03 C3  f..D.f...f...f..
000001A0   66 48 66 33  D2 66 F7 F3  66 2B C8 66  0F B7 44 03  fHf3.f..f+.f..D.
000001B0   66 2B C8 66  8B C1 66 0F  B6 4C 02 66  33 D2 66 F7  f+.f..f..L.f3.f.
000001C0   F1 32 D2 66  3D F5 0F 00  00 0F 83 02  00 FE C2 66  .2.f=..........f
000001D0   59 66 5B 66  58 E9 42 FE  BB E0 3D C1  EB 04 8C C8  Yf[fX.B...=.....
000001E0   03 C3 8E D0  BC 80 0C 52  8E D8 8E C0  66 33 ED 66  .......R....f3.f
000001F0   0F B7 E4 8C  1E 34 15 8C  0E 36 15 E8  6E 03 00 00  .....4...6..n...
00000200   66 55 66 53  66 56 66 57  66 8B DC B8  60 00 8E D8  fUfSfVfWf...`...
00000210   8E D0 BC 80  14 66 33 ED  66 0F B7 E4  66 53 66 B9  .....f3.f...fSf.
00000220   02 00 00 00  66 8B F3 66  83 C6 14 6A  30 1F 16 07  ....f..f...j0...
00000230   83 EC 04 66  33 FF 8B FC  67 8B 06 26  67 89 07 66  ...f3...g..&g..f
00000240   83 C6 02 66  83 C7 02 E2  EF 06 1F E8  CB 06 83 C4  ...f............
00000250   04 66 5B BA  30 00 8E DA  8E D2 8E C2  66 8B E3 66  .f[.0.......f..f
---  bootmgr       --0x0/0x5DB2A-----------------------------------------------

然而你用 cat 命令弄出来的 bootmgr 的内容是不同的,同时也是不正确的。

怀疑:

你使用 ntfs 压缩,造成 grub4dos 出问题,无法正确获得 bootmgr 文件的内容。grub4dos 不一定支持 NTFS 压缩。即使支持,也可能只是部分地支持,而非“全面、完整、彻底”的支持。

好的,问题已经很清楚了。你自己琢磨一下,看看究竟应该怎么改进你的方案。

点评

呃,之前我看了bootmgr和bcd文件等和启动有关的文件是没有被NTFS压缩的,固定大小的vhd克隆到新建的动态vhd里,文件属性都是一样的,压缩了的文件都是压缩的,没被压缩的那几个文件还是没被压缩。 之前我制作固定  详情 回复 发表于 2017-2-3 09:45
呃,之前我看了bootmgr和bcd文件等和启动有关的文件是没有被NTFS压缩的,固定大小的vhd克隆到新建的动态vhd里,文件属性都是一样的,压缩了的文件都是压缩的,没被压缩的那几个文件还是没被压缩。 之前我制作固定  详情 回复 发表于 2017-2-3 09:45
呃,之前我看了bootmgr和bcd文件等和启动有关的文件是没有被NTFS压缩的,固定大小的vhd克隆到新建的动态vhd里,文件属性都是一样的,压缩了的文件都是压缩的,没被压缩的那几个文件还是没被压缩。 之前我制作固定  详情 回复 发表于 2017-2-3 09:44
回复

使用道具 举报

5#
 楼主| 发表于 2017-2-3 09:44:24 | 只看该作者
不点 发表于 2017-2-1 16:14
你上载的 bootmgr 的内容如下(是正确的):
00000000   E9 D5 01 EB  04 90 00 00  00 52 8B C3  0E 07 ...

呃,之前我看了bootmgr和bcd文件等和启动有关的文件是没有被NTFS压缩的,固定大小的vhd克隆到新建的动态vhd里,文件属性都是一样的,压缩了的文件都是压缩的,没被压缩的那几个文件还是没被压缩。

之前我制作固定大小的vhd的时候,把整个vhd文件里面的文件给压缩了,但是手动去除了bootmgr、bcd文件等相关启动文件的压缩。这样子的vhd是可以正常加载、引导进入桌面使用的。

我尝试把克隆后的动态vhd,里面文件全部取消ntfs压缩,然而还是启动报13。。。这就不懂了。。。

还是等有空试试新建一个空白的动态vhd,然后系统安装到那里,看看能不能加载到内存才知道了。。。

谢谢 不点 的指点,等有空再试试!
回复

使用道具 举报

6#
 楼主| 发表于 2017-2-3 09:45:46 | 只看该作者
不点 发表于 2017-2-1 16:14
你上载的 bootmgr 的内容如下(是正确的):
00000000   E9 D5 01 EB  04 90 00 00  00 52 8B C3  0E 07 ...

呃,之前我看了bootmgr和bcd文件等和启动有关的文件是没有被NTFS压缩的,固定大小的vhd克隆到新建的动态vhd里,文件属性都是一样的,压缩了的文件都是压缩的,没被压缩的那几个文件还是没被压缩。

之前我制作固定大小的vhd的时候,把整个vhd文件里面的文件给压缩了,但是手动去除了bootmgr、bcd文件等相关启动文件的压缩。这样子的vhd是可以正常加载、引导进入桌面使用的。

我尝试把克隆后的动态vhd,里面文件全部取消ntfs压缩,然而还是启动报13。。。这就不懂了。。。

还是等有空试试新建一个空白的动态vhd,然后系统安装到那里,看看能不能加载到内存才知道了。。。

谢谢 不点 的指点,等有空再试试!
回复

使用道具 举报

7#
 楼主| 发表于 2017-2-3 09:45:53 | 只看该作者
不点 发表于 2017-2-1 16:14
你上载的 bootmgr 的内容如下(是正确的):
00000000   E9 D5 01 EB  04 90 00 00  00 52 8B C3  0E 07 ...

呃,之前我看了bootmgr和bcd文件等和启动有关的文件是没有被NTFS压缩的,固定大小的vhd克隆到新建的动态vhd里,文件属性都是一样的,压缩了的文件都是压缩的,没被压缩的那几个文件还是没被压缩。

之前我制作固定大小的vhd的时候,把整个vhd文件里面的文件给压缩了,但是手动去除了bootmgr、bcd文件等相关启动文件的压缩。这样子的vhd是可以正常加载、引导进入桌面使用的。

我尝试把克隆后的动态vhd,里面文件全部取消ntfs压缩,然而还是启动报13。。。这就不懂了。。。

还是等有空试试新建一个空白的动态vhd,然后系统安装到那里,看看能不能加载到内存才知道了。。。

谢谢 不点 的指点,等有空再试试!
回复

使用道具 举报

8#
发表于 2017-2-3 10:45:59 | 只看该作者
关于 Windows 启动、安装,以及 VHD、NTFS、压缩,等等,我都没有接触,无法替你解决什么问题。我所有的想法,都是揣测。

你可以搜索有关VHD、grub4dos 的话题,说不定能获得启发。

一个不成熟的想法:你可以考虑不要启用 ntfs 压缩,而用 lzma 之类的压缩手段来压缩 VHD 文件,然后再加载到内存(grub4dos 支持 lzma 压缩格式)。我想,这样有可能成功。

点评

非常感谢!用VHD的好处就是可以保持加载到内存后,“原汁原味”的效果,比如我把这个vhd转换成wim,体积小了很多,一样可以启动,但是Chrome的书签,设置,账户等等都没了。。。QQ的记住密码也失效了。我个人猜测是  详情 回复 发表于 2017-2-6 17:47
回复

使用道具 举报

9#
 楼主| 发表于 2017-2-6 17:47:19 | 只看该作者
不点 发表于 2017-2-3 10:45
关于 Windows 启动、安装,以及 VHD、NTFS、压缩,等等,我都没有接触,无法替你解决什么问题。我所有的想 ...

非常感谢!用VHD的好处就是可以保持加载到内存后,“原汁原味”的效果,比如我把这个vhd转换成wim,体积小了很多,一样可以启动,但是Chrome的书签,设置,账户等等都没了。。。QQ的记住密码也失效了。我个人猜测是有些软件会根据磁盘验证自身是否被拷贝到别的电脑,是的话,和账户有关的会被处理,以防隐私泄漏。而wim、img格式等就对这种情况不太友好,会出类似的问题。vhd就不会,vhd模式怎么样,RAMOS模式就怎么样,不会有什么变化。我不知道压缩成lzma文件会不会,有空再试试吧!
回复

使用道具 举报

10#
发表于 2017-5-15 09:43:44 | 只看该作者

我也遇到同样问题。
回复

使用道具 举报

11#
发表于 2017-5-15 11:05:38 | 只看该作者
其实用p驱更方便 出错更少

点评

感觉P驱的某些兼容性比不上F驱,所以没换成P驱  详情 回复 发表于 2017-5-23 22:49
回复

使用道具 举报

12#
 楼主| 发表于 2017-5-23 22:49:26 | 只看该作者
y7y007 发表于 2017-5-15 11:05
其实用p驱更方便 出错更少

感觉P驱的某些兼容性比不上F驱,所以没换成P驱
回复

使用道具 举报

13#
发表于 2017-7-5 14:33:04 | 只看该作者
请问楼主是否已能正常运行动态vhd系统?

点评

还是不行呀,折腾了几天还是失败就没折腾了  详情 回复 发表于 2017-7-5 20:05
回复

使用道具 举报

14#
 楼主| 发表于 2017-7-5 20:05:30 | 只看该作者
dadaodan 发表于 2017-7-5 14:33
请问楼主是否已能正常运行动态vhd系统?

还是不行呀,折腾了几天还是失败就没折腾了

点评

好的,谢谢  详情 回复 发表于 2017-7-11 09:40
回复

使用道具 举报

15#
发表于 2017-7-11 09:40:53 | 只看该作者
2013lirunext 发表于 2017-7-5 20:05
还是不行呀,折腾了几天还是失败就没折腾了

好的,谢谢
回复

使用道具 举报

16#
发表于 2019-12-27 15:45:30 | 只看该作者
楼主的问题解决了吗。加载24G到内存里面运行?
为什么我在虚拟机里面测试,超过1.5G的的VHD就报error 5。

点评

没有呢,很久前的事了,当时折腾了下没弄好,就没有用动态VHD了,用普通的VHD凑合用了,当时想用动态VHD主要是动态VHD占用空间小,加载到内存的速度比普通VHD快。前两个月发现可以用lz4压缩vhd,一样可以提升加载到  详情 回复 发表于 2019-12-28 23:44
回复

使用道具 举报

17#
 楼主| 发表于 2019-12-28 23:44:53 | 只看该作者
dehifir 发表于 2019-12-27 15:45
楼主的问题解决了吗。加载24G到内存里面运行?
为什么我在虚拟机里面测试,超过1.5G的的VHD就报error 5。

没有呢,很久前的事了,当时折腾了下没弄好,就没有用动态VHD了,用普通的VHD凑合用了,当时想用动态VHD主要是动态VHD占用空间小,加载到内存的速度比普通VHD快。前两个月发现可以用lz4压缩vhd,一样可以提升加载到内存的速度。

至于报错,可以在论坛搜索错误代码看看
回复

使用道具 举报

18#
 楼主| 发表于 2019-12-28 23:47:09 | 只看该作者
这是几年前的帖子了,当时不点说可以用 lzma 之类的压缩手段来压缩 VHD 文件,我没接触过这玩意,也没去尝试。结果前两个月后面阴差阳错的接触了lz4,才发现是个好东西。现在回过头来看到这个帖子,只能感叹:众里寻她千百度,暮然回首,答案早就有了
回复

使用道具 举报

19#
发表于 2020-2-4 14:26:03 | 只看该作者
lz4都不需要,把vhd内部空闲空间写0,然后用VDM把vhd压缩成稀疏文件就可以了,这样更新vhd时就不用解压缩了。

点评

666,学到了,感谢分享  详情 回复 发表于 2020-2-4 16:50
回复

使用道具 举报

20#
 楼主| 发表于 2020-2-4 16:50:00 | 只看该作者
shuini 发表于 2020-2-4 14:26
lz4都不需要,把vhd内部空闲空间写0,然后用VDM把vhd压缩成稀疏文件就可以了,这样更新vhd时就不用解压缩了 ...

666,学到了,感谢分享
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-24 03:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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