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

自定义Ubuntu 22.04 LiveCD无法启动:Squashfs GPG签名/密钥环相关问题

自定义Ubuntu 22.04 LiveCD无法启动:Squashfs GPG签名/密钥环相关问题

我完全理解你的困扰——Ubuntu 22.04及以后的版本确实对LiveCD的Squashfs验证机制做了更新,旧指南里的步骤已经跟不上了,尤其是GPG签名这块,很容易踩坑。我来一步步帮你解决这两个核心问题:

一、重新生成SquashFS时,GPG签名是必须的吗?

答案是可选:你可以选择跳过签名验证快速解决问题,也可以按照新机制生成合规的签名来保留验证功能。

情况1:跳过GPG签名(快速绕过错误)

新版本LiveCD默认会校验Squashfs的签名,如果你不想折腾GPG流程,直接关闭验证即可:

  • 挂载你的自定义ISO的启动分区(或者chroot到live环境后),找到grub.cfg文件(通常在/boot/grub/或/EFI/boot/目录下)
  • 定位到启动项里的linux行,比如类似:
    linux /casper/vmlinuz quiet splash ---
    
  • 在---前面添加casper/verify=no参数,修改后变成:
    linux /casper/vmlinuz quiet splash casper/verify=no ---
    
  • 如果是legacy BIOS启动的ISO,还要找到isolinux.cfg文件,在append行里同样添加casper/verify=no
  • 重新打包ISO后,启动时就不会校验Squashfs签名,应该能绕过“找不到live文件系统”的错误。

情况2:生成合规的GPG签名(保留验证功能)

如果需要保留签名验证(比如合规或安全需求),得按照Ubuntu新的密钥环机制操作:

  1. 生成GPG密钥对:
    在宿主机终端运行:
    gpg --gen-key
    
    按照提示创建RSA密钥(建议4096位),记住输出里的密钥ID(类似XXXXXXXXX的一串字符)。
  2. 导出公钥并替换到ISO:
    gpg --export --armor XXXXXXXXX > casper.pub.gpg
    
    将生成的casper.pub.gpg文件放到ISO的/casper/目录下,替换原来的同名文件。
  3. 签名新生成的Squashfs文件:
    用你的私钥对新的filesystem.squashfs签名:
    gpg --default-key XXXXXXXXX --output filesystem.squashfs.gpg --sign filesystem.squashfs
    
    将这个签名文件filesystem.squashfs.gpg也放到/casper/目录下,和对应的Squashfs文件配对。
  4. 更新ISO的校验文件:
    进入ISO根目录,重新生成MD5校验文件并签名:
    find . -type f -print0 | xargs -0 md5sum > MD5SUMS
    gpg --default-key XXXXXXXXX --output MD5SUMS.gpg --sign MD5SUMS
    
    替换原来的MD5SUMS和MD5SUMS.gpg文件。

二、如何调试LiveCD启动错误?

如果跳过签名后还是有问题,或者想找到根本原因,可以通过以下方法调试:

  • 开启Verbose启动模式:
    在GRUB启动界面按e编辑启动项,找到linux行,删掉quiet和splash参数,替换成debug initrd=/casper/initrd.lz,然后按Ctrl+X启动。这会输出详细的启动日志,能看到哪一步找不到文件系统或验证失败。
  • 进入救援shell查看日志:
    启动失败后如果进入了救援shell,可以查看/var/log/syslog或/var/log/boot.log(Live环境下可能需要先挂载临时存储)。另外也可以添加console=tty0 console=ttyS0,115200参数,把日志输出到串口(如果有硬件条件的话)。
  • 手动检查Squashfs路径:
    在救援模式下,手动挂载ISO的casper分区,确认filesystem.squashfs是否在正确的/casper/路径下,文件权限是否正常。有时候打包ISO时文件复制不全或路径错误,也会触发这个错误。

额外小建议

其实Ubuntu官方提供了live-build工具,专门用于制作自定义LiveCD,它会自动处理新版本的签名、验证等机制,比手动跟着旧指南修改要靠谱得多,推荐你试试这个工具。

备注:内容来源于stack exchange,提问作者ojek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 09:44:05