无忧启动论坛

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

[原创] VHD不同用法,Legacy BIOS + memdisk + 微型VHD引导跳板(三引导器集成版)

  [复制链接]
61#
发表于 2025-12-17 10:51:32 | 只看该作者
回复

使用道具 举报

62#
发表于 2025-12-17 11:17:20 | 只看该作者
seekyou2008 发表于 2025-12-17 09:38
图片显示的,就是前面给你解释过的“当前VHD在加载和执行DUET时,可能会找不到EFI,即它所在目录。”,简 ...

电脑中可能有1个或以上esp分区中有/efi/boot/bootx64.efi,有的电脑还可能有mbr分区硬盘FAT32分区中有/efi/boot/bootx64.efi.
bios方式引导uniboot.vhd时,要执行vhd内的/efi/boot/bootx64.efi,而不是执行硬盘中的这些/efi/boot/bootx64.efi,我认为这才是问题的关键。

点评

当前duet只能找到物理ESP分区,找不前VHD内虚拟的ESP,如果你能通过其它方面解决这个问题,就可以实现:“完全集中化:所有引导逻辑都在 VHD 内,物理盘上可以完全无 EFI 分区,消除了多ESP互抢问题”。  详情 回复 发表于 2025-12-17 12:06
回复

使用道具 举报

63#
发表于 2025-12-17 11:18:25 | 只看该作者
seekyou2008 发表于 2025-12-17 10:05
我已经上传了uniboot1.vhd和memdisk,你用原来的下载链接,换掉最后文件名,下载试一下。如果还是不行, ...

谢谢!下载测试后反馈
回复

使用道具 举报

64#
发表于 2025-12-17 11:39:45 | 只看该作者
seekyou2008 发表于 2025-12-17 10:05
我已经上传了uniboot1.vhd和memdisk,你用原来的下载链接,换掉最后文件名,下载试一下。如果还是不行, ...

我用47楼的下载地址,下载后还是原来那个uniboot.vhd及duet,与原来是一样的。没有看到你说的uniboot1.vhd和memdisk,麻烦你给个新地址,谢谢!

点评

https:\/\/r2.mywows.eu.org/tools/uniboot1.vhd https:\/\/r2.mywows.eu.org/tools/memdisk  详情 回复 发表于 2025-12-17 12:02
回复

使用道具 举报

65#
 楼主| 发表于 2025-12-17 12:02:00 | 只看该作者
qj_tzy 发表于 2025-12-17 11:39
我用47楼的下载地址,下载后还是原来那个uniboot.vhd及duet,与原来是一样的。没有看到你说的uniboot1.vh ...

https:\/\/r2.mywows.eu.org/tools/uniboot1.vhd
https:\/\/r2.mywows.eu.org/tools/memdisk

点评

刚才,用新上传的uniboot1.vhd,并用新上传的memdisk代替我用grub2的memdisk,在我的办公电脑上用grub2按51楼的代码测试,不再出现上述出错提示,而是进入内存测试后挂机。再用g4d按54楼的代码测试,也是在内存测试  详情 回复 发表于 2025-12-17 12:41
回复

使用道具 举报

66#
 楼主| 发表于 2025-12-17 12:06:54 | 只看该作者
qj_tzy 发表于 2025-12-17 11:17
电脑中可能有1个或以上esp分区中有/efi/boot/bootx64.efi,有的电脑还可能有mbr分区硬盘FAT32分区中有/ef ...

当前duet只能找到物理ESP分区,找不前VHD内虚拟的ESP,如果你能通过其它方面解决这个问题,就可以实现:“完全集中化:所有引导逻辑都在 VHD 内,物理盘上可以完全无 EFI 分区,消除了多ESP互抢问题”。
回复

使用道具 举报

67#
发表于 2025-12-17 12:41:42 | 只看该作者
本帖最后由 qj_tzy 于 2025-12-17 12:43 编辑
seekyou2008 发表于 2025-12-17 12:02
https:\/\/r2.mywows.eu.org/tools/uniboot1.vhd
https:\/\/r2.mywows.eu.org/tools/memdisk

刚才,用新上传的uniboot1.vhd,并用新上传的memdisk代替我用grub2的memdisk,在我的办公电脑上用grub2按51楼的代码测试,不再出现上述出错提示,而是进入内存测试后挂机。再用g4d按54楼的代码测试,也是在内存测试中挂机。
我的办公电脑中有FAT32分区下的\efi\boot\bootx64.efi


点评

如果你怀疑是你的办公电脑中有FAT32分区下的\efi\boot\bootx64.efi所致,可以备份一下它,然后用VHD里的EFI替换来试一下。  详情 回复 发表于 2025-12-18 09:09
回复

使用道具 举报

68#
 楼主| 发表于 2025-12-18 09:09:15 | 只看该作者
qj_tzy 发表于 2025-12-17 12:41
刚才,用新上传的uniboot1.vhd,并用新上传的memdisk代替我用grub2的memdisk,在我的办公电脑上用grub2按 ...

如果你怀疑是你的办公电脑中有FAT32分区下的\efi\boot\bootx64.efi所致,可以备份一下它,然后用VHD里的EFI替换来试一下。

点评

我不是怀疑这个,而是觉得应能引导esp中的\efi\boot\bootx64.efi,但未能,不知问题在何处。 另:我按如下处理未成功:把你发的uniboot1.vhd导出到某个目录下,自己创建了一个vhd,固定大小、30M、mbr分区格式、f  详情 回复 发表于 2025-12-18 11:59
回复

使用道具 举报

69#
发表于 2025-12-18 11:59:38 | 只看该作者
seekyou2008 发表于 2025-12-18 09:09
如果你怀疑是你的办公电脑中有FAT32分区下的\efi\boot\bootx64.efi所致,可以备份一下它,然后用VHD里的E ...

我不是怀疑这个,而是觉得应能引导esp中的\efi\boot\bootx64.efi,但未能,不知问题在何处。

另:我按如下处理未成功:把你发的uniboot1.vhd导出到某个目录下,自己创建了一个vhd,固定大小、30M、mbr分区格式、fat16,主引导记录和分区引导记录用bootice软件写入duet中的2个文件,然后把刚才导出的拷入vhd中,用bios+grub2或g4d引导,屏幕上仅有光标在闪动,等待无反应。用你的vhd查看,发现其分区有AF等设置,不知你如何设置该vhd的,可分享下吗,谢谢!

点评

1,你有没有试过前面我说的替换?替换后不行,那可能机器确实不兼容。 2,关于你说的AF,是EF吧?另外,你用bootice软件写入duet中的2个文件是不配的,需要另外的。 3,我记得FAT32,30M这个大小是不行的,我没有试  详情 回复 发表于 2025-12-18 19:51
回复

使用道具 举报

70#
发表于 2025-12-18 19:42:56 | 只看该作者
gtfhjytughjhgj
回复

使用道具 举报

71#
 楼主| 发表于 2025-12-18 19:51:28 | 只看该作者
qj_tzy 发表于 2025-12-18 11:59
我不是怀疑这个,而是觉得应能引导esp中的\efi\boot\bootx64.efi,但未能,不知问题在何处。

另:我按 ...

1,你有没有试过前面我说的替换?替换后不行,那可能机器确实不兼容。
2,关于你说的AF,是EF吧?另外,你用bootice软件写入duet中的2个文件是不配的,需要另外的。
3,我记得FAT32,30M这个大小是不行的,我没有试过FAT16的。

点评

我对你的这个很感兴趣,因我有这个需要,是我在一台纯legacy(bios)引导的电脑上,用grub2模拟引导到uefi+clover是没有问题的,但在bios+uefi的几台双启电脑上,用bios+grub2引导至uefi+clover均失败。因此,若你这个  详情 回复 发表于 2025-12-19 14:18
回复

使用道具 举报

72#
发表于 2025-12-19 09:14:39 | 只看该作者
思路非常强悍
回复

使用道具 举报

73#
发表于 2025-12-19 14:18:20 | 只看该作者
seekyou2008 发表于 2025-12-18 19:51
1,你有没有试过前面我说的替换?替换后不行,那可能机器确实不兼容。
2,关于你说的AF,是EF吧?另外, ...

我对你的这个很感兴趣,因我有这个需要,是我在一台纯legacy(bios)引导的电脑上,用grub2模拟引导到uefi+clover是没有问题的,但在bios+uefi的几台双启电脑上,用bios+grub2引导至uefi+clover均失败。因此,若你这个能引导通过,就解决了我的这一问题。所以希望得到你的指导,能解决这一问题。
另:你说自行创建vhd写入duet中的2个文档是不够的,还需另外的,可传我不。还有如何替换?

点评

是不是与Secure Boot有关?uniboot1.vhd里的Efildr20用的是这个:https:\/\/r2.mywows.eu.org/tools/duet1.rar  详情 回复 发表于 2025-12-19 21:33
回复

使用道具 举报

74#
 楼主| 发表于 2025-12-19 21:33:17 | 只看该作者
qj_tzy 发表于 2025-12-19 14:18
我对你的这个很感兴趣,因我有这个需要,是我在一台纯legacy(bios)引导的电脑上,用grub2模拟引导到uefi+ ...

是不是与Secure Boot有关?uniboot1.vhd里的Efildr20用的是这个:https:\/\/r2.mywows.eu.org/tools/duet1.rar

点评

当然,我与你有一样的想法,若能从bios+grub2或bios+grub4dos引导,能读取并执行vhd内的\efi\boot\bootx64.efi就是最好的了。  详情 回复 发表于 2025-12-20 20:57
Secure Boot已关闭 我的期望是: 1.能搜索并执行gpt分区硬盘的esp分区下的\efi\boot\bootx64.efi,其实是想执行\efi\clover\CLOVERX64.efi,如行,只要把CLOVERX64.efi拷入\efi\boot\,覆盖bootx64.efi即可。 2  详情 回复 发表于 2025-12-20 20:19
在另台电脑上的测试情况: 一、用uniboot.vhd 用bios+grub2和bios+g4d测试结果是一样的: 1. 能搜索并执行到mbr分区硬盘fat32分区下的\efi\boot\bootx64.efi 2. 因我还一个是gpt分区的esp分区下有\efi\boot\  详情 回复 发表于 2025-12-20 20:11
回复

使用道具 举报

75#
发表于 2025-12-20 20:11:27 | 只看该作者
seekyou2008 发表于 2025-12-19 21:33
是不是与Secure Boot有关?uniboot1.vhd里的Efildr20用的是这个:https:\/\/r2.mywows.eu.org/tools/duet ...

在另台电脑上的测试情况:

一、用uniboot.vhd
用bios+grub2和bios+g4d测试结果是一样的:
1.
能搜索并执行到mbr分区硬盘fat32分区下的\efi\boot\bootx64.efi
2.
因我还一个是gpt分区的esp分区下有\efi\boot\bootx64.efi,就把mbr分区硬盘fat32分区的\efi重命名为\efi_tmp,再测试
出现54楼的出错提示(已保存为电脑中本目录的图片),说明其不能搜索gpt分区硬盘的esp分区下的\efi\boot\bootx64.efi

二、用新上传的uniboot1.vhd
用duet\Efildr20替换uniboot1.vhd根目录下的同名文件;用新上传的memdisk替换我原用于测试的grub2的memdisk,再测试
用bios+grub2和bios+g4d测试结果是一样的:
1.
能搜索并执行到mbr分区硬盘fat32分区下的\efi\boot\bootx64.efi
2.
把mbr分区硬盘fat32分区的\efi重命名为\efi_tmp,再测试
出现54楼的出错提示,同样说明其不能搜索gpt分区硬盘的esp分区下的\efi\boot\bootx64.efi

三、自行创建uniboot.vhd
创建30M的fat16的分区格式,用你新传的duet1下的2个分区分别恢复到vhd的主引导记录和分区引导记录,拷入uniboot1.vhd中的内容,并用duet\Efildr20替换自创uniboot.vhd根目录下的同名文件,没有修改分区属性为EF(我不知为何要这样做)

测试出现BAD等的红字出错提示。


点评

duet中主引导记录和分区引导记录对应uniboot.vhd,duet1对应uniboot1.vhd,不能混一起。另外,这两者对gpt的esp分区下\efi\boot\bootx64.efi都是可以正常读取的,至少我环境是可以的。EF属性就是ESP的标识。我只能提  详情 回复 发表于 2025-12-20 20:57
回复

使用道具 举报

76#
发表于 2025-12-20 20:19:37 | 只看该作者
seekyou2008 发表于 2025-12-19 21:33
是不是与Secure Boot有关?uniboot1.vhd里的Efildr20用的是这个:https:\/\/r2.mywows.eu.org/tools/duet ...

Secure Boot已关闭

我的期望是:
1.能搜索并执行gpt分区硬盘的esp分区下的\efi\boot\bootx64.efi,其实是想执行\efi\clover\CLOVERX64.efi,如行,只要把CLOVERX64.efi拷入\efi\boot\,覆盖bootx64.efi即可。
2. 希望自己能制作这样的一个vhd,能实现这样的功能。

点评

如果你要做一个类似我这样的VHD,你最好先用我的来试,试过没问题了,再改造一个属于你自己的。  详情 回复 发表于 2025-12-20 21:13
回复

使用道具 举报

77#
发表于 2025-12-20 20:57:48 | 只看该作者
seekyou2008 发表于 2025-12-19 21:33
是不是与Secure Boot有关?uniboot1.vhd里的Efildr20用的是这个:https:\/\/r2.mywows.eu.org/tools/duet ...

当然,我与你有一样的想法,若能从bios+grub2或bios+grub4dos引导,能读取并执行vhd内的\efi\boot\bootx64.efi就是最好的了。

点评

目前不行,DUET只支持读物理的ESP。唉,水平有限呀。  详情 回复 发表于 2025-12-20 21:18
回复

使用道具 举报

78#
 楼主| 发表于 2025-12-20 20:57:57 | 只看该作者
qj_tzy 发表于 2025-12-20 20:11
在另台电脑上的测试情况:

一、用uniboot.vhd

duet中主引导记录和分区引导记录对应uniboot.vhd,duet1对应uniboot1.vhd,不能混一起。另外,这两者对gpt的esp分区下\efi\boot\bootx64.efi都是可以正常读取的,至少我环境是可以的。EF属性就是ESP的标识。我只能提供这样多的信息了。

点评

谢谢!空时再测试下,到时再反馈!  详情 回复 发表于 2025-12-21 11:09
回复

使用道具 举报

79#
 楼主| 发表于 2025-12-20 21:13:46 | 只看该作者
qj_tzy 发表于 2025-12-20 20:19
Secure Boot已关闭

我的期望是:

如果你要做一个类似我这样的VHD,你最好先用我的来试,试过没问题了,再改造一个属于你自己的。
回复

使用道具 举报

80#
 楼主| 发表于 2025-12-20 21:18:20 | 只看该作者
qj_tzy 发表于 2025-12-20 20:57
当然,我与你有一样的想法,若能从bios+grub2或bios+grub4dos引导,能读取并执行vhd内的\efi\boot\bootx6 ...

目前不行,DUET只支持读物理的ESP。唉,水平有限呀。
回复

使用道具 举报

81#
发表于 2025-12-21 11:09:42 | 只看该作者
seekyou2008 发表于 2025-12-20 20:57
duet中主引导记录和分区引导记录对应uniboot.vhd,duet1对应uniboot1.vhd,不能混一起。另外,这两者对gp ...

谢谢!空时再测试下,到时再反馈!

点评

我看你前面说明,好像是双硬盘,两个EFI目录,你想通过改名的方式切换到另一个目录。如果是这种情况的话,你前面的操作是有问题的:要不,两个ESP分区,这时会有冲突。要不,只有一个ESP分区,这不会冲突,但是你想  详情 回复 发表于 2025-12-21 14:55
回复

使用道具 举报

82#
 楼主| 发表于 2025-12-21 14:55:03 | 只看该作者
qj_tzy 发表于 2025-12-21 11:09
谢谢!空时再测试下,到时再反馈!

我看你前面说明,好像是双硬盘,两个EFI目录,你想通过改名的方式切换到另一个目录。如果是这种情况的话,你前面的操作是有问题的:要不,两个ESP分区,这时会有冲突。要不,只有一个ESP分区,这不会冲突,但是你想改名切换时,另一个分区不是ESP,会识别不到。这样推理比较符合你上面的反馈结果。

所以验证最好的方式,是在U盘上做一个ESP,把VHD里的EFI丟进去,然后将硬盘里的所有ESP分区属性设为UNUSED,当然了,把硬盘直接卸了更省事。

点评

我的电脑有1.nvme2:gpt分区结构,有esp分区,有\efi\boot\bootx64.efi等引导文件,引导所有硬盘中安装的win+linux+mac,其后的分区安装win10+win11分区系统 2.sata固态1:gpt分区结构,有esp分区,但无任何文件,  详情 回复 发表于 2025-12-21 21:11
回复

使用道具 举报

83#
发表于 2025-12-21 21:11:02 | 只看该作者
本帖最后由 qj_tzy 于 2025-12-21 21:13 编辑
seekyou2008 发表于 2025-12-21 14:55
我看你前面说明,好像是双硬盘,两个EFI目录,你想通过改名的方式切换到另一个目录。如果是这种情况的话 ...

我的电脑有
1.nvme2:gpt分区结构,有esp分区,有\efi\boot\bootx64.efi等引导文件,引导所有硬盘中安装的win+linux+mac,其后的分区安装win10+win11分区系统
2.sata固态1:gpt分区结构,有esp分区,但无任何文件,其后的分区安装linux+mac
3.sata固态2:mbr分区结构,安装有live_cd(安装在fat32分区,有\efi\boot\bootx64.efi),其后仅一个ntfs分区,安装有win10/win8/win7/win2003/winxp的vhd/vhdx文件。
4.机械硬盘,gpt分区结构,4T,仅有2个分区soft+data,用于存放软件和用户个人数据,未安装任何操作系统。

bios+grub2或bios+g4d引导uniboot.vhd或uniboot1.vhd时 ,就引导了live_cd分区中的\efi\boot\bootx64.efi,若把该\efi\更名为\efi_tmp,就会出错,不会引导nvme2的esp分区中的\efi\boot\bootx64.efi。


点评

1,你现在已经闭环了,LEGACY BIOS + UEFI BIOS。 2,你现在问题是多ESP冲突。 3,只要进入虚拟UEFI环境,引导其它硬盘分区就不是问题了。需要注意的是如果是nvme,可能引导前需要加载一下驱动。uniboot1.vhd已经  详情 回复 发表于 2025-12-22 08:32
回复

使用道具 举报

84#
 楼主| 发表于 2025-12-22 08:32:13 | 只看该作者
qj_tzy 发表于 2025-12-21 21:11
我的电脑有
1.nvme2:gpt分区结构,有esp分区,有\efi\boot\bootx64.efi等引导文件,引导所有硬盘中安装 ...

1,你现在已经闭环了,LEGACY BIOS + UEFI BIOS。
2,你现在问题是多ESP冲突。
3,只要进入虚拟UEFI环境,引导其它硬盘分区就不是问题了。需要注意的是如果是nvme,可能引导前需要加载一下驱动。uniboot1.vhd已经集成了。

点评

问下:uniboot1.vhd中的nvme的驱动是如何处理的呢,具体是哪一个文件是驱动的呢?  详情 回复 发表于 2025-12-22 11:20
可能是这个原因引起的,若试着把一个ESP分区删除或改为普通FAT32分区,不知能否解决这个问题,晚上回家试试  详情 回复 发表于 2025-12-22 11:09
回复

使用道具 举报

85#
发表于 2025-12-22 11:09:32 | 只看该作者
seekyou2008 发表于 2025-12-22 08:32
1,你现在已经闭环了,LEGACY BIOS + UEFI BIOS。
2,你现在问题是多ESP冲突。
3,只要进入虚拟UEFI环 ...

可能是这个原因引起的,若试着把一个ESP分区删除或改为普通FAT32分区,不知能否解决这个问题,晚上回家试试
回复

使用道具 举报

86#
发表于 2025-12-22 11:20:38 | 只看该作者
seekyou2008 发表于 2025-12-22 08:32
1,你现在已经闭环了,LEGACY BIOS + UEFI BIOS。
2,你现在问题是多ESP冲突。
3,只要进入虚拟UEFI环 ...

问下:uniboot1.vhd中的nvme的驱动是如何处理的呢,具体是哪一个文件是驱动的呢?

点评

/EFI/Drivers/NvmExpressDxe.efi  详情 回复 发表于 2025-12-22 16:16
回复

使用道具 举报

87#
 楼主| 发表于 2025-12-22 16:16:13 | 只看该作者
qj_tzy 发表于 2025-12-22 11:20
问下:uniboot1.vhd中的nvme的驱动是如何处理的呢,具体是哪一个文件是驱动的呢?

/EFI/Drivers/NvmExpressDxe.efi

点评

今晚我作了如下测试: 在83楼的基础上,把第2号固态,改为mbr分区模式,且各分区改为ntfs文件系统。除nvme硬盘中有一个esp分区外,已无esp分区。 且除esp分区和livecd分区(因要以uefi方式引导该分区的efi文件,就  详情 回复 发表于 2025-12-22 20:26
非常感谢!  详情 回复 发表于 2025-12-22 17:11
回复

使用道具 举报

88#
发表于 2025-12-22 17:11:27 | 只看该作者
seekyou2008 发表于 2025-12-22 16:16
/EFI/Drivers/NvmExpressDxe.efi

非常感谢!
回复

使用道具 举报

89#
发表于 2025-12-22 20:26:40 | 只看该作者
本帖最后由 qj_tzy 于 2025-12-22 20:28 编辑
seekyou2008 发表于 2025-12-22 16:16
/EFI/Drivers/NvmExpressDxe.efi

今晚我作了如下测试:
在83楼的基础上,把第2号固态,改为mbr分区模式,且各分区改为ntfs文件系统。除nvme硬盘中有一个esp分区外,已无esp分区。
且除esp分区和livecd分区(因要以uefi方式引导该分区的efi文件,就保持为FA32分区)外,其他均不是FAT32分区了。
但测试情况,只仍然如故:只能引导livecd分区的\efi\boot\bootx64.efi。 将其目录\efi\改为\efi_tmp,就出错。
是否与4T机械硬盘为gpt分区但无esp分区有关?但这个我不想改,因这个我的数据盘,不用于安装操作系统。


点评

不需要改,你不是进入虚拟UEFI吗? 在 UEFI Shell 中 操作顺序如下: 找到EFI分区:输入 fs0: 或 fs1:。 加载驱动:输入 load EFI\drivers\NvmExpressDxe.efi。 刷新识别:输入 map -r(此时你应该能看  详情 回复 发表于 2025-12-22 20:53
回复

使用道具 举报

90#
 楼主| 发表于 2025-12-22 20:53:47 | 只看该作者
qj_tzy 发表于 2025-12-22 20:26
今晚我作了如下测试:
在83楼的基础上,把第2号固态,改为mbr分区模式,且各分区改为ntfs文件系统。除nv ...

不需要改,你不是进入虚拟UEFI吗?

在 UEFI Shell 中
操作顺序如下:

找到EFI分区:输入 fs0: 或 fs1:。

加载驱动:输入 load EFI\drivers\NvmExpressDxe.efi。

刷新识别:输入 map -r(此时你应该能看到 NVMe 磁盘的分区号出现了,比如 fs2:)。

引导系统:进入 NVMe 分区并执行引导文件,例如 fs2:\EFI\Microsoft\Boot\bootmgfw.efi。

点评

把uos_live那个分区格式化为ntfs分区,电脑中只有一个esp分区是FAT32分区了。 测试进入54楼的界面 不知如何进入uefi shell窗口,才能进行上述你说的操作  详情 回复 发表于 2025-12-22 22:02
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-12-31 00:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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