当前位置: 首页 > news >正文

Ubuntu24中ISO文件制作工具

Ubuntu24中ISO文件制作工具

    • 技术背景
    • 实现过程

技术背景

Windows系统中习惯使用WinISO整理自己的归档资料,最近使用Ubuntu系统过程中有同样的诉求,Genisoimage工具中的mkisofs命令就是一个比较不错的选择。虽没有WinISO界面化完美,但使用命令配带自己定义的参数,反倒是更加灵活方便。

注:Ubuntu中的WinISO的替代方案

实现过程

  • 安装 genisoimage工具
sudoapt-getinstallgenisoimage

  • mkisofs命令制作iso文件
sudomkisofs-r -R -J -iso-level2-input-charset UTF-8 -o /test.iso /home/yunxi/

执行结果:将/home/yunxi/路径下的所有文件整理生成名称为test.iso的文件,存放在根路径 / 下。

参数说明: -r:保留源文件 -R:以启用 Rock Ridge 扩展,确保文件系统符合 ISO 9660 标准 -J:用于启用 Joliet 扩展 -iso-level:设置ISO9660一致性等级,范围为1到4。 -input-charset:输入字符集,本例中为UTF-8 -o:输出文件,本例中为:/test.iso 最后一个参数为整理路径:/home/yunxi/

  • 命令参数说明
    查看命令参数
mkisofs-help


具体参数说明如下:

-nobak 不要包含备份文件 -no-bak 不要包含备份文件 -abstract FILE 设置抽象文件名 -A ID, -appid ID 设置应用程序ID -biblio FILE 设置书目文件名 -cache-inodes 缓存inode(需要检测硬链接) -no-cache-inodes 不要缓存inode(如果文件系统没有唯一的单元) -check-oldnames 从旧会话中检查所有导入的ISO9660名称 -check-session FILE 检查以前会话中的所有ISO9660名称 -copyright FILE 设置版权文件名 -debug 设置调试标志 -b FILE, -eltorito-boot FILE 设置El Torito启动映像名称 -eltorito-alt-boot 开始指定替代El Torito引导参数 -B FILES, -sparc-boot FILES 设置sparc启动映像名称 -sunx86-boot FILES 设置sunx86启动映像名称 -G FILE, -generic-boot FILE 设置通用引导映像名称 -sparc-label label text 设置sparc启动磁盘标签 -sunx86-label label text 设置sunx86启动磁盘标签 -c FILE, -eltorito-catalog FILE 设置El Torito引导目录名称 -C PARAMS, -cdrecord-params PARAMS 来自cdrecord的魔术参数 -d, -omit-period 忽略来自文件名的尾随句点(违反ISO9660) -dir-mode mode 使所有目录的模式成为此模式。 -D, -disable-deep-relocation 禁用深度目录重定位(违反ISO9660) -file-mode mode 使所有普通文件的模式成为此模式。 -f, -follow-links 跟随符号链接 -gid gid 让所有文件的群组拥有者成为这个gif。 -graft-points 允许使用嫁接点作为文件名 -root DIR 为所有新文件和目录设置根目录 -old-root DIR 在前一个搜索文件的会话中设置根目录 -help 打印选项帮助 -hide GLOBFILE 隐藏ISO9660 / RR文件 -hide-list FILE 带有ISO9660 / RR文件列表的文件要隐藏 -hidden GLOBFILE 在ISO9660文件上设置隐藏属性 -hidden-list FILE 带有隐藏属性的ISO9660文件列表文件 -hide-joliet GLOBFILE 隐藏Joliet文件 -hide-joliet-list FILE 带有Joliet文件列表的文件要隐藏 -hide-joliet-trans-tbl 从Joliet树隐藏TRANS.TBL -hide-rr-moved 在Rock Ridge树中将RR_MOVED重命名为.rr_moved -gui 切换GUI的行为 -i ADD_FILES 不再支持 -input-charset CHARSET 用于文件名转换的本地输入字符集 -output-charset CHARSET 输出文件名转换字符集 -iso-level LEVEL 为ISO9660版本2设置ISO9660一致性等级(1..3)或4 -J, -joliet 生成Joliet目录信息 -joliet-long 允许Joliet文件名为103个Unicode字符 -jcharset CHARSET Joliet目录信息的本地字符集 -l, -full-iso9660-filenames ISO9660名称允许完整的31个字符文件名 -max-iso9660-filenames 允许ISO9660名称的37个字符文件名(违反ISO9660) -allow-leading-dots 允许ISO9660文件名以'。'开头。 (违反ISO9660) -ldots 允许ISO9660文件名以'。'开头。 (违反ISO9660) -L, -allow-leading-dots OLD Pre-POSIX.1-2001选项 - 不要使用-L -log-file LOG_FILE 将消息重定向到LOG_FILE -m GLOBFILE, -exclude GLOBFILE 排除文件名称 -exclude-list FILE 带有要排除的文件名列表的文件 -pad 填充输出到32k的倍数(默认) -no-pad 不要将输出填充到32k的倍数 -M FILE, -prev-session FILE 将路径设置为前一个会话进行合并 -dev SCSIdev 将路径设置为前一个会话进行合并 -N, -omit-version-number 忽略ISO9660文件名的版本号(违反ISO9660) -new-dir-mode mode 创建新目录时使用的模式。 -force-rr 禁止先前会话的自动Rock Ridge检测 -no-rr 禁止从以前的会话中读取Rock Ridge属性 -no-split-symlink-components 禁止拆分符号链接组件 -no-split-symlink-fields 禁止拆分符号链接字段 -o FILE, -output FILE 设置输出文件名称 -path-list FILE 带有要处理的路径名列表的文件 -p PREP, -preparer PREP 设置音量准备 -print-size 打印估计的文件系统大小并退出 -publisher PUB 设置卷发布者 -P PUB, -publisher PUB OLD Pre-POSIX.1-2001选项 - 不要使用-P -quiet 安静地运行 -r, -rational-rock 生成合理化的Rock Ridge目录信息 -R, -rock 生成Rock Ridge目录信息 -s TYPE, -sectype TYPE 将输出扇区类型设置为数据/ XA1/生 -sort FILE 根据FILE中的规则对文件内容位置进行排序 -split-output 将输出分割成约。 1GB大小 -stream-file-name FILE_NAME 设置流文件ISO9660名称(包括版本) -stream-media-size # 在扇区中设置CD媒体的大小 -sysid ID 设置系统ID -T, -translation-table 为不了解长文件名的系统生成翻译表 -table-name TABLE_NAME 翻译表文件名 -ucs-level LEVEL 设置Joliet UCS等级(1..3) -udf 生成UDF文件系统 -dvd-video 生成符合DVD-Video的UDF文件系统 -uid uid 让所有这些文件的所有者。 -U, -untranslated-filenames 允许未翻译的文件名(用于HPUX和AIX - 违反ISO9660)。 Forces -l,-d,-N,-allow-leading-dots,-laxable-filename,-allow-lowercase,-allow-multidot -relaxed-filenames 允许7位ASCII,小写字符除外(违反ISO9660) -no-iso-translate 不要翻译非法ISO字符'〜',' - '和'#'(违反ISO9660) -allow-lowercase 除了当前字符集外,还允许使用小写字符(违反ISO9660) -allow-multidot 允许多个点的文件名(例如.tar.gz)(违反ISO9660) -use-fileversion LEVEL 使用文件系统的文件版本号 -v, -verbose 详细信息 -version 显示版本 -V ID, -volid ID 设置卷ID -volset ID 设置音量设置ID -volset-size # 设置卷大小 -volset-seqno # 设置卷序列号 -x FILE, -old-exclude FILE 排除文件名(不建议使用) -hard-disk-boot 引导映像是硬盘映像 -no-emul-boot 启动映像是“无模拟”映像 -no-boot 启动映像不可启动 -boot-load-seg # 设置启动映像的加载段 -boot-load-size # 设置负载扇区的数量 -boot-info-table 用信息表修补引导映像 -XA 生成XA目录属性 -xa 生成合理化目录属性 -z, -transparent-compression 启用文件的透明压缩 -hfs-type TYPE 设置HFS默认的TYPE -hfs-creator CREATOR 设置HFS默认CREATOR -g, -apple 添加Apple ISO9660扩展 -h, -hfs 创建ISO9660/HFS混合卷 -map MAPPING_FILE 将文件扩展名映射到HFS TYPE / CREATOR -H MAPPING_FILE, -map MAPPING_FILE OLD Pre-POSIX.1-2001选项 - 不要使用-H -magic FILE HFS TYPE / CREATOR的魔术文件 -probe 探测Apple / Unix文件类型的所有文件 -mac-name 为ISO9660 / Joliet / RockRidge文件名使用Macintosh名称 -no-mac-files 不要查找Unix / Mac文件(不建议使用) -boot-hfs-file FILE 设置HFS启动映像名称 -part 生成HFS分区表 -cluster-size SIZE PC Exchange Macintosh文件的群集大小 -auto FILE 设置HFS AutoStart文件名称 -no-desktop 不要创建HFS(空)桌面文件 -hide-hfs GLOBFILE 隐藏HFS文件 -hide-hfs-list FILE 要隐藏的HFS文件的列表 -hfs-volid HFS_VOLID HFS分区的卷名称 -icon-position 保持HFS图标位置 -root-info FILE 用于根文件夹的finderinfo -input-hfs-charset CHARSET 用于HFS文件名转换的本地输入字符集 -output-hfs-charset CHARSET 用于HFS文件名转换的输出字符集 -hfs-unlock 保持HFS卷被解锁 -hfs-bless FOLDER_NAME 祝福的文件夹名称 -hfs-parms PARAMETERS 以逗号分隔的HFS参数列表 -prep-boot FILE PReP启动映像文件 - 最多允许4个 -chrp-boot 添加CHRP引导标题 --cap 查找AUFS CAP Macintosh文件 --netatalk 查找NETATALK Macintosh文件 --double 查找AppleDouble Macintosh文件 --ethershare 寻找Helios EtherShare Macintosh文件 --exchange 查找PC Exchange Macintosh文件 --sgi 查找SGI Macintosh文件 --macbin 查找MacBinary Macintosh文件 --single 查找AppleSingle Macintosh文件 --ushare 查找IPT UShare Macintosh文件 --xinet 寻找XINET Macintosh文件 --dave 寻找DAVE Macintosh文件 --sfm 查找SFM Macintosh文件 --osx-double 查找MacOS X AppleDouble Macintosh文件 --osx-hfs 寻找MacOS X HFS Macintosh文件
  • ISO-LEVEL参数说明
    mkisofs工具中,`iso-level LEVEL参数用于设置ISO9660一致性等级,范围为1到4。选择合适的等级需平衡兼容性、文件名支持和功能需求。
1. ISO9660 Level 1‌:这是最基础的ISO9660标准,文件名限制为8.3格式(主名8字符,扩展名3字符),且仅支持7位ASCII字符。‌ 该等级兼容性最佳,几乎所有系统(包括旧版Windows、macOS和Linux)都能读取,适合需要广泛兼容性的场景,如创建通用 数据光盘或备份旧系统文件。 2. ‌ISO9660 Level 2‌:允许文件名长度增至31字符,但仍使用7位ASCII字符集。‌ 它比Level 1更灵活,适用于需要较长文件名但无需特殊字符的场景,例如备份Linux系统文件或创建多媒体光盘,同时 保持较好的跨平台兼容性。 3. ‌ISO9660 Level 3‌:与Level 2类似,但允许文件名长度扩展至37字符(违反ISO9660标准)。‌ 这提供了更大的灵活性,适合需要长文件名的现代文件系统备份,如包含复杂目录结构的项目,但兼容性略有下降, 可能在极旧系统上出现问题。 4. ISO9660 Level 4‌:这是最高一致性等级,支持Joliet扩展(允许Unicode文件名长达103字符)和Rock Ridge扩展(支持长文件名、 符号链接等Unix特性)。‌它适合需要长Unicode文件名(如多语言支持)和高级功能的场景,例如创建Windows/Linux双系统安装ISO或 包含非ASCII字符的软件分发盘。Level 4在现代系统上兼容性良好,但某些老旧设备可能无法识别。

等级选择的建议:
a.优先兼容性‌:若目标系统包括大量旧设备,选择Level 1或2。‌
b.长文件名需求‌:若文件名较长或包含特殊字符,Level 3或4更合适。
c‌.混合环境‌:对于Windows和Linux共享,Level 4(通过Joliet)通常是最佳选择,因为它同时支持长文件名和Unix特性。‌
‌d.避免 unnecessary violations‌:除非需要长文件名,否则避免使用Level 3或4,因为它们违反ISO9660标准,可能在严格合规的系统上引发问题。‌

  • 成果确认
  1. linux环境确认
    a. 直接挂载镜像文件,查看文件内容
sudomkdir/mnt/isosudomount-o loop,ro /test.iso /mnt/iso ll /mnt/iso/sudoumount/mnt/isosudorm-rf /mnt/iso

-o loop 选项告诉系统使用循环设备
-o ro 表示以只读方式挂载


b. 挂载loop设备文件方式
确认loop设备状态,安装镜像文件到loop设备

sudols-ls /dev/loop*sudolosetup /dev/loop0 /test.iso


挂载loop设备,查看结果

sudomkdir/mnt/isosudomount/dev/loop0 /mnt/iso ll /mnt/iso/sudoumount/mnt/isosudorm-rf /mnt/isosudolosetup -d /dev/loop0


查看关联loop设备

sudolosetup /dev/loop0 /test.isosudolosetup -asudolosetup -d /dev/loop0

  1. windows环境确认
scpyunxi@192.168.8.134:/test.iso ./


windows系统浏览器直接装载,查看文件内容,确认没有问题。

http://www.jsqmd.com/news/98991/

相关文章:

  • 【Science】曹晓风/张宪省/赵忠等点评!杨卫兵研究团队破解植物干细胞命运的“细胞壁密码”
  • GEO优化不踩坑:不同规模企业的服务商选择与落地干货 - bykj8888
  • Dify入门指南:快速构建生成式AI应用
  • 单菌基因组数据分析文献和教程集锦
  • Kotaemon从入门到精通:核心用法与实战
  • TensorRT-LLM模型导出详解(v0.20.0rc3)
  • 2025家用美颜吸顶灯选购全攻略:揭秘化妆显白、拍照自然与视频肤色通透的照明黑科技 - 阿喂嘞lvv
  • Langflow中Prompt技术的底层实现解析
  • 大模型时代的技术从业者:核心能力重构与实践路径
  • 告别社区店促销困局:用数据解锁老客复购新路径
  • 怎么将windows文件显示的Comments列一直显示出来
  • GAN基础与应用:从原理到前沿模型解析
  • Dify本地部署完整教程
  • GEO优化:行业认知与头部服务商选型指南 - bykj8888
  • 技术转管理了
  • 串的代码实现
  • GBase 8a MPP Cluster集群存储过程介绍
  • 盘点2025年进口ATCC细胞哪个代理商好,代理商推荐/供应商推荐 - 品牌推荐大师
  • 计算机毕业设计|基于springboot + vue汽车销售系统(源码+数据库+文档)
  • 使用PaddlePaddle官方Docker镜像快速部署
  • 计算机毕业设计|基于springboot + vue酒店管理系统(源码+数据库+文档)
  • Kotaemon与LangChain:生产级RAG框架深度对比
  • 国产化PPT处理控件Spire.Presentation教程:使用Python将图片批量转换为PPT
  • LangFlow支持正则表达式节点,实现智能文本清洗
  • Qwen-Image-Edit-2509推理延迟优化实战
  • LangFlow在工业物联网中的异常检测应用
  • 2025年三聚磷酸钠实力厂家权威推荐榜单:磷酸三钠/六偏磷酸钠/磷酸二氢钾源头厂家精选 - 品牌推荐官
  • C#实现人脸增强:基于GFPGAN的FaceFusion应用
  • 最值得尝试的自律打卡软件推荐:5类日常需求,帮你告别无效打卡
  • Excalidraw:手绘风格的开源白板工具