hhh333 发表于 2021-5-5 08:24:56

超级EFI与BIOS双启ISO制作工具

本帖最后由 hhh333 于 2021-5-5 16:22 编辑

目前,传统的BIOS用于光盘的启动器我收集有如下几种:
       Isolinux
       Grub4DOS
       EasyBoot
       Grub2
       MS
用于EFI的我收集也有如下几种:
       MS原生64/32-EFI
       Grub2接管的64/32-EFI
       rEfind接管的64/32-EFI
       Xorboot接管的64/32-EFI
       Grub4EFI接管的64/32-EFI

如果要bios/efi双启,即以上两类可以两两组合可有25种组合方式,可以根据需要和个人偏好进行组合,论坛中也有人发表了模板,也有脚本,但不便于修改和个人自由组合,在我发表的集成PE系统中一直都有制作工具,现将文件和脚本进行收集整理,单独发出来以方便大家制作。其中每一种启动菜单只是示例作用,可以根据情况进行修改。




文件集合下载:百度链接:https://pan.baidu.com/s/15E7hAF2dey75mzUB8jylPQ 提取码:zomv
解压到硬盘直接运行脚本制作,也可以拖放要打包的目录进行制作。

一、工具的目录结构说明
├─BOOT-------------------------------------BIOS启动器存放处
│├─FONTS
│├─GRUB
││└─EXT
│├─ISOLINUX
│└─zh-CN
├─EFI----------------------------------------EFI启动器映像存放处(主要是BIN文件做光盘时需要,其他方式启动时不需要)
│├─boot-----------------------------------EFI启动文件存放处(主要是EFI启动文件,做光盘时基本不用,但其他方式启动时会用)
│├─grub-----------------------------------Grub2、G4E菜单及相关文件以下类似
││├─ext
││├─fonts
││└─locale
││      └─zh_CN
│├─microsoft
││└─boot
│├─refind
││├─drivers_ia32
││├─drivers_x64
││├─icons
│││└─licenses
││├─tools_ia32
││└─tools_x64
│└─xorboot
├─EZBOOT----------------------------------BIOS主要用于光盘启动区文件存放处,主要为启动指针,多数指向BOOT下的启动器
└─SETUP------------------------------------安装制作工具存放处
   └─MKISOFS------------------------------打包脚本及工具
       └─LANG

二、关于SETUP\MKISOFS下的批处理的说明:
1.调用MKISOFS.EXE生成ISO:
MKISO-GRW.CMD-------BIOS、EFI双选择--------------->ISO
MKISO.CMD-----------MS的EFI、BIOS多选------------->ISO
EFI启动区只是一个指针,指向H3CD\EFI的打包文件,因此这里的文件不能删除,生成的ISO也不能用UI修改编辑,否则EFI不能启动
2.调用OSCDIMG.EXE生成ISO:
OSCDUDF-GRW.CMD-------BIOS、EFI双选择--------------->UDF_ISO
OSCDUDF.CMD-----------MS的BIOS、EFI32位与64位选择--->UDF_ISO
OSCDUDF.CMD-----------多种方式BIOS单启-------------->ISO
生成的UDF_ISO因为是将EFI启动名直接放启动区,所以可以用UI编辑,EFI下的启动包也可以删除,但UDF对NT5支持不好
3、调用ULTRAISO.EXE生成ISO:
UI_IMG.CMD-----------多种方式BIOS单启-------------->扩展ISO
兼容性最好,要双启还得用UI打开ISO文件,按Ctrl+Alt+I,再添加EFI下的启动包(目前不知道命令行如何实现)

三、关于\EFI下的EFI启动包的说明:
efisys.bin-------------------------MS_EFI32+64
efisys_noprompt32.bin---------MS_EFI32
efisys_noprompt64.bin---------MS_EFI64
grub2.bin-------------------------Grub2_EFI32+64
grub4efi.bin----------------------G4E_EFI32+64
refind.bin-------------------------rEfind_EFI32+64
xorboot.bin-----------------------xorboot_EFI32+64
sgrub2.bin、sxorboot.bin------grub2和xorboot证书方式过SecureBoot
skpgrub2.bin---------------------grub2卡巴直接过SecureBoot

(注:这里发布的基本为做光盘ISO的文件,其他方式的文件清除了,如果要进一步了解其他细节,请移步http://bbs.wuyou.net/forum.php?mod=viewthread&tid=370573&extra=page%3D1下载完全版)




hhh333 发表于 2021-5-5 08:24:57

备用

wuxin9712 发表于 2021-5-5 08:28:25

大师出品收藏下载

窄口牛 发表于 2021-5-5 08:36:36

本帖最后由 窄口牛 于 2021-5-5 08:42 编辑

clover加入,也有legacy和efi32,64。OC好像只有efi,不支持legacy?

hhh333 发表于 2021-5-5 08:53:12

窄口牛 发表于 2021-5-5 08:36
clover加入,也有legacy和efi32,64。OC好像只有efi,不支持legacy?

这个听说过确实没用过,比较小众吧?

窄口牛 发表于 2021-5-5 09:01:39

玩黑苹果的必须有的,离不开这两个。

barryade 发表于 2021-5-5 09:02:39

感谢分享

hhh333 发表于 2021-5-5 09:06:31

窄口牛 发表于 2021-5-5 09:01
玩黑苹果的必须有的,离不开这两个。

有最新的文件不,我试一下

sanshen3 发表于 2021-5-5 09:39:47

不错收藏一下,试试

窄口牛 发表于 2021-5-5 10:00:39

OpenCore

zhjsn 发表于 2021-5-5 10:43:41

well good

hhh333 发表于 2021-5-5 10:49:29

窄口牛 发表于 2021-5-5 10:00
OpenCore

与这个地方:https://github.com/CloverHackyColor/CloverBootloader有什么区别

273k 发表于 2021-5-5 11:36:08

收藏下载

窄口牛 发表于 2021-5-5 12:09:23

两个东西,不是一回事儿。

新空气 发表于 2021-5-5 12:31:38

厉害了我的哥

hgfok 发表于 2021-5-5 13:26:30

谢谢分享

创新科技2015 发表于 2021-5-5 15:43:32

        很给力!

xlt 发表于 2021-5-5 17:14:50

感谢h大分享。

962791913 发表于 2021-5-5 20:18:06

学习了

wang7000 发表于 2021-5-6 07:13:57

感谢老大分享,学习了

hhh333 发表于 2021-5-6 16:56:20

窄口牛 发表于 2021-5-5 12:09
两个东西,不是一回事儿。

哦,知道了,但确实不知道怎么用?如配置菜单等。黑苹果没用过。

hhh333 发表于 2021-5-6 17:00:21

给UI论坛发了信息没看到回,现在我用nircmd实现按键添加,似乎也不错。
@echo off
rem 本程序使用isodir来定义打包的目录,可以拖放打包目录进行打包
rem 如果未指定打包目录,则使用本文件所在位置的上两级作打包目录
rem 打包目录本身及路径均不能带空格,否则可能出现不可预计的结果
rem 生成的ISO与该文件夹位于同一目录下,文件名为打包目录的目录名
rem 启动文件位置的定义约定使用相对于打包目录的相对路径。
set r=-preparer http://bbs.wuyou.net -publisher H3
For /F "tokens=1" %%i In ('DATE /T') do SET d=%%i
color 3f
PUSHD %~dp0
if not "%1"=="" goto Get_isodir
SET TP=%cd%
cd ..\..
set isodir=%cd%
cd %TP%
call :Get_isoname %isodir%
goto start
:Get_isodir
set isodir=%1
set isoname=%~n1%

:start
rem 指定BIOS启动文件
cls
set prog=H3PE EFI与BIOS双引导ISO生成程序
SET LS=====================================================================
SET LD=--------------------------------------------------------------------
title %prog%
Echo.
Echo %LS%
Echo                  %prog%
Echo %LD%
Echo.
echo   请先选择生成Bios的引导方式:
echo.
echo       Isolinux (LNX)方式
echo       Grub4dos (G4D)方式
echo       EasyBoot (EZB)方式
echo       Grub2    (G2)方式
echo       MS       (NT6)方式
echo       退出程序
echo.
Echo %LD%
echo   注:1.本系统isolinux要求为去掉效验的文件;
echo       2.请查验\WXPE\WINSXS\MANIFESTS下的文件,
echo         如果文件名太长,可能造成打包失败!
Echo %LD%
Echo    Edit by:blithewind、H3        盗版不究
Echo %LS%
set /p choice= 请选择 (1/2/3/4/5/q) ,然后按回车:
if "%choice%"=="" goto start
if not "%choice%"=="" set choice=%choice:~0,1%
if /i "%choice%"=="1" set bootfile=BOOT\ISOLINUX.BIN &&set bm=LNX
if /i "%choice%"=="2" set bootfile=EZBOOT\H3_GRLDR.BIN &&set bm=G4D
if /i "%choice%"=="3" set bootfile=EZBOOT\LOADER.BIN &&set bm=EZB
if /i "%choice%"=="4" set bootfile=EZBOOT\H3_G2LDR.BIN &&set bm=G2
if /i "%choice%"=="5" set bootfile=EZBOOT\H3_MGRLD.BIN &&set bm=NT6
if /i "%choice%"=="q" exit
rem set isoname=%isoname%-%d%(%bm%)

:EFISTART
rem 指定EFI启动文件
set choice=
Echo.
Echo %LS%
Echo                  %prog%
Echo %LD%
Echo.
echo   请再选择生成EFI的引导方式:
echo.
echo       MS原生64/32-EFI
echo       Grub2接管的64/32-EFI
echo       rEfind接管的64/32-EFI
echo       xorboot接管的64/32-EFI
echo       Grub4EFI接管的64/32-EFI
echo       shim接管的xorboot 64-EFI
echo       shim接管的Grub2 64-EFI
echo       卡巴静默过安检再转Grub2(要求/boot/grub/grub.cfg小写)
echo       返回开始
echo       退出程序
echo.
Echo %LD%
echo   注:以上6/7可以通过Secure Boot 验证,第一次启动时要选证书
echo       第8项要先将/BOOT/GRUB改成小写再打包,此项有可能被MS封杀;
echo       如果还不能通过Secure验证,请回复第项;
Echo %LD%
Echo    Edit by:blithewind、H3        盗版不究
Echo %LS%
set /p choice= 请选择 (1/2/3/4/5/6/7/8/b/q) ,然后按回车:
if "%choice%"=="" goto EFISTART
if not "%choice%"=="" set choice=%choice:~0,1%
if /i "%choice%"=="1" set efifile=EFI\efisys.bin
if /i "%choice%"=="2" set efifile=EFI\grub2.bin
if /i "%choice%"=="3" set efifile=EFI\refind.bin
if /i "%choice%"=="4" set efifile=EFI\xorboot.bin
if /i "%choice%"=="5" set efifile=EFI\grub4efi.bin
if /i "%choice%"=="6" set efifile=EFI\sxorboot.bin
if /i "%choice%"=="7" set efifile=EFI\sgrub2.bin
if /i "%choice%"=="8" set efifile=EFI\skpgrub2.bin
if /i "%choice%"=="b" goto start
if /i "%choice%"=="q" exit

:ULTRAISO
set efifile=%isodir%\%efifile%
ultraiso.exe -jlong -l -imax -optimize %r% -boot %isodir%\%bootfile% -volu %isoname% -d "%isodir%" -out %isodir%\..\%isoname%.ISO
rem ultraiso -in %1 -rm /* -d "%~dpn1" -jlong -imax -optimize -volu %~n1 -out %1
cls
color 4f
echo 注意:
Echo.
echo 下面进行UltraIso的界面按键操作,请保持程序为当前窗口并等待窗口关闭……
Echo.
start ultraiso.exe %isodir%\..\%isoname%.ISO
nircmd.exe clipboard set %efifile%
echo 开始添加EFI启动文件……
nircmd.exe wait 1500
nircmd.exe sendkeypress ctrl+alt+i
nircmd.exe wait 1000
nircmd.exe sendkeypress ctrl+v enter
echo 开始保存ISO文件……
nircmd.exe wait 100
nircmd.exe sendkeypress ctrl+s
echo 退出UltraISO操作界面……
nircmd.exe wait 1000
nircmd.exe closeprocess ultraiso.exe
goto end

:Get_isoname
set isoname=%~n1%
goto eof

:END
echo 操作全部完成!请按任意键退出……
pause>nul
要记得把nircmd.exe与之放一起。

luyigoog 发表于 2021-5-13 08:38:45

不错哦,感谢楼主分享!

wsan5420 发表于 2021-5-15 01:25:19

辛苦了!感谢分享 !下载看看

mickding 发表于 2021-6-18 09:57:08

厉害了,大神yyds

rhinomax 发表于 2021-6-30 16:22:26

我用easy2boot实现

leitian72853 发表于 2021-7-13 09:15:08

感谢h大分享

大纲007 发表于 2021-7-15 07:23:41

请教大佬,bios里的sata配置只有一个ahci,有什么办法能安装xp吗?硬盘大概是gpt格式

2013mqqdg 发表于 2021-7-25 10:12:07

感谢老大分享,收藏留用

smmxlsq 发表于 2021-8-2 22:34:24

感谢分享
页: [1] 2 3
查看完整版本: 超级EFI与BIOS双启ISO制作工具