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

使用xorriso修改Ubuntu ISO后,能否自动更新ISO内的md5sum.txt?

如何用xorriso更新Ubuntu ISO修改后的/md5sum.txt?

问题描述

我参考Debian Wiki的方法,用以下xorriso命令修改Ubuntu ISO:

xorriso \
   -indev "$orig_iso" \
   -outdev "$new_iso" \
   \
   -map "$changed_isolinux" /isolinux \
   -rm /isolinux/f10.txt -- \
   \
   -boot_image any replay \
   \
   -compliance no_emul_toc \
   -padding included

请问xorriso是否支持生成新的/md5sum.txt来反映-map和-rm操作的修改?我查手册看到了make_md5相关功能,但添加后并未更新/md5sum.txt。如果xorriso做不到,我是否需要手动提取并修改该文件?


解决方案

1. 用xorriso内置功能生成并替换/md5sum.txt

xorriso的-make_md5参数确实可以生成MD5校验文件,但默认不会自动匹配Ubuntu ISO中/md5sum.txt的格式和位置。你需要明确指定生成路径,并确保命令顺序正确(所有文件修改操作完成后再生成MD5)。

修改后的命令示例:

xorriso \
   -indev "$orig_iso" \
   -outdev "$new_iso" \
   \
   -map "$changed_isolinux" /isolinux \
   -rm /isolinux/f10.txt \
   \
   # 生成并替换根目录下的md5sum.txt
   -make_md5 /md5sum.txt \
   \
   -boot_image any replay \
   \
   -compliance no_emul_toc \
   -padding included

注:Ubuntu的md5sum.txt格式是每行MD5值 相对路径,-make_md5参数会自动适配这种格式,但要确保覆盖原文件(如果原ISO中已存在/md5sum.txt)。

2. 手动生成(如果xorriso内置方法失效)

如果上述命令未能正确更新/md5sum.txt,可以手动处理:

  • 步骤1:将原ISO内容提取到临时目录
    mkdir temp_iso
    xorriso -indev "$orig_iso" -extract / temp_iso
    
  • 步骤2:在临时目录中修改文件(替换isolinux目录、删除f10.txt等)
  • 步骤3:重新生成md5sum.txt
    cd temp_iso
    # 对目录内所有文件生成MD5,排除临时文件和目录本身
    find . -type f ! -name "md5sum.txt" -print0 | xargs -0 md5sum > md5sum.txt
    cd ..
    
  • 步骤4:用xorriso重新打包ISO
    xorriso \
       -outdev "$new_iso" \
       -map temp_iso / \
       -boot_image any replay \
       -compliance no_emul_toc \
       -padding included
    
  • 步骤5:清理临时目录
    rm -rf temp_iso
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:02:51