创作可启动 ISO 文件

创作可启动 ISO 文件

我发现 ISO 到 USB“刻录”工具的种类有点令人困惑。每种工具似乎都有自己略有不同的解决问题的方法,从更像 DD 风格的直接复制(这会擦除任何现有内容并导致只读 iso9660 格式的 USB 介质)到在环回上安装 ISO、复制文件并在复制后步骤中执行引导加载程序安装。

到目前为止,我已经使用过 Etcher、UNetbootin、Rufus 和 Ubuntu 的启动盘创建器。我真的在寻找一个一致且跨平台的解决方案,但令人沮丧的是,Etcher 和 UNetbootin 似乎都可以在其 Mac 版本中创建可启动媒体,但不能从 Linux(无论是在 VM 还是本机机器中)创建——就像,它们似乎会成功,但最终结果就是无法启动。

无论如何,为了稍微支持一下讨论,这是我当前创建可启动 ISO 文件的方法:

  • 下载并解压最新的 syslinuxhttps://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.xz
  • 下载网络启动linuxinitrd.gzhttp://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/
  • 跑步mkisofs -D -V "My App" -r -quiet -o path/to/result.iso -J -l -b syslinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table file1.txt file2.txt file3.txt ...
  • 跑步syslinux/bios/utils/isohybrid.pl path/to/result.iso

一些说明:

  • 生成的 ISO 文件(包括没有最后isohybrid.pl一步)可以在 Parallels 下作为 CD-ROM 进行安装和启动。
  • 如果我使用 Etcher 将其刻录到物理 USB,结果可以作为 iso9660 安装,但似乎无法在我的目标 AMD64 系统上启动(是的,在“传统”模式下)。
  • 如果没有这个isohybrid.pl步骤,Etcher 会拒绝尝试刻录到物理 USB。
  • 如果我使用 Mac OS 下的 UNetbootin 将其刻录到物理 USB,我会得到可启动的结果,但如果我在 Linux 下使用相同版本的 UNetbootin 进行此操作,则结果是不可启动的。
  • 唯一能持续发挥作用的工具是 Rufus,但它仅适用于 Windows,对我的许多用户来说非常不方便。

我希望其他人也遇到过这些问题,并知道问题出在哪里或可行的方法——如果最终必须采用命令行或仅限 Linux 的解决方案,那么对我来说这是可以接受的,尽管这显然不是最理想的。如果这会让事情变得更容易,我也愿意从 Syslinux 转到 Grub 或其他支持 EFI 的解决方案。

借助 Etcher 之类的工具,似乎肯定有办法创建可启动的 ISO,并且可以方便地从任何受支持的操作系统刻录。

答案1

嗯,好的,看起来如上所述已经运行过 isohybrid 的 ISO 实际上可以在多台物理机器上启动 - 所以我现在认为这是 Parallels 和一些奇怪的 BIOS 设置的问题。

来自 Etcher 文档和 Ubuntu 邮件列表的更多信息:

https://github.com/resin-io/etcher/blob/master/docs/USER-DOCUMENTATION.md#flashing-ubuntu-isos

https://lists.ubuntu.com/archives/ubuntu-devel/2011-June/033495.html

相关内容