用它刻录 CDcdrecord
和制作图像都genisoimage
没有问题。
我想以类似的方式写入 DVD,首先创建映像,然后将其刻录到磁盘。这是非常有用的,因为我可以在将图像刻录到磁盘之前检查图像。
现在,我所看到的只是如何使用命令growisofs
将某些内容刻录到 DVD,但所有操作方法都是使用 ISO9660 来刻录 DVD。但我想刻录 UDF 图像。在刻录它们之前,我需要制作它们,但是如何创建 UDF 图像呢?
另外,如果您可以解释或链接如何刻录蓝光,那就太好了。
所有工具都必须是命令行,因为我需要使用它,而 GUI 是没有选项的。
答案1
事实上,有两种在 Linux 上生成 UDF 文件系统映像的方法,具体取决于您的要求。
使用 mkisofs 创建 UDF/ISO-9660 映像
该mkisofs
工具能够一次性生成组合的 UDF 和 ISO-9660 桥接文件系统。这是一个文件系统,它存储 UDF 目录和旧版 ISO-9660 目录,引用相同的文件数据(因此数据仅存储一次)。任何现代操作系统(Windows XP 或更高版本)都会访问 UDF 数据并完全忽略 ISO-9660 信息,因此无论出于何种意图和目的,这是UDF 文件系统。
这种方法的优点是您可以一次性创建文件系统,从输入目录开始,到填充的文件系统映像结束。这意味着您还可以将输出直接转储growisofs
并直接刻录到磁盘。可能的缺点是,由于遗留的 ISO-9660 结构,会产生少量空间浪费,并且生成的文件系统将不可写(因此,如果满足以下条件,则不能将其用于 DVD-RAM 或 BD-RE 媒体)您希望能够修改已安装磁盘上的数据)。
要生成这样的文件系统映像,您可以使用如下命令:
mkisofs -udf -o myimage.udf -V MyDiskTitle /path/to/input/files
或直接刻录到磁盘:
growisofs -Z /dev/dvd -udf -V MyDiskTitle /path/to/input/files
请注意,要使用此选项,您需要最新版本的恰当的mkisofs
genisoimage
,而不是许多 Linux 发行版附带的废弃的古老分支。
使用 mkudffs 创建“纯”UDF 文件系统
如果你绝对必须如果有一个没有 ISO-9660 数据结构的纯 UDF 文件系统,您可以使用包mkudffs
中的工具udftools
以及环回设备来生成本地映像。这比使用mkisofs
上面的方法需要更多的步骤,但它是生成纯 UDF 文件系统和刻录到 DVD-RAM 或 BD-RE 等随机访问介质后可以读写方式安装的唯一方法。
首先,您需要生成一个空白文件来包含图像。这里给出的大小为 650 MB,以匹配标准 CD,对于 DVD/蓝光光盘来说,显然需要更大的大小。有关 DVD 介质的确切尺寸,请参阅这篇维基百科文章。
$ truncate -s 650M /tmp/cdimage.udf
现在调用mkudffs
在此空白映像中生成 UDF 文件系统:
$ mkudffs --media-type=dvdrw /tmp/cdimage.udf
请参阅mkudffs(1)
其他可能的媒体类型。两者truncate
和mkudffs
都会创建稀疏文件如果您的文件系统支持它们;因此,除非您填充图像,否则图像不会占据完整尺寸。
然后您可以在本地安装映像以将数据复制到其中
$ sudo mkdir /media/udfimage
$ sudo mount -t udf -o loop,rw /tmp/cdimage.udf /media/udfimage
将数据复制到映像后,按照相反的过程卸载映像并分离环回设备:
$ sudo umount /dev/loop0