无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 44959|回复: 101

[分享] 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, 下载次数: 1457)

评分

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

查看全部评分

发表于 2020-4-1 11:56:16 | 显示全部楼层
支持
回复

使用道具 举报

发表于 2020-4-1 13:01:35 | 显示全部楼层
行動表達~ ~ 感谢分享!
╰○︿′
* ︿)
  〈
~~~~~








回复

使用道具 举报

发表于 2020-4-1 14:25:13 | 显示全部楼层
感谢分享!!
回复

使用道具 举报

发表于 2020-4-1 16:27:33 | 显示全部楼层
很专业!!!
回复

使用道具 举报

发表于 2020-4-1 18:06:16 | 显示全部楼层
好东西 顶起来
回复

使用道具 举报

发表于 2020-4-1 18:59:40 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2020-4-1 22:19:56 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2020-4-2 01:06:00 | 显示全部楼层
非常好用~!!
回复

使用道具 举报

发表于 2020-4-2 08:44:20 | 显示全部楼层
专业帮顶

^_^
回复

使用道具 举报

发表于 2020-4-2 19:39:33 | 显示全部楼层
支持大大
回复

使用道具 举报

发表于 2020-4-2 19:39:38 | 显示全部楼层
支持大大
回复

使用道具 举报

发表于 2020-4-2 20:08:26 | 显示全部楼层
老大给力,收藏备用。
回复

使用道具 举报

发表于 2020-4-2 20:39:06 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

发表于 2020-4-5 00:14:00 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2020-4-6 20:40:36 | 显示全部楼层
给楼主反馈一个问题哈
这个 mkisofs的版本做出来的 ISO在UEFI下虽然能启动,但是并不是100%符合可启动ISO文件的规范(即 ELTORITO规范)。
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=419840&pid=4027576&fromuid=572792

主要是-b efi.img 这个参数,应该用 -e efi.img这个参数,但是这个版本的mkisofs不支持这个参数, 在Linux上是支持-e这个参数的。
我也在找,看看有没有新版本的Windows下的mkisofs.exe可用。



点评

已更新1楼脚本代码,但附件一直不能更新,不知论坛什么问题,明天再试。 你可以按照1楼的代码修改之前的版本,就是添加了一个参数 -eltorito-platform efi 请添加此参数后再试生成的iso是否符合规范。 我不懂  详情 回复 发表于 2020-4-7 00:00
回复

使用道具 举报

发表于 2020-4-6 20:44:41 | 显示全部楼层
试试
回复

使用道具 举报

发表于 2020-4-6 23:56:47 来自手机 | 显示全部楼层
用oscdimg。

点评

我之前也是使用oscdimg,但后来发现bios启动,mkisofs+grldr比oscdimg更容易成功,而且mkisofs打包比oscdimg快得多。  详情 回复 发表于 2020-4-7 00:05
回复

使用道具 举报

 楼主| 发表于 2020-4-7 00:00:14 | 显示全部楼层
本帖最后由 hilsonma 于 2020-4-10 00:05 编辑
longpanda 发表于 2020-4-6 20:40
给楼主反馈一个问题哈。
这个 mkisofs的版本做出来的 ISO在UEFI下虽然能启动,但是并不是100%符 ...

已更新1楼脚本代码,但附件一直不能更新,不知论坛什么问题,明天再试。(附件已更新)

你可以按照1楼的代码修改之前的版本,就是添加了一个参数 -eltorito-platform efi
请添加此参数后再试生成的iso是否符合规范。

我不懂使用你的查看方式,试过 010-editor 也看不到你说的信息。

点评

修改过之后就OK了。多谢楼主! 用010Editor, 直接Ctrl+F 搜索,选择 Hex Bytes类型, 搜索 91EF010000000000 这个二进制串, 能搜到的(唯一一处)就是符合的。 [attachimg]415553[/attachimg]  详情 回复 发表于 2020-4-7 09:41
大佬厉害!我用你更新的代码 问题完美解决!期待你更多更好的作品!你这个脚本打包出来的ISO 体积很小!非常好!!!!! http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=419840&pid=4027576&fr  详情 回复 发表于 2020-4-7 02:26
回复

使用道具 举报

 楼主| 发表于 2020-4-7 00:05:22 | 显示全部楼层

我之前也是使用oscdimg,但后来发现bios启动,mkisofs+grldr比oscdimg更容易成功,而且mkisofs打包比oscdimg快得多。

点评

貌似 oscdimg+bootmgr 的启动成功率也是蛮高的  详情 回复 发表于 2020-4-7 10:23
回复

使用道具 举报

发表于 2020-4-7 02:26:36 | 显示全部楼层
hilsonma 发表于 2020-4-7 00:00
已更新1楼脚本代码,但附件一直不能更新,不知论坛什么问题,明天再试。

你可以按照1楼的代码修改之前 ...

大佬厉害!我用你更新的代码  问题完美解决!期待你更多更好的作品!你这个脚本打包出来的ISO 体积很小!非常好!!!!!
http://bbs.wuyou.net/forum.php?m ... &fromuid=572792

点评

你厉害,都不带睡觉的,注意休息哈。  发表于 2020-4-7 04:50
回复

使用道具 举报

发表于 2020-4-7 07:09:32 来自手机 | 显示全部楼层
还有这区别啊,受教。
回复

使用道具 举报

发表于 2020-4-7 09:41:08 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-7 09:52 编辑
hilsonma 发表于 2020-4-7 00:00
已更新1楼脚本代码,但附件一直不能更新,不知论坛什么问题,明天再试。

你可以按照1楼的代码修改之前 ...

修改过之后就OK了。多谢楼主! 那个查看的方式是我自己写的小程序解析的。
可以用010Editor, 直接Ctrl+F 搜索,选择 Hex Bytes类型, 搜索   91EF010000000000  这个二进制串, 能搜到的(唯一一处)就是符合的。
010editor.png

点评

谢谢。 找到了。010editor 和 winhex 都找得到,查找十六进制数值 91EF010000000000 不同的iso偏移地址可能会不一样  详情 回复 发表于 2020-4-7 13:24
回复

使用道具 举报

发表于 2020-4-7 10:23:04 | 显示全部楼层
hilsonma 发表于 2020-4-7 00:05
我之前也是使用oscdimg,但后来发现bios启动,mkisofs+grldr比oscdimg更容易成功,而且mkisofs打包比oscd ...

貌似 oscdimg+bootmgr 的启动成功率也是蛮高的

点评

鱼大把包包贴上来呗  详情 回复 发表于 2020-5-8 00:18
oscdimg+bootmgr 是不错,mkisofs的参数太复杂,我没学会前一直用的都是oscdimg 会了之后发现mkisofs打包更快,生成的包更小,而mkisofs+grldr 的用途更广泛。 oscdimg+bootmgr的好处是引导pe更直接。  发表于 2020-4-7 13:30
回复

使用道具 举报

 楼主| 发表于 2020-4-7 13:24:58 | 显示全部楼层
longpanda 发表于 2020-4-7 09:41
修改过之后就OK了。多谢楼主! 那个查看的方式是我自己写的小程序解析的。
可以用010Editor, 直接Ctrl+F ...

谢谢。
找到了。010editor 和 winhex 都找得到,查找十六进制数值 91EF010000000000
不同的iso偏移地址可能会不一样
回复

使用道具 举报

发表于 2020-4-7 13:55:30 | 显示全部楼层
牛啊
回复

使用道具 举报

发表于 2020-4-8 09:23:42 | 显示全部楼层
这个用UI编辑后EFI会失效,而oscdimf不会。大致是这个只是放efi.img的指针,而另一个是直接把efi.img放启动区的(我是这么理解的)。
回复

使用道具 举报

发表于 2020-4-8 09:53:31 | 显示全部楼层
我还是觉得oscdimg的好
主要这个参数太复杂
oscdimg打包g4d你要用那个引导的bin打包。给你个单文件的mkiosfs

mkisofs.rar (118.21 KB, 下载次数: 152)

点评

谢谢。  详情 回复 发表于 2020-4-8 12:01
回复

使用道具 举报

 楼主| 发表于 2020-4-8 12:01:33 | 显示全部楼层
窄口牛 发表于 2020-4-8 09:53
我还是觉得oscdimg的好
主要这个参数太复杂
oscdimg打包g4d你要用那个引导的bin打包。给你个单文件的mkio ...

谢谢。
回复

使用道具 举报

发表于 2020-4-11 18:11:43 | 显示全部楼层
支持!下载试试一下
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 21:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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