为什么 Windows 和 Linux 在 DVD ROM 上看到不同的文件?

spo*_*key 80 dvd mount

我有一个 DVD ROM,里面有一些教学资源(Headway Beginner's English Teaching Teacher's DVD)。当我从 Ubuntu 机器查看 DVD 时,我看到了一组文件(其中包括一个setup-linux文件,尽管这不起作用)。

当我从 Windows 机器查看同一张 DVD 时,我看到一组不同的文件,包括一个setup-windows.exe文件。

两台机器都看不到所有文件,但两者都有一些共同点。

我的问题是:

  1. 这是如何运作的?
  2. 使用 Ubuntu 时如何查看所有文件?

编辑:这不是因为在文件管理器中查看文件时“隐藏”了文件,诸如“ls -a”之类的较低级别的内容不会显示丢失的文件。

编辑 2:我使用的是 Ubuntu 18.04 LTS

Gus*_*uss 111

我不确定这是正确的答案,但也许它会为您提供对您有帮助的详细信息。

这可能是因为 MS-Windows 和 Unix 在 DVD 上使用不同的文件系统——即使是在同一张 DVD 上。光学介质上的文件通常使用ISO 9660标准中指定的文件系统协议进行排列(另见最后的注释)。

但是该标准允许扩展,并且微软已经设计了他们自己的扩展到称为“ Joliet ”的标准,它允许与 Microsoft Windows 兼容的操作系统读取具有比标准 ISO 9660 文件系统更多功能(更长的名称和支持 Unicode)的不同文件名允许。

对于 Unix 风格的操作系统(例如 Linux),开发了另一个名为“ Rock Ridge ”的扩展,以允许更长的文件名、Unix 风格的权限和其他一些东西。

在同一个光学介质上同时拥有 Rock Ridge 和 Joliet 扩展是很常见的,但可能是该 DVD 的创建者巧妙地使用了这些扩展,只在 Joliet 部分显示了 MS-Windows 相关文件。系统,并且只有 Linux 特定文件显示在系统的 Rock Ridge 部分。此 stackexchange 答案中isoinfo讨论的程序可能会提供更多信息。

笔记:

正如评论中的讨论中所提到的,虽然许多媒体仍然在 ISO 9660 及其扩展中创作,其中可能发生 OP 中讨论的各种技巧,但 ISO 9660 已经过时,现代媒体应该使用UDF (ISO 13346 )这是一种通用磁盘格式,只允许查看整个文件系统的单一视图 - 因此在 UDF 创作的磁盘上可能无法使用此类技巧。

  • 谢谢,这就足够了 - `isoinfo dev=/dev/dvd -J -ls` 显示了 Linux 中丢失的文件。 (27认同)
  • 相当不错的答案,但我发现缺少的一个重要细节是 `--norock` 和 `--nojoliet` 挂载选项,您可以在 Linux 上使用它来决定要查看三种树布局中的哪一种。 (25认同)
  • 哇,那是......实际上非常优雅。 (8认同)
  • 一些工具,例如 [`mkisofs`](https://linux.die.net/man/8/mkisofs) 实际上允许您指定如何生成它们。链接手册页中的“示例”部分显示了如何创建具有名为“README”的文件的 ISO,但会根据您用于查看 CD 的系统显示不同的内容。引用手册页:*“隐藏选项的组合可能会产生各种奇怪的结果......”* (4认同)
  • 我很高兴在评论中提到了 UDF,但我不确定它是否与讨论相关 - 如果 OP DVD 上的文件系统是通用格式,那么您将无法获得不同的观点Windows 和 Linux,据我所知。 (3认同)