如何确定使用哪个版本的 ISO 9660 文件系统来格式化 CD/DVD?

如何确定使用哪个版本的 ISO 9660 文件系统来格式化 CD/DVD?

笔记我目前拥有的 UDisks 版本:gnome-disk-utility 3.36.3 UDisks 2.8.4(基于 2.8.4 构建)

我有几个空的 DVD+RW 光盘。当我将它们插入光盘播放器并使用移动U盘(gnome-disk-utility)它仅指示“ISO 9660”。

我知道 ISO 9660 文件系统有不同的版本/级别/扩展(Rock Ridge、Joliet 等——请参阅ISO 9660在 Wikipedia 上)。有没有办法检查磁盘上使用的文件系统是原始 ISO 9660 还是其他扩展之一?

或者,移动U盘指示它是否是 ISO 9660 文件系统的不同扩展/级别,或者是否将所有版本都标记为相同的“ISO 9660”指示?

答案1

原始答案

您可以xorriso从存储库中使用universe

sudo apt update
sudo apt install xorriso

xorriso -indev file.iso  # iso file
xorriso -indev /dev/sr0  # optical disk (CD or DVD)

查看 iso 系统的一些详细信息,例如 Ubuntu iso 文件:

$ xorriso -indev ubuntu-22.04.1-desktop-amd64.iso
GNU xorriso 1.5.3 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE :     963 nodes read in 1 seconds
libisofs: NOTE : Found hidden El-Torito image for EFI.
libisofs: NOTE : EFI image start and size: 1866280 * 2048 , 8496 * 512
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev 'ubuntu-22.04.1-desktop-amd64.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , MBR protective-msdos-label grub2-mbr cyl-align-off GPT
Media summary: 1 session, 1868570 data blocks, 3650m data, 2321g free
Volume id    : 'Ubuntu 22.04.1 LTS amd64'

以现在旧的东芝笔记本电脑附带的两张 Windows 8 光盘中的第一张为例:

sudo umount /dev/sr0  # unmount the automounted disk

$ xorriso -indev /dev/sr0
GNU xorriso 1.5.3 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE :       1 nodes read in 1 seconds
libisofs: WARNING : Found hidden El-Torito image. Its size could not be figured out, so image modify or boot image patching may lead to bad results.
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev '/dev/sr0'
Media current: DVD-ROM
Media status : is written , is closed
Boot record  : El Torito
Media summary: 1 session, 3950832 data blocks, 7716m data,     0 free
Volume id    : 'TI30990500A_1'

更多详细信息man xorriso

编辑:转发 xorriso 作者的答案

我询问了的作者xorriso托马斯·施密特(Thomas Schmitt),并通过电子邮件得到了以下答复:

你好,

今天我无法通过 askubuntu 的验证码。

因此,请引导问题 1441688 的读者进行[email protected] 讨论,或者发布我的以下回答:


当前稳定版本 xorriso-1.5.4 可以报告 Rock Ridge(ISO 9660 目录树的附加组件)、Joliet(用于 MS-Windows 的替代 ISO 9660 目录树,文件名为 16 位字符)或 ISO 9660-1999(另一种替代目录树,但好处不多)的存在。

$ xorriso -indev debian-11.5.0-amd64-netinst.iso -toc
...
ISO offers   : Rock_Ridge Joliet
ISO loaded   : Rock_Ridge
...

如果它有 ISO 9660-1999 树,那么“ISO 提供”行也会显示单词“ISO_9660_1999”。如果没有 Rock Ridge、Joliet 或 ISO 9660-1999,则显示单词“Only_ECMA_119”。“ISO 加载”行显示哪个树被读取并随后由 xorriso 操作使用。(这可以通过 xorriso 命令 -read_fs 来选择。)

开发版本 xorriso-1.5.5 有一个新的命令

-assess_indev_features

它会更详细地检查已加载的 ISO,并报告“交换级别”(1= 所有 ECMA-119 名称均符合 DOS 8.3 样式,2= 所有数据文件均小于 4 GiB,3= 存在 4 GiB 或更大的数据文件)。

$ xorriso -indev debian-11.5.0-amd64-netinst.iso -assess_indev_features plain
...
Indev feature: size=195584
Indev feature: iso_level=1
Indev feature: rockridge=1
Indev feature: joliet=1
Indev feature: iso1999=0
Indev feature: eltorito=1
Indev feature: tree_loaded=0
Indev feature: tree_loaded_text=ISO9660
Indev feature: rr_loaded=1
Indev feature: aaip=0
Indev feature: untranslated_name_len=0
Indev feature: allow_dir_id_ext=1
Indev feature: omit_version_numbers=0
Indev feature: allow_deep_paths=0
Indev feature: allow_longer_paths=0
Indev feature: max_37_char_filenames=0
Indev feature: no_force_dots=2
Indev feature: allow_lowercase=0
Indev feature: allow_full_ascii=1
Indev feature: relaxed_vol_atts=1
Indev feature: joliet_longer_paths=0
Indev feature: joliet_long_names=1
Indev feature: joliet_utf16=0
Indev feature: rrip_version_1_10=1
Indev feature: rrip_1_10_px_ino=0
Indev feature: aaip_susp_1_10=0
Indev feature: record_md5_session=0
Indev feature: record_md5_files=0

它可以告诉本机 xorriso 命令在写入新 ISO 时实现所见的属性:

$ xorriso -indev debian-11.5.0-amd64-netinst.iso -assess_indev_features cmd
...
-compliance iso_9660_level=1
-rockridge on
-joliet on
-compliance iso_9660_1999_off
-compliance untranslated_name_len=0
-compliance allow_dir_id_ext
-compliance omit_version_off:only_iso_version_off
-compliance deep_paths_off
-compliance long_paths_off
-compliance long_names_off
-compliance no_force_dots_off:no_j_force_dots
-compliance lowercase_off
-compliance full_ascii
-compliance joliet_long_paths_off
-compliance joliet_long_names
-compliance joliet_utf16_off
-compliance old_rr
-compliance aaip_susp_1_10_off

它可以告诉 mkisofs 选项来实现所见的属性:

$ xorriso -indev debian-11.5.0-amd64-netinst.iso -assess_indev_features as_mkisofs
-iso-level 1
-R
-J
-d
-U
-joliet-long

开发快照下载优惠 https://www.gnu.org/software/xorriso/xorriso-1.5.5.tar.gz 编译说明位于 https://www.gnu.org/software/xorriso/README_xorriso_devel “汇编、初见、安装”

我以德语发音“xorriso”,就像英语使用者读“ksorr-ee-zo”一样。但实际上自然的英语发音“ksorr-i-so”是正确的。它代表 X/Open、Rock Ridge、ISO 9660。


祝你今天过得愉快

相关内容