一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

ubuntu镜像定制化做法介绍

时间:2026-08-04 08:53:49 编辑:袖梨 来源:一聚教程网

Ubuntu镜像定制化方法

ubuntu镜像定制化方法介绍

一 方法总览与选型

  1. Cubic 图形化向导:在现有 Ubuntu ISO 上解包、进入 chroot 定制、再打包,适合希望少写命令、可视化操作的场景。
  2. 命令行手工改造 ISO:基于 squashfs-tools、genisoimage/xorriso 等工具,可控性最强,适合深度定制与自动化流水线。
  3. mkosi 从零构建:以配置文件驱动,直接生成可启动磁盘镜像(ISO/RAW),适合“从模板生成镜像”的现代化流程。
  4. 烧录与测试:烧录可用 Rufus(Windows)/balenaEtcher(跨平台);测试建议用 QEMU/KVM 快速验证启动与安装。

二 方法一 Cubic 图形化定制

  1. 安装 Cubic:在 Ubuntu 主机执行sudo add-apt-repository ppa:cubic-wizard/releasesudo apt update && sudo apt install cubic
  2. 基本流程:启动 Cubic → 选择官方 ISO → 指定工作目录 → 进入 chroot 终端 → 安装软件/修改配置/添加文件 → 生成新 ISO。
  3. 常用定制点:预装 .deb 包或 PPA、调整 GDM/GRUB 启动项、替换壁纸与主题、写入默认用户/SSH 公钥(注意权限与合规)。
  4. 适用场景:快速为团队或实验室生成统一预装环境的安装介质。

三 方法二 命令行手工改造 ISO

  1. 准备工具与挂载 ISO:sudo apt install squashfs-tools genisoimage xorrisomkdir -p /livecdsudo mount -o loop ubuntu-22.04.iso /livecdcp -rT /livecd /livecd/rootfs
  2. 解压并进入系统:sudo unsquashfs -d /squashfs /livecd/casper/filesystem.squashfssudo mount --bind /dev /squashfs/devsudo mount -t proc none /squashfs/procsudo mount -t sysfs none /squashfs/syssudo mount -t devpts none /squashfs/dev/ptssudo chroot /squashfs
  3. 在 chroot 中定制(示例):apt update && apt install -y vim curl htop如需联网解析,可临时拷贝宿主 resolv.confcp /etc/resolv.conf /squashfs/etc/resolv.conf清理以减小体积apt clean && apt autoremoveexit
  4. 重新打包与元数据:sudo umount /squashfs/{dev/pts,dev,proc,sys}sudo rm /livecd/casper/filesystem.squashfssudo mksquashfs /squashfs /livecd/casper/filesystem.squashfs -comp xz更新大小文件(用于安装器校验)du -sx --block-size=1 /squashfs | sudo tee /livecd/casper/filesystem.size生成校验(部分环境使用 md5,其他可能用 sha256;按需保留其一)sudo find /livecd -type f -print0 | xargs -0 md5sum | sudo tee /livecd/md5sum.txt
  5. 生成可启动 ISO(同时支持 BIOS/UEFI):sudo xorriso -as mkisofs -D -r -V “Custom Ubuntu” -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e efi/boot/bootx64.efi -no-emul-boot -o custom-ubuntu.iso /livecd

四 方法三 mkosi 从零构建可启动镜像

  1. 安装与最小配置:sudo apt install mkosi systemd-container squashfs-tools grub-pc-bin创建 mkosi.conf(示例):[Distribution]Distribution=ubuntuRelease=jammy[Output]Format=diskOutput=custom-linux.imgBootable=yes[Content]Packages=linux-image-generic systemd-boot bash curl nano
  2. 构建与(可选)转 ISO:sudo mkosi build若需 ISO,可基于生成的磁盘镜像再封装(示例思路)mkdir iso-root && sudo mount custom-linux.img iso-rootsudo mkisofs -o custom-linux.iso -b boot/grub/x86_64-efi/grub.img iso-rootsudo umount iso-root
  3. 适用场景:CI/CD 自动构建、云镜像/本地镜像模板化生成。

五 烧录与测试及常见问题

  1. 烧录与启动测试:
    1. 烧录:Rufus(Windows)/balenaEtcher(跨平台) 写入 U 盘;
    2. 启动测试:QEMU 快速验证qemu-system-x86_64 -boot d -cdrom custom-ubuntu.iso -m 2048
  2. 常见问题与要点:
    1. 引导兼容性:确保 BIOS 路径 isolinux/isolinux.bin 与 UEFI 路径 efi/boot/bootx64.efi 正确;
    2. 元数据一致性:修改后务必更新 filesystem.size 与校验文件(md5/sha256 视环境而定);
    3. 内核与 initramfs:更换内核后执行 update-initramfs -u;
    4. 体积优化:定制完成后执行 apt clean && apt autoremove,并使用合适的 squashfs 压缩(xz 等);
    5. 用户级配置:chroot 中仅有 root,涉及用户目录(如 ~/.bashrc)的改动通常在首次登录后补充;
    6. 测试:在虚拟机充分验证安装流程与预装软件可用性,再用于生产。

热门栏目