X-CD-Roast:CD 刻录软件
X-CD-Roast 是一个完全基于 X 的 CD 刻录程序。它是命令行实用程序 cdwrite 和 mkisofs 的前端。因此,X-CD-Roast 将创建您自己的 CD 的任务简化为几次简单的鼠标点击,而不是长时间研究任何命令行参数。
最新版本的 X-CD-Roast(1997 年 8 月的 0.96a 版本)提供以下功能
点击式 X11 界面
自动 IDE 和 SCSI 硬件设置
复制 ISO-9660 CD、非 ISO-9660 CD(如 Mac 或 Sun CD)、混合模式 CD 和音频 CD。
母盘制作 ISO-9660 数据 CD
创建音频 CD
快速 CD 到 CD 复制(无需将 CD 映像保存在硬盘上)
声卡支持
目前,无法使用 X-CD-Roast 创建或复制多会话 CD。您也无法在不硬盘上创建 CD 映像的情况下制作 CD 母盘;您必须为数据和制作的 CD 映像提供磁盘空间。因此,在创建 650MB CD 时,您需要大约 700MB 乘以 2 的可用磁盘空间。0.96a 版本仅支持非常有限的 CD 刻录机。下一个主要更新到 0.97 版本将包含 cdrecord 程序,该程序将处理市场上大多数刻录机。在不久的将来,将不支持非 SCSI 刻录机。
首先,刻录数据 CD 的基本步骤:复制非常简单:首先,在空闲硬盘分区上创建原始 CD 的映像(从现在起称为“映像”或“映像分区”)。此映像包含原始 CD 的每个字节,因此大小可达 650MB。现在,您可以运行验证以比较映像的内容与原始 CD。这使您可以追踪可能已损坏映像的任何读取错误。下一步是将该映像复制回 CD-Recordable,此过程称为“刻录”。此时,您可以选择是模拟刻录过程(刻录机完成所有动作和过程,但写入激光器关闭)还是执行真正的刻录。我建议您使用模拟模式进行首次测试——它可以为您节省一些 CD-Recordable。
音频和混合模式 CD(包含一个数据轨道和附加音频轨道的 CD)也可以复制,但这需要更多的工作。原始 CD 的每个轨道都读取到一个单独的文件中,并保存到映像分区上。这些轨道现在可以按您喜欢的任何顺序写入,您还可以从多个 CD 读取轨道,从而创建您自己的“最佳”音频 CD。
如果您想使用自己的文件创建 CD,则必须首先“制作”数据。将您希望在 CD 上的所有文件收集到系统上安装的单个目录树中。然后,X-CD-Roast 将此目录树转换为 ISO-9660 CD 映像。请记住,此映像将占用与要刻录的数据量大致相同的硬盘空间。因此,要制作 600MB 的数据母盘,您必须有大约 1.2GB 的空间。最后,您将此映像刻录到 CD-Recordable 上。
在本节中,我将简要解释 CD-Recordable 和 CD 刻录机的工作原理。此信息不是使用 X-CD-Roast 所必需的,但它可以帮助您了解该过程。
最常见的 CD-Recordable 类型是那些具有 63 和 74 分钟音频运行时或 553MB 和 650MB 数据容量的类型。压制的“银色”CD 的结构与 CD-Recordable 非常相似。压制的 CD 由聚碳酸酯层制成,信息以凹坑的形式压在其中。“凹坑”或“非凹坑”的序列表示 CD 上的数据。在压制过程之后,该层用铝(赋予其银色外观)层压,以便更好地反射 CD-ROM 驱动器的读取激光。
在可写 CD 上,聚碳酸酯基板具有螺旋槽,有助于激光在刻录和播放期间保持在轨道上。在该基板上层压一层薄金层,以便为读取激光提供最佳可能的反射。金层上方是光敏染料层,上方是透明保护漆。当您使用弱激光读取 CD 时,您需要更大的功率才能写入。激光束加热光敏层并产生一种孔,向我们显示金层。当您读取这样的 CD-Recordable 时,光敏层中的孔可以解释为“凹坑”,从而可以使用所有常见的 CD-ROM 和音频播放器读取这样的 CD。但是,“凹坑”不如压制 CD 上的凹坑那样清晰,并且可能在一些较旧的 CD-ROM 驱动器上引起问题,这些驱动器报告偶尔的读取错误,而其他驱动器则完美运行。
处理 CD-Recordable 时的一些建议预防措施
仅在使用柔软的毡尖笔的预标记标签面上进行标签。
请勿使用贴纸。
仅存放在阴凉和黑暗的地方。
在撰写本文时(1997 年 8 月),0.96a 版本是 X-CD-Roast 的最新版本。您可以从 http://www.fh-muenchen.de/home/rz/xcdroast/ 下载它。在此网页上,您还将找到完整的文档和更多信息。您还可以从 ftp://sunsite.unc.edu/pub/Linux/utils/ 及其镜像站点获取 X-CD-Roast。有关安装和使用的更详细信息,请参见 X-CD-Roast README 文件。在本文中,我仅讨论基本知识。
在此菜单中,您可以指定 X-CD-Roast 需要的所有硬件,包括您的 CD 刻录机、将存储任何 CD 映像的硬盘分区、您的声音设备等等。
图 3 显示了 CD 设备的示例设置的屏幕截图。您始终可以使用 CD 刻录机从 CD 读取数据或音频。无需使用图 3 中所示的附加 CD-ROM 驱动器。
使用“复制”菜单复制纯数据 CD。数据 CD 是仅包含以特定文件系统写入的一个轨道的 CD。通常使用文件系统 ISO-9660,但也可以使用一些特殊的文件系统,如来自 Sun 或 Apple 的文件系统。X-CD-Roast 能够通过执行字节到字节的复制来复制与文件系统无关的此类 CD。
首先,X-CD-Roast 将原始 CD 的全部内容转储到硬盘上的映像分区。它是这样完成的
cat /dev/sr0 >/dev/sdb4
请注意,该映像分区上的任何现有文件系统都会被 CD 映像覆盖。然后,使用 cdwrite 实用程序将映像刻录到 CD-Recordable。
当您希望复制音频 CD(音乐 CD)或混合模式 CD(包含一个数据轨道和一些音乐轨道的 CD)时,您必须将每个轨道复制到单个文件。X-CD-Roast 配备了内置播放器,因此您可以通过声卡收听每个轨道。您可以按任意顺序和从任意数量的 CD 读取音轨,只要您记住一张 CD-Recordable 上只能容纳大约 74 分钟(或 63 分钟)的音频。
从 CD 读取原始音频数据非常复杂。X-CD-Roast 不只是播放轨道并同时通过声卡录制,而是通过 SCSI 总线获取音频数据。X-CD-Roast 包含一个程序 cdda2cdr,它使用通用 SCSI 接口从 CD-ROM 驱动器(或 CD 刻录机)请求音频数据,并将其原始保存到文件中。在您完成读取音频轨道后,所有音频文件都将使用 cdwrite 实用程序刻录到 CD-Recordable。
有关通用 SCSI 接口的更多信息,请参见 ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/SCSI-Programming-HOWTO 上的 SCSI 编程 HOWTO。
如果您连接了 CD-ROM 驱动器和 CD 刻录机,则可以大大加快复制数据 CD 的过程。将原始 CD 放入 CD-ROM 驱动器,将 CD-Recordable 放入 CD 刻录机,X-CD-Roast 将同时从 CD-ROM 驱动器读取并写入 CD 刻录机。因此,无需映像分区,复制 CD 的时间缩短了一半。另一方面,此过程可能非常冒险。如果您的 CD-ROM 驱动器向刻录机提供数据的速度太慢,则可能会遇到缓冲区问题,从而导致 CD-Recordable 浪费。因此,CD-ROM 的速度应为 CD 刻录机的两倍。谨慎使用此功能。
如果您想使用自己的数据创建 CD,则必须制作数据母盘。首先,您提供一个目录树,其中包含您希望刻录到 CD-Recordable 上的所有文件。此树的大小约为 650MB,可以安装在文件系统中的任何位置。(它甚至可以在 NFS 导出的目录上。)现在,告诉 X-CD-Roast 如何制作数据母盘(参见图 6),并指定卷标,然后启动母盘制作过程。您要刻录的所有文件现在都转换为 ISO-9660 CD 映像,可以在最后一步将其刻录到 CD 上。
X-CD-Roast 调用名为 mkisofs 的实用程序来完成母盘制作工作。母盘制作过程需要多长时间取决于硬盘的速度、处理器的速度和可用内存。快速 Pentium 可以在 10 分钟内创建 650MB 的映像,但较慢的计算机可能需要几个小时才能完成相同的任务。有关 mkisofs 的更多详细信息,请查阅此程序的手册页。
这就是 X-CD-Roast 的基本原理。请记住,X-CD-Roast 只是许多实用程序的前端,并且此时,与这些实用程序的命令行界面相比,功能非常有限。我将开发新版本以添加新功能,例如大多数刻录机上的多会话、可启动 CD 支持、无需在硬盘上创建映像即可进行母盘制作等等。另请查看 cdrecord,它可以在 ftp://ftp.fokus.gmd.de/pub/unix/cdrecord 找到。它是基于命令行的,但支持许多 CD 刻录机。未来版本的 X-CD-Roast 将使用 cdrecord 代替旧的 cdwrite。
有关 Linux 下 CD 刻录的更多信息,请查阅 X-CD-Roast、cdwrite、mkisofs 和 cdda2wav 的文档。我感谢所有为编写 X-CD-Roast 使用的基本实用程序付出巨大努力的人们。继续努力。
本文的旧版本最初以德语发表在 Linux Magazine 1996 年 11 月第 11 期中。
