网站搜索

如何在 Linux 上通过命令行将 ISO 或 NRG 映像刻录到 DVD


问题:我需要使用 Linux 机器上的 DVD 刻录机将映像文件(.iso 或 .nrg)刻录到 DVD。是否有一种快速简便的方法(最好使用命令行实用程序)将 .iso 或 .nrg 映像刻录到 DVD?

两种最流行的图像文件格式是 ISO(.iso 文件扩展名)和 NRG(.nrg 文件扩展名)。 ISO 格式是由 ISO(国际标准化组织)创建的全球标准,因此受到大多数操作系统的本机支持,具有高度的可移植性。另一方面,NRG 格式是由 Nero AG(一家非常流行的光盘映像和刻录软件公司)开发的专有格式。

假设您已经创建了 ISO 格式的视频 DVD,并且想要将 ISO 映像刻录到 DVD。最简单的方法是通过 Linux 命令行。

以下是如何在 Linux 上通过命令行将 .iso 或 .nrg 映像刻录到 DVD。

将 NRG 图像转换为 ISO 格式

由于 ISO 的广泛采用,将 .iso 映像刻录到 CD/DVD 非常简单。但是,刻录 .nrg 映像需要先将映像转换为 .iso 格式。

要将 .nrg 图像文件转换为 .iso 格式,您可以使用 nrg2iso,这是一个开源程序,可将 Nero Burning Rom 创建的图像转换为标准 .iso (ISO9660) 文件。

在 Linux 上安装 nrg2iso

要在 Ubuntu 或 Debian 上安装 nrg2iso:


# aptitude install nrg2iso

要在 CentOS 或 RHEL 上安装 nrg2iso:

首先,您需要在运行以下 yum 命令之前启用 Repoforge 存储库。在 Fedora 上,只需运行:


# yum install nrg2iso

安装 nrg2iso 软件包后,使用以下命令将 .nrg 图像文件转换为 .iso 格式:


# nrg2iso filename.nrg filename.iso

转换完成后,当前工作目录中将出现一个 .iso 文件:

将 .ISO 映像文件刻录到 DVD

为了将 .iso 映像文件刻录到 DVD,我们将使用名为 growisofs 的工具:


# growisofs -dvd-compat -speed=4 -Z /dev/dvd1=WindowsXPProfessionalSP3Original.iso 

在上面的命令行中,-dvd-compat 选项提供了与 DVD-ROM/-Video 的最大媒体兼容性。在一次写入 DVD+R 或 DVD-R 环境中,这会导致无法追加的记录(即封闭的磁盘)。

-Z /dev/dvd1=filename.iso 选项表示我们将 .iso 文件刻录到所选设备 (/dev/dvd1) 中找到的介质上。

-speed=N参数指定DVD刻录机的刻录速度,该速度与驱动器本身的能力直接相关。 -speed=8 将以 8x 刻录,-speed=16 以 16x 刻录,依此类推。如果没有此参数,growisofs 默认情况下会采用最低可用速度,在本例中恰好是 4x。您应该根据驱动器的可用速度和磁盘类型来选择刻录速度。

您可以使用本教程找到 DVD 刻录机的设备名称及其支持的写入速度。

刻录过程完成后,光盘应自动从托盘中弹出。

检查刻录媒体的完整性

此时,您可以通过将原始 .iso 文件的 md5 校验和与刻录 DVD 的相同校验和进行比较来检查刻录媒体的完整性。如果两者相同,则可以放心刻录成功。

但是,如果您使用 nrg2iso 将 .nrg 图像转换为 .iso,则需要注意 nrg2iso 创建的 .iso 文件的大小不是 2048 的倍数(与普通 .iso 文件不同)。因此,此 .iso 文件的校验和与刻录介质的内容之间的普通比较将会有所不同。

另一方面,如果您刻录的 .iso 映像不是来自 .nrg 文件,则可以使用以下命令检查 DVD 中记录的数据的完整性。将 /dev/dvd1 替换为您自己的设备名称。


# md5sum filename.iso; dd if=/dev/dvd1 bs=2048 count=$(($(stat -c "%s" filename.iso) / 2048)) | md5sum

命令的第一部分(直到分号)计算 .iso 文件的 MD5 校验和,而第二部分读取 /dev/dvd1 中存在的磁盘内容,并将它们通过管道传输到 md5sum 工具。 bs=2048 表示 dd 将使用 2048 字节的块扇区,次数为原始 iso 文件大小除以 2048 的次数。

如果两个 MD5 校验和值相同,则表明刻录介质有效。

相关文章: