在刻录到 DVD-ROM 之前创建 .iso 映像是否必要?我的意思是,在将文件刻录到 DVD-ROM 之前,我从未在 Windows 上注意到这一点,我从未创建过 iso 映像文件。但我已经转向 Linux,在学习一些终端命令的过程中,我看到有人提到这一点创建 iso 文件后,我们将其刻录到磁盘。,所以,我的好奇心总结如下:
1) 刻录之前是否需要创建 .iso 映像文件?
2) 如果是,为什么需要这样做?
答案1
数据需要以正确的格式、正确的磁盘导入、导出和文件系统结构写入 DVD。
写入磁盘要么需要在将收集的数据(文件)传递到磁盘写入缓冲区之前动态应用 ISO 格式,要么创建可以直接传输到驱动器的图像文件。
无论如何,在写入之前需要正确组织数据。
Linux 习惯于制造“一个好工具”来完成一项工作,然后将多个工具串联起来完成一项完整的任务。因此,许多磁盘写入工具只不过是另一个工具或一组工具的图形用户界面,而这些工具或工具实际上在执行实际工作。毕竟,既然您已经有一套完美的工具可用,为什么还要重新发明轮子呢?
答案2
刻录之前需要创建
.iso
映像文件吗?
是也不是。是的,你必须创建一个合适的字节流;不是,因为你不需要将其存储为常规文件在您的 HDD 或 SSD 上。
为什么需要它?
许多 Linux 工具都遵循“专心做好一件事”的原则。我们有mkisofs
创建 ISO 映像,例如cdrecord
或者cdrskin
用于刻录。在 Windows 中,自行完成所有操作的工具更为常见。另一个答案已经表明它们可能会即时构建图像;它们也可能将这些图像存储为临时文件。
请注意,您可以在 Linux 中实现类似的功能。检查-o
选项mkisofs
;如果没有此选项,stdout
则使用。写入光学介质的程序可以stdin
在“一次跟踪”模式下使用它们。
或者您可以创建临时文件,即使在内存中(例如/dev/shm/
)。
答案3
我认为,在命令行上刻录与 ISO9660 兼容的 CD-ROM 总是需要构建 iso(9660) 映像的步骤。
但是,像 k3b (KDE) 或 brasero (gnome) 这样的图形工具将允许您创建数据 CD-ROM,而无需您明确运行此步骤,它们可能会在刻录过程中动态构建图像。
答案4
1) 不。正如其他人所说,数据不需要临时存储在硬盘上。ISO 9660 的生产者程序可以将数据流发送到“标准输出”,而刻录机程序可以通过其“标准输入”获取此数据流。这称为“管道”,是一种非常基本的 Unix shell 手势。
经典的例子是以下的一些变体:
mkisofs /some/directory | cdrecord -v dev=/dev/sr0 -
我自己的方法是:
xorriso -outdev /dev/sr0 -blank as_needed -map /some/directory /
(数据传输在 libisofs 和 libburn 之间内部完成。)
不要忘记 GUI 刻录程序:K3b、Xfburn、Brasero……它们协调 ISO 制作程序和刻录程序,无需用户太多帮助。
编辑:尝试对 Nis 的评论做出反应:
如果您只想存储单个文件的内容,那么您可以直接将该文件刻录到介质中。如果您稍后打开文件 /dev/sr0,那么它将包含您存储的内容(可能还会包含一些尾随垃圾)。
如果您想要存储多个文件、文件名和其他属性,则需要将文件包装到某个文件系统或存档格式中。此格式稍后将可供相应的文件系统驱动程序(例如 Linux“iso9660”)或存档解包器(例如程序“tar”)读取。
当然,您可以自由地从硬盘中挑选几个文件,并在生成的文件系统或存档中为它们赋予不同的名称。(mkisofs 具有选项 -graft-points 和“pathspecs”/ISO/PATH=/DISK/PATH 来控制重命名。一些存档程序可能具有类似的功能,可以在将文件复制到存档中时更改文件名。)
大多数文件系统都必须在随机访问可写设备或磁盘上的文件系统映像文件中创建。这是因为没有生产者程序可以将它们创建为顺序数据流。这种顺序流是管道的先决条件。
归档程序(例如“tar”或“zip”)和 ISO 9660 文件系统生成器能够以顺序流的形式发出其结果。因此,它们可以将其输出通过管道传输到刻录程序的输入中。
(编辑结束)
2) 现在来说说为什么有那么多的提议,它们告诉你先存储 ISO 映像文件,然后将其刻录到介质中。
在第一代 CD 刻录机问世的那个糟糕时期,存在“缓冲区不足”的风险。一旦驱动器的写入速度超过 ISO 制作程序传输数据的速度,驱动器就会出错,导致 CD-R 只写入了一部分。如果计算机先运行 ISO 程序,直到生成所有数据,然后再启动刻录程序从硬盘读取 ISO 映像,则成功的机会会增加。
20 世纪 90 年代末,“刻录自由”的发明终结了这一时代,刻录自由使驱动器能够等待更多数据并恢复刻录 CD。缓冲区不足和刻录中止的问题从未影响过 DVD 或 BD 介质。