无忧启动论坛

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

(已解决)G4DE map和map --mem VHD硬盘时,Failed to load virtual disk image.(0)

[复制链接]
跳转到指定楼层
1#
发表于 2022-4-26 17:36:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 蓝星明月 于 2022-4-26 21:04 编辑

问题原因: 是创建的VHD有问题。
异常原因: 是用Win创建VHD时,没有使用Win的磁盘初始化,而是Win创建VHD后直接用DiskGenius分区。

1、VHD创建正常流程:  Win磁盘管理器: 创建VHD --->磁盘初始化 ---> DiskGenius 分区
2、VHD创建异常流程:  Win磁盘管理器: 创建VHD -----------------------> DiskGenius 分区

3、异常问题重现:
(1)用正常流程(有磁盘初始化), 15MB-VHD用DiskGenius格式化的FAT16和FAT32 都正常使用。
(2)用异常流程(无磁盘初始化), 15MB-VHD用DiskGenius格式化的FAT16 正常使用,但FAT32的就有 问题"Failed to load virtual disk image.(0)"。

(3) VHD15MBG22.7z有Win磁盘初始化的15MB--FAT32使用正常。

(4) VHD15MBG32.7z无Win磁盘初始化的15MB--FAT32使用异常。

----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
想用svbus做驱动,用VHD安装系统。
使用map时可以保存系统改变,使用 map --mem时可以作用RAMOS系统用。

但是,使用 Grub4Dos for uefi 的map和map --mem VHD硬盘时,读取虚拟盘失败。

显示"Failed to load virtual disk image.(0)"

1、附件是硬盘文件和失败信息截屏,失败原因是什么?

2、备注:

(1) 如果只是MAP,而不chainloader ,进入装有svbus驱动的Win7X64系统,Win7X64可以识别到VHD虚拟盘。

(2) G4DE使用的是 2022-03-28版(grub4dos-for_UEFI-2022-03-28),使用早前版本也有相同问题。
(3) VHD文件有是优先使用Win7X64 磁盘管理器创建,使用DiskGeniusV4.95分区。
(4)  附件中VHD15MBGPT-Fail.vhd是Win7X64 磁盘管理器创建。

(5) VHD15MBG2Fat32.vhd是DiskGeniusV4.95创建,创建时有异常,
不过我用DiskGeniusV4.95分区和BOOTICEx64加载使用正常,由于压缩后很小,我先上传这个。
3、菜单如下

title [002] map (N11)/efi/grub/VHD15MBG2Fat32.vhd + chainloader (hd-1,0)/efi/boot/bootx64.efi
  debug=5
  find --set-root /N11ESPFAT32.txt
  map /efi/grub/VHD15MBG2Fat32.vhd (hd)
  chainloader (hd-1,0)/efi/boot/bootx64.efi

title [003] map --mem (N11)/efi/grub/VHD15MBG2Fat32.vhd + chainloader (hd-1,0)/efi/boot/bootx64.efi
  debug=5
  find --set-root /N11ESPFAT32.txt
  map --mem /efi/grub/VHD15MBG2Fat32.vhd (hd)
  chainloader (hd-1,0)/efi/boot/bootx64.efi










map--mem Chainloader Fail.jpg (80.4 KB, 下载次数: 161)

map--mem Chainloader Fail.jpg

VHD15MBG32.7z

135.96 KB, 下载次数: 4, 下载积分: 无忧币 -2

VHD15MBG32.7z

VHD15MBG22.7z

135.77 KB, 下载次数: 4, 下载积分: 无忧币 -2

VHD15MBG22.7z

2#
发表于 2022-4-26 18:04:17 | 只看该作者
本帖最后由 481416322 于 2022-4-26 18:06 编辑

这种现象我的机器也出现,用ntloader或ntboot就解决了

点评

ntloader或ntboot可以引导Win7X64。但可以用于安装Win7X64引导吗?  详情 回复 发表于 2022-4-26 19:34
回复

使用道具 举报

3#
发表于 2022-4-26 18:38:32 | 只看该作者
本帖最后由 2011whp 于 2022-4-26 18:51 编辑

下载了示例,确实不能启动,
win磁盘管理(文件管理器)打不开,bootice挂不上,  diskgen可以打开

是不是 ,触发了文件系统的最小下限了(g4e可以浏览到,可能 是主板UEFI 认分区 时 出错了)

是怎么制作vhd的?

————————————————————————————-

我制作了一个,用的是 win的磁盘管理 建的 15M固定大小vhd (中间提示过 格式化为fat32 时 容量太小了)
后来格式化为 fat (fat12 ) 可以启动的
15m.7z (135.87 KB, 下载次数: 16)

点评

谢谢回复,让我找到问题原因,不然一个人 思维陷入死胡同。  详情 回复 发表于 2022-4-26 20:56
异常原因是我用Win创建VHD时没有使用Win的磁盘初始化,而是Win创建VHD后直接用DiskGenius分区。  详情 回复 发表于 2022-4-26 20:49
1、用你的VHD附件,使用正常。 2、我的VHD文件说明 (1) VHD文件优先使用Win7X64 磁盘管理器创建,使用DiskGeniusV4.95分区。 (2) 我附件中VHD15MBGPT-Fail.vhd是Win7X64 磁盘管理器创建。 (3) 我附件  详情 回复 发表于 2022-4-26 19:52

评分

参与人数 1无忧币 +5 收起 理由
蓝星明月 + 5 赞一个!

查看全部评分

回复

使用道具 举报

4#
 楼主| 发表于 2022-4-26 19:34:58 | 只看该作者
本帖最后由 蓝星明月 于 2022-4-26 19:38 编辑
481416322 发表于 2022-4-26 18:04
这种现象我的机器也出现,用ntloader或ntboot就解决了

ntloader或ntboot可以引导Win7X64。但可以用于安装Win7X64引导吗?  可以用于RAMOS引导吗?

点评

在我的机器里,安装时都是先用微软的原始引导文件bootmgfw.efi,安装之后则采用ntboot或ntloader。至于内存系统,启动方法是在你陈述的方法之前先加载ntfs_x64.efi。平时常用的是内存系统,vhd只在维护的时候使用。  详情 回复 发表于 2022-4-27 03:12
回复

使用道具 举报

5#
 楼主| 发表于 2022-4-26 19:52:17 | 只看该作者
本帖最后由 蓝星明月 于 2022-4-26 20:12 编辑
2011whp 发表于 2022-4-26 18:38
下载了示例,确实不能启动,
win磁盘管理(文件管理器)打不开,bootice挂不上,  diskgen可以打开


1、用你的VHD附件,使用正常。

2、我的VHD文件说明
(1) VHD文件优先使用Win7X64 磁盘管理器创建,使用DiskGeniusV4.95分区。

(2)  我附件中VHD15MBGPT-Fail.vhd是Win7X64 磁盘管理器创建。

(3)  我附件中VHD15MBG2Fat32.vhd是DiskGeniusV4.95创建,创建时有异常,
      不过我用DiskGeniusV4.95分区和BOOTICEx64加载使用正常,由于压缩后很小,我先上传这个。

(4)  之前我创建过 12GB的VHD,使用也有同样问题。

3、刚刚我在用Win7创建一个15MB.VHD, ESP格式化为FAT16和FAT32,这次使用都没用问题。
4、看来是我之前创建的VHD文件有问题。



回复

使用道具 举报

6#
发表于 2022-4-26 20:26:49 | 只看该作者
本帖最后由 2011whp 于 2022-4-28 12:10 编辑

Win7X64efi.vhd     svbus  RAMOS 可以的,超版 liuzhaoyzz 一直在 试这方面,没问题

——————————————————————————————
win7x64efi.vhd  单ntfs分区带svbus  

map  --mem  /win7x64efi.vhd   (hd)
  uuid (hd-1,0)
  chainloader  /ntloader   …………

————————————————————————

双分区的话,efi分区 优先放 前面 试

map  --mem  /win7x64efi.vhd  (hd)
   chainloader (hd-1)

双分区 也可以用  ntloader 引导的 :UUID  系统分区即可(实际忽略了 vhd内的引导 了)

______________________________________

fat32分区 ,最小多少MB,不太清楚,
经验是 : 100MB的fat32的 esp分区没问题,   小了 一般用FAT分区

看你的意思是 想用 这个 15MB的vhd 引导 win7x64efi.vhd
  ( 自个实现yaya  的 ntboot的原理,自个弄的是一对一的,不通用。
    还不如用 双分区vhd ,反正bcd是绑定vhd内系统分区的)

点评

双分区我还真没试过,值得一试!  发表于 2022-4-27 03:14
谢谢!!!  详情 回复 发表于 2022-4-26 20:52
1、VHD15MB-MBR.VHD 我之前是UMBR用来BIOS引导GPT上的Win7X64。 2、系统VHD有12GB大,分两区, 一个200MB的FAT32,一个11多GB的NTFS。 3、VHD15MB-GPT.VHD 我是用来调查异常问题原因的。  详情 回复 发表于 2022-4-26 20:36

评分

参与人数 1无忧币 +5 收起 理由
蓝星明月 + 5 赞一个!

查看全部评分

回复

使用道具 举报

7#
 楼主| 发表于 2022-4-26 20:36:52 | 只看该作者
2011whp 发表于 2022-4-26 20:26
Win7X64efi.vhd     svbus  RAMOS 可以的,超版 liuzhaoyzz 一直在 试这方面,没问题

———————— ...

1、VHD15MB-MBR.VHD 我之前是UMBR用来BIOS引导GPT上的Win7X64。

2、系统VHD有12GB大,分两区, 一个200MB的FAT32,一个11多GB的NTFS。

3、VHD15MB-GPT.VHD 我是用来调查异常问题原因的。
回复

使用道具 举报

8#
 楼主| 发表于 2022-4-26 20:49:06 | 只看该作者
2011whp 发表于 2022-4-26 18:38
下载了示例,确实不能启动,
win磁盘管理(文件管理器)打不开,bootice挂不上,  diskgen可以打开

异常原因是我用Win创建VHD时没有使用Win的磁盘初始化,而是Win创建VHD后直接用DiskGenius分区。
回复

使用道具 举报

9#
 楼主| 发表于 2022-4-26 20:52:42 | 只看该作者
2011whp 发表于 2022-4-26 20:26
Win7X64efi.vhd     svbus  RAMOS 可以的,超版 liuzhaoyzz 一直在 试这方面,没问题

———————— ...

谢谢!!!
回复

使用道具 举报

10#
 楼主| 发表于 2022-4-26 20:56:29 | 只看该作者
2011whp 发表于 2022-4-26 18:38
下载了示例,确实不能启动,
win磁盘管理(文件管理器)打不开,bootice挂不上,  diskgen可以打开

谢谢回复,让我找到问题原因,不然一个人 思维陷入死胡同。
回复

使用道具 举报

11#
发表于 2022-4-27 03:12:05 | 只看该作者
蓝星明月 发表于 2022-4-26 19:34
ntloader或ntboot可以引导Win7X64。但可以用于安装Win7X64引导吗?  可以用于RAMOS引导吗?

在我的机器里,安装时都是先用微软的原始引导文件bootmgfw.efi,安装之后则采用ntboot或ntloader。至于内存系统,启动方法是在你陈述的方法之前先加载ntfs_x64.efi。平时常用的是内存系统,vhd只在维护的时候使用。
回复

使用道具 举报

12#
发表于 2022-4-27 11:01:39 | 只看该作者
感谢分享,一般也都是系统自带的建立VHD,初始化,完了,DG分区,主要是系统自带在EFI,GPT下面会多分区,MBR就直接系统分区了

点评

Win创建VHD,Win的初始化会进行自动分区,而Win的自动分区布局,我不想要。所以我之前就没用Win初始化VHD。  详情 回复 发表于 2022-4-27 13:10
回复

使用道具 举报

13#
 楼主| 发表于 2022-4-27 13:10:26 | 只看该作者
2012andyle113 发表于 2022-4-27 11:01
感谢分享,一般也都是系统自带的建立VHD,初始化,完了,DG分区,主要是系统自带在EFI,GPT下面会多分区,M ...

Win创建VHD,Win的初始化会进行自动分区,而Win的自动分区布局,我不想要。所以我之前就没用Win初始化VHD。
回复

使用道具 举报

14#
发表于 2022-4-27 18:38:06 | 只看该作者
学习了
回复

使用道具 举报

15#
发表于 2022-5-3 18:23:23 | 只看该作者

感谢分享
回复

使用道具 举报

16#
发表于 2022-6-27 16:19:33 | 只看该作者
我全程用 Win磁盘管理器: 创建VHD --->磁盘初始化 ---> 分区

依然是 Failed to load virtual disk image.(0)

点评

昨天我想做UEFIX64-RAMOS-Win7X64,创建了几次12GB VHD,但MAP 失败。 不过显示信息不是“Failed to load virtual disk image”,而是 Failed install virtual disk。 今天再用创建 20MB VHD 做实验,又MAP  详情 回复 发表于 2022-6-27 19:23
回复

使用道具 举报

17#
 楼主| 发表于 2022-6-27 19:23:28 | 只看该作者
KongLiang 发表于 2022-6-27 16:19
我全程用 Win磁盘管理器: 创建VHD --->磁盘初始化 ---> 分区

依然是 Failed to load virtual disk image ...

昨天我想做UEFIX64-RAMOS-Win7X64,创建了几次12GB VHD,但MAP 失败。
不过显示信息不是“Failed to load virtual disk image”,而是  Failed   install virtual disk。

今天再用创建 20MB  VHD 做实验,又MAP成功。

不知跟创建VHD大小、load ntfsx64.efi驱动是否有无关系。

昨天的12GB VHD和今天的20MB VHD都是NTFS分区,并且VHD文件也是放在NTFS分区,G4DE也没加载NTFS驱动。

点评

16-12=4 在 4G 以上,是不是 有些引导在用一部分呢 —————————————————————— 16G内存的电脑试 10G vhd 是可以的 用的系统: 出处贴:http://bbs.wuyou.net/forum.php?mod  详情 回复 发表于 2022-7-7 14:18
回复

使用道具 举报

18#
发表于 2022-7-6 12:37:15 | 只看该作者
WIN10 LTSB SVBUS也签名装上了 EFI和MBR都试了 GRUB4DOS一直都没有搞成功过 用的版本也是grub4dos-for_UEFI-2022-03-28 高手有没有做成功的保姆教程给一个 谢谢

点评

是不是 ,vhd内 没有安装上 引导部分 UEFI方式,试试 ntloader (用外部引导 自动化bcd) 参与下面: title qbus三菜单之一 map --mem(hd) map --mem (hd0,0)/qbus.vhd (hd) chainloader (hd-1)  详情 回复 发表于 2022-7-7 13:37
回复

使用道具 举报

19#
发表于 2022-7-7 13:37:09 | 只看该作者
本帖最后由 2011whp 于 2022-7-7 13:39 编辑
yongzhe 发表于 2022-7-6 12:37
WIN10 LTSB SVBUS也签名装上了 EFI和MBR都试了 GRUB4DOS一直都没有搞成功过 用的版本也是grub4dos-for_UEFI ...

是不是 ,vhd内 没有安装上 引导部分   

UEFI方式,试试 ntloader  (用外部引导   自动化bcd)

参与下面:(第三个)
title qbus三菜单之一 map --mem(hd)
map --mem (hd0,0)/qbus.vhd (hd)
chainloader (hd-1)

title qbus三菜单之二 ntloader
uuid (hd0,0)
chainloader /src/fm/ntloader initrd=/src/fm/initrd.lz1 uuid=%?_UUID% file=/qbus.vhd

title qbus三菜单之三 加内存后ntloader
map --mem (hd0,0)/qbus.VHD (hd)
uuid (hd-1,1)
chainloader /src/fm/ntloader initrd=/src/fm/initrd.lz1 uuid=%?_UUID%
回复

使用道具 举报

20#
发表于 2022-7-7 14:18:40 | 只看该作者
蓝星明月 发表于 2022-6-27 19:23
昨天我想做UEFIX64-RAMOS-Win7X64,创建了几次12GB VHD,但MAP 失败。
不过显示信息不是“Failed to loa ...

16-12=4   在 4G 以上,是不是 有些引导在用一部分呢

——————————————————————
16G内存的电脑试  10G vhd 是可以的

用的系统:
         出处贴:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=429734
             6楼:https://www.123pan.com/s/qNtA-5YOHH    提取码 kZGv
         下载的是 :22000-588    1.77GB的镜像   

安装
          win11实机系统下 用winntsetup
          固定10GB vhd,mbr双分区 (winntsetup 自动分的 fat分区,在后面)
          winntsetup选项:去掉 虚拟内存 休眠
          启动后:c盘  5GB

vhd开箱体验用的是:  现有系统的bcd (自己添加的)

svbus 安装: 写注册表, 安装过时硬件(选给  usb-scsi 安装),svbus版本 为 sunsea 推荐的
             (win10 以下 给 磁盘控制器,安装驱动)


修改vhd内的引导:(好像不修改也行)
          把 fat32分的引导,复制了一份 到  ntfs分区

g4e 2022-3-28启动:
          map  /win11.vhd  (hd)
          map  --mem  /win11.vhd (hd)
      两者都可以 chainloader (hd-1)
回复

使用道具 举报

21#
发表于 2022-7-13 13:50:46 | 只看该作者
2011whp 发表于 2022-7-7 14:18
16-12=4   在 4G 以上,是不是 有些引导在用一部分呢

——————————————————————
...

参照上面的方法

固定大小的VHD文件 成功引导   
动态大小的VHD文件不成功  map 的时候提示 out of map memory:800000000000009


我看了总贴 3-28的应该是支持动态大小的吧?

相同的SVBUS驱动   Win10LTSC 21H2装一直感叹号  提示API资源不足  你提供的Win11系统是成功安装的    差别在那里  同一份  好奇怪

点评

试 g4e2022-3-28 是支持vhd差分的 :(不支持 vhdx差分) 例子: GRUB4DOS for UEFI 教程(抄作业)贴  ,2楼 开始折腾  处的 实例 差分vhd后,不要打开母vdh,否则 重做差分 差分 加 svbus , 只能  详情 回复 发表于 2022-7-13 19:16
回复

使用道具 举报

22#
发表于 2022-7-13 19:16:15 | 只看该作者
本帖最后由 2011whp 于 2022-7-13 19:54 编辑
yongzhe 发表于 2022-7-13 13:50
参照上面的方法

固定大小的VHD文件 成功引导   

试 g4e2022-3-28 是支持vhd差分的 :(不支持 vhdx差分)
例子: GRUB4DOS for UEFI 教程(抄作业)贴  ,2楼 开始折腾  处的 实例

差分vhd后,不要打开母vhd,否则 重做差分

差分 加  svbus , 只能  g4e map  --mem
(因为只有map到内存 才会展开成 固定vhd,svbus才能起作用)

——————————————————————————

你的情况,用bcd引导 应该 是可以的吧,不行的话,可能是 系统问题

bcd可以启动  才能谈 下一步 map --mem
——————————————————————————
题外: 我试的 那个 精简 win11,好像能win to go  ,
我这儿,在另台机器,在vbox虚拟机,都可以启动


发现 svbus 挑机器,在另一台电脑,只能bcd启, g4e  map --mem  时,svbus不起作用了,(难道你 是 这种情况 ?)
(svbus 好像 依赖 scsi类的 io ,win11变成 usb 上的 scsi, 映像 win10 时,svbus 是不挑机的)
回复

使用道具 举报

23#
发表于 2022-7-14 10:33:52 | 只看该作者
2011whp 发表于 2022-7-13 19:16
试 g4e2022-3-28 是支持vhd差分的 :(不支持 vhdx差分)
例子: GRUB4DOS for UEFI 教程(抄作业)贴  ...

我测试了几种情况   都是实体机测试    3-28的版本     一台是8代I5 Intel NUC    一台是4代I5 一体机

1、直接的父VHD两台都正常启动  必需是固定大小的  动态大小的从来没有成功过 加不加--men
2、我又从头一页一页看了抄作业的贴子 和 yaya回复你的  1月28的版本 39页  测试差分VHD  1月28的 不会出现out of memory的提示 chainloader就死机了
3、3-28的启差分系统  命令运行都正常  NUC机器 boot后会自动跳到本地系统上 不会启VHD文件  一体机直接就回到G4D命令行 不会启动
4、这个原理和无盘几乎就一样了,想把这玩意搞成像Intel TCI 一样  只搞成功了Linux的  G4D和SVBUS的连接可能还是需要调整点啥
回复

使用道具 举报

24#
发表于 2022-12-4 03:50:14 | 只看该作者
学习学习
回复

使用道具 举报

25#
发表于 2022-12-4 21:41:34 | 只看该作者
学习了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-1 09:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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