让你的ISO镜像支持Ventoy方式启动,支持Legacy BIOS、UEFI
2020-10-8 6496

通过实践发现,想要让一个ISO镜像文件支持Ventoy启动,需要它的MBR和EFI使用微软的BOOTMGR,同时ISO格式使用微软推荐的UDF1.02版本,高版本UDF没有必要,因为Ventoy本身没做适配。

改造步骤

微软原版操作系统的ISO镜像是完美支持Ventoy的,那我们可以直接提取微软的ISO镜像文件里的相关文件,对自己的ISO进行改造。

不论你的ISO使用的是何种主引导和EFI,都需要换成微软的。比如你的MBR可能是使用的Grub4Dos,EFI使用的Grub2,这种组合生成的ISO如果使用Ventoy,可能需要使用它自带的Memdisk功能,而且Grub2在EFI下使用Ventoy可能不会把ISO识别为光盘,而是识别成了硬盘。

第一步,提取相关引导文件

先打开一个64位的微软原版操作系统的ISO镜像文件,比如WIn10的光盘镜像,打开后提取以下文件:

此处内容隐藏,登录后可见!立即登录  登录后请刷新页面!刷新

再打开一个32位的微软ISO镜像文件,提取以下文件:

此处内容隐藏,登录后可见!立即登录  登录后请刷新页面!刷新

第二步,合并efisys.bin文件

通过第一步,我们提取到了两个efisys.bin文件,但是着两个文件里面的内容是不一样的,我们现在需要把两个文件合二为一。

efisys.bin文件实际是一个img映像文件,通过第三方工具UltraISO或WinImage都可以直接打开并编辑。

这里演示通过WinImage去合并两个文件。

1、先用WinImage打开32位的efisys.bin,提取里面的\efi\boot\bootia32.efi文件

2、打开64位的efisys.bin,依次点击【映像】-【更改格式】

在弹出的【更改格式】对话框中,选择 标准格式 2.88 MB,并点击【确定】

3、定位到\efi\boot目录,将刚刚提取出来的bootia32.efi加入到该目录,

重新定位到根目录,点击【保存】按钮

还可以整理一下文件碎片

整理完成后也需要重新保存

第三步,合并所有引导文件

将第一步中,提取的32位镜像里的\efi\boot\bootia32.efi放到64位提取后的\efi\boot目录,原先32位的efisys.bin文件可以删掉了。

最终的文件结构如下:

此处内容隐藏,登录后可见!立即登录  登录后请刷新页面!刷新

第四步,修改BCD文件,间接引导你的Grub4dos

假设你自己的ISO是使用了Grub4dos做了BIOS下的主引导,那么现在换成微软的BOOTMGR后需要修改BCD文件来引导你的grldr文件。

BCD文件可以使用BOOTICE进行编辑。使用BOOTICE的BCD编辑功能,打开\boot\bcd文件

将原有的条目删除

点击【添加】按钮,选择 新建 实模式启动项(Grub/Linux)

添加完成后,修改右侧的【启动文件】项目,比如这里可以改成\grldr

修改完成后点击【默认】、【保存全局设置】、【保存当前系统设置】按钮

第五步,EFI直接引导WinPE项目

这个步骤不是必须,因为Ventoy不支持UEFI IA32,所以即使你按此步骤操作了,但只要使用Ventoy引导时,也无法在UEFI IA32的设备上启动。

不过,如果你只是想制作高兼容性的双启镜像,那么就需要进行下一步操作了。

这里还是修改BCD文件,不过路径变成了\efi\microsoft\boot\bcd,还是用BOOTICE编辑BCD文件

这里可以看到,BCD的启动条目默认只有一项启动\sources\boot.wim的项目,如果想实现UEFI IA32和UEFI X64双启,则需再添加一条启动菜单。作为区分,可以将默认菜单的标题和设备文件都进行修改,如下图所示:

注意要去掉勾选【启用 Win8 Metro 启动界面】

 

添加新菜单

 

注意修改超时时间

这样在UEFI方式启动时,就会出现这两个菜单,然后选择对应架构的WinPE即可启动了。

打包成ISO镜像文件

这里使用微软的oscdimg软件来打包ISO镜像。

oscdimg运行参数如下:

此处内容隐藏,登录后可见!立即登录  登录后请刷新页面!刷新

这样,你就得到了一个支持Ventoy启动的ISO镜像文件了。

 

最后生成的ISO镜像文件已经上传到附件了:myiso.zip

最后于 2020-10-8 被caocaofff编辑 ,原因:
上传的附件:
  • myiso.zip (上传时间:2020-10-08 14:46:22,大小:4.98M,下载次数:102)
收藏
点赞
道具卡
分享
官方QQ群:872611894(群密码:pecmd.net)
最新回复 (9)
  • avatar image
    jaclingon 2021-4-8

    vENTOY 的MEMDISK 加载 iso速度太慢了,大过1G的文件,没有一个成功过,需要的时间太长了,楼主这样调整做出的 ISO文件 win10来说,加载的时间是多少?能分享一下吗?

  • avatar image
    caocaofff 2021-4-8
    楼主   3
    jaclingon vENTOY 的MEMDISK 加载 iso速度太慢了,大过1G的文件,没有一个成功过,需要的时间太长了,楼主这样调整做出的 ISO文件 win10来说,加载的时间是多少?能分享一下吗?

    我这个方法只适用于Windows PE或启动合盘,微软提供的原始镜像无需修改可以直接用Ventoy启动。memdisk方式主要应对的是未适配Ventoy,或者启动失败的情况。

    官方QQ群:872611894(群密码:pecmd.net)
  • avatar image
    2012qz 2021-11-1

    这个如果添加非uefi的wim,菜单就难看了,多了个grldr的选择菜单

  • avatar image
    cwsswc 2022-8-13
    jaclingon vENTOY 的MEMDISK 加载 iso速度太慢了,大过1G的文件,没有一个成功过,需要的时间太长了,楼主这样调整做出的 ISO文件 win10来说,加载的时间是多少?能分享一下吗?

    英文单词开头字母大写,后面的小写

  • avatar image
    cwsswc 2022-8-13
    jaclingon vENTOY 的MEMDISK 加载 iso速度太慢了,大过1G的文件,没有一个成功过,需要的时间太长了,楼主这样调整做出的 ISO文件 win10来说,加载的时间是多少?能分享一下吗?

    楼主厉害,详细的技术贴,又易懂

  • avatar image
    铭浩 2022-11-18

    ventoy不是安装在U盘然后放进ISO就能启动吗?

    B站UP主,昵称为system32老马,爱好PE和windows系统,欢迎和我讨论,QQ号:2517588842
  • avatar image
    caocaofff 2022-11-18
    楼主   8
    铭浩 ventoy不是安装在U盘然后放进ISO就能启动吗?

    不是所有的ISO镜像文件都能被正常启动的,本教程只是给出了一种能被正常启动的ISO镜像文件的制作方法

    官方QQ群:872611894(群密码:pecmd.net)
  • avatar image
    铭浩 2022-11-18
    caocaofff 不是所有的ISO镜像文件都能被正常启动的,本教程只是给出了一种能被正常启动的ISO镜像文件的制作方法

    哦,原来如此。

    B站UP主,昵称为system32老马,爱好PE和windows系统,欢迎和我讨论,QQ号:2517588842
  • avatar image
    zhanglei1371 2023-6-10

    这个教程太好了

    我思故我在!
返回