You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建可引导.iso镜像以从Python文件启动?

制作可引导ISO以直接启动Python脚本的方案

前置工具安装

需要先安装以下工具:

  • xorriso:用于生成ISO镜像
  • syslinux:提供BIOS引导支持
  • Python解释器(需与后续打包版本一致)

核心步骤

1. 创建工作目录结构

mkdir -p boot_iso/{boot/syslinux,py_scripts}

2. 准备Syslinux引导文件

将Syslinux的核心引导文件复制到工作目录:

cp /usr/lib/syslinux/bios/isolinux.bin boot_iso/boot/syslinux/
cp /usr/lib/syslinux/bios/ldlinux.c32 boot_iso/boot/syslinux/

3. 编写Syslinux配置文件

创建boot_iso/boot/syslinux/syslinux.cfg,内容如下:

DEFAULT python_boot
PROMPT 0
TIMEOUT 0
LABEL python_boot
  SAY Starting Python script...
  KERNEL /boot/syslinux/ldlinux.c32
  INITRD /py_scripts/initramfs.cpio.gz

4. 制作包含Python与脚本的initramfs

initramfs是启动时加载的临时根文件系统,需要包含Python解释器、依赖库和你的脚本:

4.1 构建initramfs目录结构

mkdir -p initramfs/{bin,lib,lib64,py_scripts}

4.2 复制Python及依赖

# 复制Python解释器
cp /usr/bin/python3 initramfs/bin/
# 自动收集并复制依赖库
ldd /usr/bin/python3 | awk '{print $3}' | grep -v '^$' | xargs -I {} cp {} initramfs/lib/
# 64位系统额外复制lib64库(忽略无权限错误)
ldd /usr/bin/python3 | awk '{print $3}' | grep -v '^$' | xargs -I {} cp {} initramfs/lib64/ 2>/dev/null
# 复制你的目标Python脚本
cp your_script.py initramfs/py_scripts/

4.3 编写启动入口脚本

创建initramfs/init文件,作为系统启动后的第一个执行脚本:

#!/bin/sh
# 挂载必要的系统文件系统
mount -t proc none /proc
mount -t sysfs none /sys
# 设置环境变量
export PATH=/bin:/sbin
# 切换到脚本目录并执行
cd /py_scripts
python3 your_script.py
# 脚本执行完毕后进入交互shell(可选,用于调试)
/bin/sh

给脚本添加执行权限:

chmod +x initramfs/init

4.4 打包initramfs

cd initramfs
find . -print0 | cpio --null -ov --format=newc | gzip -9 > ../boot_iso/py_scripts/initramfs.cpio.gz
cd ..

5. 生成可引导ISO

xorriso -as mkisofs -o python_boot.iso \
  -isohybrid-mbr /usr/lib/syslinux/bios/isohdpfx.bin \
  -c boot/syslinux/boot.cat \
  -b boot/syslinux/isolinux.bin \
  -no-emul-boot -boot-load-size 4 -boot-info-table \
  boot_iso/

测试验证

可以用QEMU快速测试ISO是否能正常启动:

qemu-system-x86_64 -cdrom python_boot.iso

注意事项

  • 确保所有Python依赖库都被完整复制,否则启动时会出现ImportError或文件找不到错误
  • 若脚本依赖系统工具(如ls、cat),需要将这些工具及其依赖一并复制到initramfs的bin或sbin目录
  • 若需UEFI引导支持,需额外准备grub-efi相关文件,步骤会更复杂

内容的提问来源于stack exchange,提问作者timursper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 10:25:22