无法在 Linux 中使用 mkudffs 创建 UDF 磁盘

无法在 Linux 中使用 mkudffs 创建 UDF 磁盘

因此,每年的这个时候,我需要在 Windows 计算机上制作一些文件的备份磁盘,并且我想使用 UDF,以便以后可以添加到其中。它拒绝让我创造任何CD 或 DVD,因为它说磁盘是空的,需要格式化,然后不让我格式化它们...是的,这些磁盘从未使用过(尚未)并且没有划伤等等。它也不让我编辑我的一些磁盘知道是用 Windows 自己的实用程序(Live Filesystem,基本上也是 UDF)制作的,所以我只是眯着眼睛看一下然后继续。 (有趣的是,我在 Linux 中打开并修改它们...)

所以,我转到我的 Linux (Ubuntu 18.04) 机器上,尝试使用 mkudffs 制作一个 UDF 格式的磁盘(因为多会话磁盘绝对可以正常工作,显然,至少不再是了 [我在 Ubuntu 14.04 天左右制作了一次) ,但从那以后它们实际上就无法编辑了,而且测试成本很高])而且无论如何它都是优越的。

我运行了命令

mkudffs --media-type=dvd /dev/sr0

它转储一条错误消息“设备是只读的”(我没有确切的措辞,但仅此而已)。以 root 身份运行命令没有帮助,我知道事实这以前曾有效过。

有趣的是,Nautilus 内置的“将文件复制到磁盘并刻录”功能运行得很好。当然,检查“让磁盘保持打开状态以供将来添加”选项实际上并没有做任何事情(这并不奇怪),但它确实刻录了我手头的文件。

现在,下次,它不允许我对我该死的 CD 或 DVD 进行 UDF 格式,到底是哪里出了问题?!

[我还没有测试过我的 DVD-RW 之一,但我刚才尝试了 CD 和 DVD(使用适当的媒体类型标志)并得到了相同的错误。它们有点旧,但显然仍然可写,只是由于某种原因 mkudffs 特别遇到了问题。]

答案1

通过姆库德夫斯您只能格式化具有读/写访问权限的块设备。所以只有DVD-RW、DVD-RAM、BD-RE。支持数据包写入pktcdvd.ko内核模块和PKT设置您也可以将 CD-RW 介质映射到兼容的读/写块设备。但在使用 CD-RW 介质之前,您需要先通过以下方式对其进行格式化cdrw工具公用事业。cdrw工具还负责将 CD-RW 媒体格式化为 UDF,因此请使用它来代替姆库德夫斯

Linux 内核不支持可刻录光盘(CD-R、DVD-R、BD-R)直接通过块设备进行写入操作。因此向它们写入任何数据都需要通过刻录软件来完成。因此姆库德夫斯无法将它们格式化为 UDF。但您可以创建 UDF 映像,然后将其刻录到可刻录光盘。

答案2

这是介质的限制:最古老的类型(CD-R、DVD-R 等)是一次性写入的,即您只能在单个会话中将大图像写入光盘,并且光盘无法擦除。在某个时候,多区段 CD-R 光盘被引入,但它们的工作原理是将数据附加到光盘未使用的部分。即使是最常见的可重写 (RW) 光盘也不能重写到随机位置,而这是 UDF 等文件系统所需要的。

UDF 文件系统确实支持创建“实时”文件系统,即可以在其上添加、删除和重写文件的文件系统。但这需要媒体的支持。您可以使用 在硬盘或 USB 闪存盘上创建 UDF 文件系统mkudffs,但对于 CD-R,您需要首先在磁盘文件中创建文件系统,将所需的文件添加到其中,然后写入整个文件系统作为图像写入光盘。

相关内容