无忧启动论坛

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

[分享] UEFI/BIOS双启ISO制作脚本(mkisofs)

    [复制链接]
跳转到指定楼层
#
发表于 2020-4-1 11:49:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 hilsonma 于 2021-4-20 01:50 编辑
  1. @echo off
  2. set bios=-no-emul-boot -boot-load-size 4 -b grldr
  3. set uefi=-eltorito-alt-boot -no-emul-boot -eltorito-platform efi -b efi.img
  4. set iso=-o z.iso
  5. set dir=%1
  6. if %1a==a set dir=iso1
  7. set iso9660x=-U -max-iso9660-filenames -D
  8. set RR=-R
  9. set joliet=-J -joliet-long -hide-joliet boot.catalog
  10. pushd %~dp0
  11. bin\mkisofs %iso9660x% %RR% %joliet% %bios% %uefi% %iso% %dir%
复制代码


支持拖放,将要打包成iso的内容放到独立的文件夹,将文件夹拖放到脚本上,即会将文件夹打包成iso
没有拖放就默认将iso1文件夹打包成iso,iso1是pe打包模板,将wim镜像改名boot.wim替换到iso1\boot运行脚本即可打包
默认打包生成的文件名为z.iso

要打包的文件夹里必须有grldr和efi.img这两个启动文件

grldr的内置菜单可以使用bootice修改,可以链接其他引导。
不建议跳过grldr直接使用其他引导,因为mkisofs+grldr的兼容性更好,成功率更高。

efi.img的内容可以使用WinImage修改,将其他efi文件改名为bootx64.efi来替换,也可添加32位引导文件bootia32.efi,efi.img的内容越简单越好。

mkisofs.7z (2.54 MB, 下载次数: 1542)

WinImage_Portable.7z (1.69 MB, 下载次数: 1127)

评分

参与人数 8无忧币 +50 收起 理由
yyz2191958 + 2 赞一个!
cuicongyuan + 5 赞一个!
smartcowboy + 3 很给力!
wuxin9712 + 5
shan + 15 很给力!
879792799 + 5 很给力!
wbzzzzj + 5 很给力!
20090101 + 10 很给力!

查看全部评分

121#
发表于 2024-11-12 09:12:35 | 只看该作者
学习
回复

使用道具 举报

120#
发表于 2024-11-12 08:29:22 | 只看该作者
感谢分享
回复

使用道具 举报

119#
发表于 2024-11-12 08:07:18 | 只看该作者
#在这里快速回复#很给力!
回复

使用道具 举报

118#
发表于 2024-10-30 21:12:15 | 只看该作者
赞赞
回复

使用道具 举报

117#
发表于 2024-10-30 21:04:27 | 只看该作者
学习一下,谢谢分享
回复

使用道具 举报

116#
发表于 2024-10-30 15:04:34 | 只看该作者
太强大了,刚刚测试,完美双启!
回复

使用道具 举报

115#
发表于 2024-10-23 11:19:53 | 只看该作者
回复

使用道具 举报

114#
发表于 2024-10-22 15:23:17 | 只看该作者
谢楼主分享
回复

使用道具 举报

113#
 楼主| 发表于 2024-10-22 11:30:50 | 只看该作者
本帖最后由 hilsonma 于 2024-10-22 11:34 编辑

可以点 这里 下载
回复

使用道具 举报

112#
发表于 2024-10-22 07:12:58 | 只看该作者
没权限下不了

点评

可以到这里下载:http://ys-d.ysepan.com/613068739/417812075/iTwsgks443J1T6544OHM16/mkisofs.7z?lx=xz  详情 回复 发表于 2024-10-22 11:30
回复

使用道具 举报

111#
发表于 2024-7-5 15:53:05 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

110#
发表于 2024-7-5 14:50:28 | 只看该作者
多谢楼主分享!!!
回复

使用道具 举报

109#
发表于 2024-7-5 14:37:13 | 只看该作者
感谢分享
回复

使用道具 举报

108#
发表于 2024-7-3 19:54:04 | 只看该作者
文档都无法
回复

使用道具 举报

107#
发表于 2024-5-1 22:55:26 | 只看该作者
感谢提供分享!
回复

使用道具 举报

106#
发表于 2024-5-1 18:52:30 | 只看该作者
没有权限下载
回复

使用道具 举报

105#
 楼主| 发表于 2024-4-27 21:00:57 | 只看该作者
Su_jacc 发表于 2024-4-27 19:53
直接找壳替换可以启动吗

看用什么软件替换。
软件中有处理启动代码的选项的。
需要设置好启动选项。
因为生成的ISO再用不同软件处理很容易破坏启动代码的,需要重新处理启动代码。

比如较多人使用的ultraiso,如果本来是这个软件生成的iso,再用它来修改,一般是不会破坏启动代码的。
但如果是其他软件生成的iso,再用这个软件来修改,通常都会破坏启动代码。

从引导扇区到启动条目,再到启动项,再到启动文件(或镜像),这中间的链接关系,使用不同的软件来修改iso内容的话,是很容易受到破坏的。需要重建正确的链接,这样才能启动。
回复

使用道具 举报

104#
发表于 2024-4-27 20:09:32 | 只看该作者
感谢分享
回复

使用道具 举报

103#
发表于 2024-4-27 19:53:28 | 只看该作者
直接找壳替换可以启动吗

点评

看用什么软件替换。 软件中有处理启动代码的选项的。 需要设置好启动选项。 因为生成的ISO再用不同软件处理很容易破坏启动代码的,需要重新处理启动代码。 比如较多人使用的ultraiso,如果本来是这个软件生成  详情 回复 发表于 2024-4-27 21:00
回复

使用道具 举报

102#
发表于 2024-4-25 14:19:32 | 只看该作者
谢分享谢老大。
回复

使用道具 举报

101#
发表于 2024-4-25 13:47:30 | 只看该作者
        赞一个!
回复

使用道具 举报

100#
 楼主| 发表于 2024-4-24 23:49:49 | 只看该作者
本帖最后由 hilsonma 于 2024-4-25 00:09 编辑
liuzhaoyzz 发表于 2024-4-24 17:33
感谢回复,明白了。

有个问题啊,efi.img里面已经有了EFI\boot\bootx64.efi,那打包的时候,iso1\EFI\ ...

iso1\EFI\boot\\bootx64.efi 不需要,只需要efi.img,里面有就可以了。
你试了不放在iso1\EFI\boot里好象无法启动,这个应该是有其他问题,不会是这个文件的原因。

UEFI默认引导文件是EFI\boot\bootx64.efi,但iso的引导机制不一样,它不是fat32,UEFI是不认放在iso里的\efi\boot\bootx64.efi的。你可以搜索"可引导光盘"来了解可引导光盘规范,iso的引导是通过镜像文件实现的,传统引导光盘是使用一个2048字节的镜像,uefi引导光盘使用的是更大的镜像,这个镜像里是符合uefi规范的格式。只要注意观察生成的可启动iso,都会发现这样的镜像文件(在[BOOT]文件夹)。

只需要将efi文件放在镜像文件内\efi\boot\bootx64.efi 就可以了,配置文件(菜单文件)直接放在iso里,比如直接在iso里放 \efi\microsoft\boot\bcd,不需要bcd放在镜像文件里。

注:其实传统引导光盘的2048字节的镜像并不真的是镜像,而是相当于一个光盘扇区,里面是引导代码,指示着下一阶段的引导。
回复

使用道具 举报

99#
发表于 2024-4-24 17:33:31 | 只看该作者
本帖最后由 liuzhaoyzz 于 2024-4-24 18:01 编辑
hilsonma 发表于 2024-4-24 02:50
是的。-b efi.img 后面的efi.img 不能换成其他格式的文件,必须是img镜像(或ima镜像),这个镜像里放置用 ...

感谢回复,明白了。

有个问题啊,efi.img里面已经有了EFI\boot\bootx64.efi,那打包的时候,iso1\EFI\boot\bootx64.efi还要再放一个是吗?我试了,不放一个好像无法启动?

oscdimg制作的iso里,efisys.bin其实就是这样的镜像文件,好像有这个文件,EFI\boot\bootx64.efi都可以不用?好奇怪。UEFI默认引导文件不是EFI\boot\bootx64.efi的吗,放在efisys.bin这个镜像包里面,也可以UEFI启动吗?不明白。



点评

iso1\EFI\boot\\bootx64.efi 不需要,只需要efi.img,里面有就可以了。 你试了不放在iso1\EFI\boot里好象无法启动,这个应该是有其他问题,不会是这个文件的原因。 UEFI默认引导文件是EFI\boot\bootx64.efi,但i  详情 回复 发表于 2024-4-24 23:49
回复

使用道具 举报

98#
 楼主| 发表于 2024-4-24 02:50:29 | 只看该作者
本帖最后由 hilsonma 于 2024-4-24 03:00 编辑
liuzhaoyzz 发表于 2024-4-23 17:51
请问下-b efi.img,这个参数,必须接img镜像吗?怎么我试了-b "iso1\EFI\boot\bootx64.efi"不行啊?

是的。-b efi.img 后面的efi.img 不能换成其他格式的文件,必须是img镜像(或ima镜像),这个镜像里放置用于uefi启动的efi文件。

iso内作uefi引导的efi文件也必须放在这个镜像里,而不是直接放在iso里。

使用oscdimg制作的iso里,efisys.bin其实就是这样的镜像文件,只不过文件名不同而已,打开里面内容是一样的,同样是 \efi\boot\bootx64.efi
当然,oscdimg制作的iso里,bootx64.efi一般是ms的bootmgfw.efi
而使用mkisofs制作的iso里,bootx64.efi不一定是bootmgfw.efi 。

点评

感谢回复,明白了。 有个问题啊,efi.img里面已经有了EFI\boot\bootx64.efi,那打包的时候,iso1\EFI\boot\bootx64.efi还要再放一个是吗?我试了,不放一个好像无法启动?  详情 回复 发表于 2024-4-24 17:33
回复

使用道具 举报

97#
发表于 2024-4-23 17:51:04 | 只看该作者
请问下-b efi.img,这个参数,必须接img镜像吗?怎么我试了-b "iso1\EFI\boot\bootx64.efi"不行啊?

点评

是的。-b efi.img 后面的efi.img 不能换成其他格式的文件,必须是img镜像(或ima镜像),这个镜像里放置用于uefi启动的efi文件。  详情 回复 发表于 2024-4-24 02:50
回复

使用道具 举报

96#
发表于 2024-4-14 00:00:57 | 只看该作者
KANKANKANKAN
回复

使用道具 举报

95#
发表于 2024-1-20 21:50:51 | 只看该作者
下载试试
回复

使用道具 举报

94#
发表于 2023-9-4 16:21:35 | 只看该作者
谢谢分享
回复

使用道具 举报

93#
发表于 2023-8-7 21:35:41 | 只看该作者
一定要下载一下   无忧币不够用啊
回复

使用道具 举报

92#
发表于 2023-8-7 21:35:19 | 只看该作者
超级想下载啊 网上各种搜索都找不到结果
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-22 09:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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