使用mksisofs构建可引导的iso

时间:2015-08-19 13:02:20

标签: powershell iso

我尝试使用mkisofs在Windows下构建可启动的Linux ISO

这是我执行的命令:

mkisofs -r -V “Modified Iso” -o D:\MOR.iso -cache-inodes -J -l -b isolinux\isolinux.bin -c isolinux\boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table D:\modified\iso\

输出是:

Uh oh, I cant find the boot image 'isolinux\isolinux.bin' inside the target tree.

D:\modified\iso\文件夹的结构是:

[BOOT]\
EFI\
images\
isolinux\
Packages\
repodata\
sbin\
.discinfo
.treeinfo
comps.xml
ks.cfg

1 个答案:

答案 0 :(得分:1)

尝试以下步骤。它为我工作。 你需要添加ks文件。

  1. 列表项
  2. 创建一个目录来安装源代码。
  3. mkdir / tmp / bootiso。

    1. 循环安装您正在修改的源ISO。 (从Red Hat / CentOS下载。)
    2. mount -o loop /path/to/some.iso / tmp / bootiso

      1. 为自定义媒体创建工作目录。
      2. mkdir / tmp / bootisoks

        1. 将源媒体复制到工作目录。
        2. cp -r / tmp / bootiso / * / tmp / bootisoks /

          1. 卸载源ISO并删除目录。
          2. umount / tmp / bootiso&& rmdir / tmp / bootiso。

            1. 更改工作目录的权限。
            2. chmod -R u + w / tmp / bootisoks

              1. 将已针对包和%post修改的Kickstart脚本复制到工作目录。
              2. cp /path/to/someks.cfg /tmp/bootisoks/isolinux/ks.cfg

                1. 将任何其他RPM复制到目录结构并更新元数据。
                2. cp /path/to/*.rpm / tmp / bootisoks / Packages /。 cd / tmp / bootisoks / Packages&& createrepo -dpo ..

                  1. 将kickstart添加到启动选项。
                  2. sed -i's / append \ initrd \ = initrd.img $ / append initrd = initrd.img \ ks \ = cdrom:/ks.cfg/'/tmp/bootisoks/isolinux/isolinux.cfg

                    1. 创建新的ISO文件。
                    2. cd / tmp / bootisoks&& mkisofs -o /tmp/boot.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V“CentOS 7 x86_64”-R -J - v -T isolinux /。

                      1. 添加MD5校验和(以允许测试媒体)。
                      2. implantisomd5 /tmp/boot.iso

                        Reference serverfault.com https://serverfault.com/questions/517908/how-to-create-a-custom-iso-image-in-centos