无忧启动论坛

标题: VHD不同用法,Legacy BIOS + memdisk + 微型VHD引导跳板(三引导器集成版) [打印本页]

作者: seekyou2008    时间: 2025-8-26 14:27
标题: VHD不同用法,Legacy BIOS + memdisk + 微型VHD引导跳板(三引导器集成版)
本帖最后由 seekyou2008 于 2025-11-10 19:03 编辑

Legacy BIOS + memdisk + 微型VHD引导跳板(三引导器集成版)

方案目标
一、准备工作
二、创建微型 VHD Windows 下
diskpart
create vdisk file=D:\uniboot.vhd maximum=128 type=fixed
select vdisk file=D:\uniboot.vhd
attach vdisk
create partition primary
format fs=fat32 quick label=UNIBOOT
assign letter=B
exit



三、安装 DUET 到 VHD
Windows下:
用BOOTICE把主引导记录mbr.com和分区引导记录bd32.bin写入VHD,然后将Efildr20拷入VHD。


四、加入 rEFInd 和 Clover
五、 菜单效果 (VHD 内)







六、外层 GRUB2 调用 memdisk + VHD
在外层 GRUB2(例如 U 盘)的 grub.cfg 中:
menuentry "Universal BIOS→UEFI Boot" {
    linux16 /boot/memdisk raw
    initrd16 /boot/uniboot.vhd
}


七、启动流程
BIOS
→ 外层 GRUB2
   → memdisk (raw)
     → VHD (DUET)
       → rEFInd / Clover / grubFM
         → GPT/UEFI 系统


八、维护与扩展
这样做的好处

方案的最大长处




另外,我们还可以基于上面的思路扩展延伸其它玩法1:
Legacy BIOS + memdisk + 微型VHD引导跳板 来制作一个几十 MB 的 VHD “万能 BIOS 启动入口”,不仅加载速度快,还能链到任意 Windows 系统。

制作步骤1. 准备小 VHD
diskpart
create vdisk file=D:\bootjump.vhd maximum=64 type=fixed
select vdisk file=D:\bootjump.vhd
attach vdisk
create partition primary
format fs=ntfs quick label=BOOTJUMP
assign letter=B
exit
这里最大 64 MB,类型 fixed(固定大小)。FAT32 也可以,NTFS 在 Bootmgr 下通用性好。

2. 写入引导代码

bootsect /nt60 B: /mbr


3. 生成 Bootmgr 和 BCD假设你的真实 Windows 系统在 C:,运行:

bcdboot C:\Windows /s B: /f BIOS


4. 检查/修改 BCD(可选)如果要链到其他盘/分区,可用:

bcdedit /store B:\Boot\BCD /set {default} device partition=C:
bcdedit /store B:\Boot\BCD /set {default} osdevice partition=C:


5. GRUB2 菜单配置(Legacy BIOS)在 Linux 的 /boot/grub/grub.cfg 添加:

menuentry "Windows via VHD (memdisk)" {
    linux16 /memdisk raw
    initrd16 /boot/bootjump.vhd
}


启动流程
优势

最后,回答为什么要这么做?因为LEGACY BIOS + GPT需要这么做才能引导WINDOWS系统。




思路扩展玩法2:PXE+iPXE 脚本+memdisk+微型 VHD 

QEMU 直接测试命令(内置 TFTP 模式)
假设你在 D:\PXE-TFTP 放了:
boot.ipxe      # iPXE 脚本
memdisk        # syslinux 的 memdisk 程序
uniboot.vhd    # 你的微型 VHD 跳板

boot.ipxe 内容示例(HTTP 改成 TFTP 可避免防火墙干扰):
#!ipxe
kernel tftp:\/\/10.0.2.2\/memdisk raw
initrd tftp:\/\/10.0.2.2\/uniboot.vhd
boot

10.0.2.2 是 QEMU NAT 网络下宿主机的固定地址

QEMU 启动命令(调试模式):

cd "D:\Program Files\qemu"
qemu-system-x86_64.exe ^
  -m 1024 ^
  -net nic,model=e1000 ^
  -net user,tftp="D:\PXE-TFTP",bootfile=boot.ipxe ^
  -boot n


QEMU 启动命令(无控制台窗口):

cd "D:\Program Files\qemu"
qemu-system-x86_64w.exe ^
  -m 1024 ^
  -net nic,model=e1000 ^
  -net user,tftp="D:\PXE-TFTP",bootfile=boot.ipxe ^
  -boot n


运行后链路


关于需要成品的,本人没有附件权限,也挂不上链接。发短消息吧!



作者: 2012huguoliang    时间: 2025-8-26 15:06
成品呢
作者: gtzyxfx    时间: 2025-8-26 15:13
本帖最后由 gtzyxfx 于 2025-8-26 15:16 编辑

没有Linux ,期待楼主成品,谢啦!
作者: seekyou2008    时间: 2025-8-26 15:16
2012huguoliang 发表于 2025-8-26 15:06
成品呢

按上面操作下来就是成品,成品挂不上来。
作者: 201012121135    时间: 2025-8-26 15:37
谢谢分享
作者: wwwlhp    时间: 2025-8-26 15:42
多谢分享!!!
作者: 小灰兔    时间: 2025-8-26 15:52

多谢分享!!!
作者: 2012andyle113    时间: 2025-8-26 16:19
什么,先引导VHD,再引导其他?这本身就够麻烦了
作者: promrhxq    时间: 2025-8-26 16:24
感谢分享好东东
作者: wn168cn@163.com    时间: 2025-8-26 16:27
支持原创
作者: 肉仔    时间: 2025-8-26 16:33
感谢分享,楼主辛苦了!
作者: handsome_xiang    时间: 2025-8-26 16:54
感谢分享!
作者: fh123456    时间: 2025-8-26 17:25
好办法。。。

作者: seekyou2008    时间: 2025-8-26 17:29
gtzyxfx 发表于 2025-8-26 15:13
没有Linux ,期待楼主成品,谢啦!

改成WINDOWS下操作了。
作者: wang1126    时间: 2025-8-26 17:35
谢谢楼主分享
作者: 1801403    时间: 2025-8-26 21:39
我现在就是这样做的,而且,传统BIOS系统也可以启动UEFI分区硬盘。
作者: ootdyao    时间: 2025-8-26 21:50
感谢分享
作者: 2048    时间: 2025-8-26 22:12
谢谢大佬的分享
作者: luodeman    时间: 2025-8-26 22:16
感谢楼主分享,辛苦了
作者: seekyou2008    时间: 2025-8-26 22:43
1801403 发表于 2025-8-26 21:39
我现在就是这样做的,而且,传统BIOS系统也可以启动UEFI分区硬盘。

是的,还可以安装黑苹果。
作者: dksoft    时间: 2025-8-27 10:09
感谢分享
作者: guong    时间: 2025-8-27 11:35
谢谢分享
作者: 黄金圣斗士Saga    时间: 2025-8-27 13:59
厉害!
作者: 黄金圣斗士Saga    时间: 2025-8-27 13:59
下来看看
作者: 黄金圣斗士Saga    时间: 2025-8-27 14:00
牛逼软件
作者: ashchen    时间: 2025-8-27 17:26
感觉好曲折。。。
作者: fh123456    时间: 2025-8-27 19:27
思路别致,谢谢哦,
作者: ebaqiang    时间: 2025-8-28 08:46
谢谢分享!
作者: kfqzhw    时间: 2025-8-28 11:42
写的真详细,好好消化吸收一下
作者: kfqzhw    时间: 2025-8-28 11:55
楼主能提供下涉及的软件的吗?
作者: seekyou2008    时间: 2025-8-28 15:13
kfqzhw 发表于 2025-8-28 11:55
楼主能提供下涉及的软件的吗?

扩展玩法2:PXE+iPXE 脚本+memdisk+微型 VHD  这里QEMU是为了快速验证VHD实现效果,不是必需的,整体来说不需要其它软件。
作者: kfqzhw    时间: 2025-8-28 15:22
seekyou2008 发表于 2025-8-28 15:13
扩展玩法2:PXE+iPXE 脚本+memdisk+微型 VHD  这里QEMU是为了快速验证VHD实现效果,不 ...

memdisk 、GRUB2、rEFInd、Clover 能提供一下吗?
作者: seekyou2008    时间: 2025-8-28 15:34
本帖最后由 seekyou2008 于 2025-8-28 15:37 编辑
kfqzhw 发表于 2025-8-28 15:22
memdisk 、GRUB2、rEFInd、Clover 能提供一下吗?

这些东西网上都有,我可以直接给个现成的VHD给你,问题是挂不上来。比如,帖子里的:
kernel tftp:\/\/10.0.2.2\/memdisk raw
initrd tftp:\/\/10.0.2.2\/uniboot.vhd
都要加“\”才能上传。

作者: makoto23    时间: 2025-8-31 21:05
谢谢分享
作者: 我是喜羊羊    时间: 2025-9-3 07:18
学习了感谢分享
作者: ashchen    时间: 2025-9-4 14:33
谢谢分享
作者: hihk    时间: 2025-9-28 15:36
怎么过Secure Boot?能无视Secure Boot吗?
作者: fh123456    时间: 2025-10-25 23:29
seekyou2008 发表于 2025-8-28 15:34
这些东西网上都有,我可以直接给个现成的VHD给你,问题是挂不上来。比如,帖子里的:
kernel t ...

上传l蓝奏云
作者: ebaqiang    时间: 2025-10-26 04:42
期待楼主成品,谢啦!
作者: wawakuliao    时间: 2025-10-26 19:49
感谢分享
作者: wawakuliao    时间: 2025-10-26 19:51
期待成品
作者: seekyou2008    时间: 2025-11-2 21:19
hihk 发表于 2025-9-28 15:36
怎么过Secure Boot?能无视Secure Boot吗?

我的是老机器没有Secure Boot
作者: xpzzj    时间: 2025-11-7 15:25
多谢分享,上链接、附件的等级有点高了
作者: zz3286979    时间: 2025-11-11 10:02
感谢分享,支持原创。
作者: a272121742    时间: 2025-11-13 12:52
感谢分享!
作者: fh123456    时间: 3 天前
楼主加油升级
作者: seekyou2008    时间: 前天 08:14
fh123456 发表于 2025-11-26 21:08
楼主加油升级

你比较关注哪个点呢?新机器作用不大吧,老机器还可以搞搞。下载地址如下:
https:\/\/r2.mywows.eu.org/tools/uniboot.vhd
https:\/\/r2.mywows.eu.org/tools/duet.rar
相关说明:
当前VHD在加载和执行DUET时,可能会找不到EFI,即它所在目录,
在这种情况下,你可能需要在U盘或硬盘上另建一个ESP,然后把VHD里的EFI复制过来,
如果你当前有ESP,直接把VHD里的EFI复制过来。
最后,
menuentry "Universal BIOS→UEFI Boot" {
    linux16 /boot/memdisk raw
    initrd16 /boot/uniboot.vhd
}
即你还需要有GRUB2环境和另外的memdisk文件,才能执行。
下载地址\/\/换成//,好了,就啰嗦这么多,玩得愉快。
作者: fh123456    时间: 前天 10:50
seekyou2008 发表于 2025-11-27 08:14
你比较关注哪个点呢?新机器作用不大吧,老机器还可以搞搞。下载地址如下:
https:\/\/r2.mywows.eu.org ...

机器确实是UEFI, 我下载来玩玩,感谢!!




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