银河麒麟系统中需用命令行工具mkisofs(或genisoimage)和grub-mkrescue制作iso镜像,先安装genisoimage、xorriso及grub相关组件,确保源配置正确、权限充足、磁盘空间≥内容1.5倍;纯数据iso用genisoimage命令生成,可引导iso推荐用grub-mkrescue构建uefi+bios双模镜像。

在银河麒麟系统中,需通过命令行将已安装的系统或指定目录打包为可引导的ISO镜像文件,用于离线分发、批量部署或归档备份,该过程依赖mkisofs(或genisoimage)和grub-mkrescue等工具链,不使用图形界面工具。
准备必要工具与环境
执行sudo apt update && sudo apt install -y genisoimage xorriso grub-pc-bin grub-efi-amd64-bin,确保系统已安装ISO构建及UEFI/BIOS双模引导生成组件。若提示“无法定位软件包”,说明系统源未启用universe或restricted仓库,需先编辑/etc/apt/sources.list启用对应源并重试。
确认当前用户对目标打包目录具有读取权限,且磁盘剩余空间≥待打包内容大小的1.5倍——ISO镜像构建过程不压缩,临时占用空间约为最终镜像体积的2倍。
制作纯数据ISO(无引导)
进入待打包目录的父路径,例如cd /home/user/backup-root;执行genisoimage -o kylin-data.iso -J -r -V "KYLIN_DATA_202609" ./myfiles/,其中-o指定输出路径,-J启用Joliet支持Windows识别长文件名,-r设置文件权限为公开可读,-V设定卷标(不超过32字符)。
这一步操作起来很简单,直接把命令敲完回车就行。但注意:-V参数值不能含空格或特殊符号,否则xorriso后续无法正确读取卷标,导致某些国产BIOS拒绝从该ISO启动。
制作可引导的麒麟系统ISO(UEFI+BIOS双模)
方法一:使用grub-mkrescue(推荐,适配麒麟V10 SP3+)
第一步:创建临时工作目录并复制内核与initrd
mkdir -p /tmp/kylin-iso/{boot/grub,EFI/BOOT} && cp /boot/vmlinuz-* /tmp/kylin-iso/boot/ && cp /boot/initrd.img-* /tmp/kylin-iso/boot/
第二步:生成grub.cfg配置文件
cat > /tmp/kylin-iso/boot/grub/grub.cfg set timeout=10
set default=0
menuentry "Install Kylin Linux" {
linux /boot/vmlinuz-inst quiet splash inst.ks=hd:sdb1:/ks.cfg
initrd /boot/initrd.img-inst
}
EOF
第三步:写入EFI启动文件
cp /usr/lib/grub/x86_64-efi/core.efi /tmp/kylin-iso/EFI/BOOT/BOOTX64.EFI
第四步:调用grub-mkrescue构建ISO
sudo grub-mkrescue -o kylin-install-20260905.iso /tmp/kylin-iso
【必须以root权限运行grub-mkrescue,否则无法访问/boot和EFI签名模块】。执行完成后,ISO将自动包含BIOS legacy和UEFI启动能力,可在飞腾、鲲鹏、x86平台通用。
方法二:手动组合genisoimage + isohybrid(兼容老版本)
先用genisoimage生成基础ISO:
genisoimage -o kylin-basic.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -r -V "KYLIN_INSTALL" /path/to/iso-source/
再执行sudo isohybrid kylin-basic.iso --uefi,为ISO注入UEFI启动头。此方式要求源目录中存在isolinux/子目录及完整SYSLINUX结构,否则生成的ISO仅支持BIOS模式。











