Comment on page
20.6.创建和使用 DVD
与 CD 相比,DVD 是下一代的光学媒体存储技术。相比于 CD,DVD 可以容纳更多的数据,是视频出版的标准。
可记录式 DVD 有五种物理格式:
- DVD-RW: 这是 DVD-R 标准的可重写版本。一张 DVD-RW 可以被重写 1000 次左右。
- DVD-RAM: 这是一种可重写的格式,可以被看作是一种可移动的硬盘设备。然而,这种光盘与大多数 DVD-ROM 光驱和 DVD 视频播放器不兼容,只有少数 DVD 刻录机支持 DVD-RAM 格式。请参考 使用 DVD-RAM,了解更多关于 DVD-RAM 的使用信息。
- DVD+R: 这种格式是 DVD+RW 格式的一次性写入变体。
一张单层可刻录的 DVD 可以容纳 4,700,000,000 byte,实际上是 4.38 GB 或 4485 MB,因为 1 kb 是 1024 byte。
注意必须对物理光盘和应用程序进行区分。例如,DVD-Video 是一种特定的文件系统,可以被刻录到任何 DVD 物理光盘上,如 DVD-R、DVD+R 或 DVD-RW。在选择光盘类型之前,要确保刻录机和 DVD 视频播放器都能与要选择的光盘兼容。
还必须为 ATAPI 设备启用 DMA 访问,在 /boot/loader.conf 中添加以下一行:
hw.ata.atapi_dma="1"
注意
要将 /path/to/data 中的数据刻录到 DVD+R 或 DVD-R 上,请使用以下命令:
# growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data
对于初始刻录,
-Z
用于单次和多次会话。用 DVD 设备的名称替换 /dev/cd0。使用 -dvd-compat
表示磁盘将被关闭,录制的内容将无法追加。这也应该提供与 DVD-ROM 驱动器更好的设备兼容性。要刻录成一个预制的镜像,如
imagefile.iso
,使用:# growisofs -dvd-compat -Z /dev/cd0=imagefile.iso
注意为了支持大于 4.38GB 的工作文件,必须通过向 mkisofs(8) 和所有相关程序,如 growisofs(1) 传递-udf -iso-level 3
来创建一个 UDF/ISO-9660 混合文件系统。只有在创建 ISO 镜像文件或直接向磁盘写入文件时才需要这样做。由于以这种方式创建的磁盘必须用 mount_udf(8) 挂载为 UDF 文件系统,所以它只能在支持 UDF 的操作系统上使用。否则,它看起来就像含有损坏的文件。要创建这种类型的 ISO 文件:% mkisofs -R -J -udf -iso-level 3 -o imagefile.iso /path/to/data将文件直接刻录到磁盘上:# growisofs -dvd-compat -udf -iso-level 3 -Z /dev/cd0 -J -R /path/to/data当一个 ISO 映像已经包含大文件时,growisofs(1) 不需要额外的选项就可以将该镜像刻录到磁盘上。请确保使用包含 mkisofs(8) 的最新版本的 sysutils/cdrtools,因为旧版本可能不包含对大文件的支持。如果最新版本不能工作,请安装 sysutils/cdrtools-devel,并阅读其 mkisofs(8)。
DVD-Video 是一种基于 ISO 9660 和 micro-UDF(M-UDF)规范的特定文件系统。由于 DVD-Video 提出了一个特定的数据结构层次,因此需要一个特定的程序,如 multimedia/dvdauthor 来编写 DVD。
如果 DVD-Video 文件系统的镜像已经存在,可以用与其他镜像相同的方式进行刻录。如果使用
dvdauthor
制作 DVD,并且目录在 /path/to/video 中,应该使用下面的命令来刻录 DVD-Video:# growisofs -Z /dev/cd0 -dvd-video /path/to/video
# dvd+rw-format /dev/cd0
只需执行一次此操作,只有空白的 DVD+RW 需要被格式化。格式化之后,就可以像往常一样刻录 DVD+RW。
要刻录一 个全新的文件系统,而不仅仅是在 DVD+RW 上追加一些数据,不需要先清空光盘。而是要这样清空数据:
# growisofs -Z /dev/cd0 -J -R /path/to/newdata
DVD+RW 格式支持将数据追加到以前的记录中。这个操作包括将一个新的片段合并到现有的片段上,因为它不被认为是多片段写入。growisofs(1) 将 扩展 媒体上存在的 ISO 9660 文件系统。
例如,要向 DVD+RW 追加数据,请使用以下方法:
# growisofs -M /dev/cd0 -J -R /path/to/nextdata
注意使用-dvd-compat
以获得与 DVD-ROM 驱动器更好的设备兼容性。当使用 DVD+RW 时,这个选项不会导致数据无法添加。要清空光盘,请使用:# growisofs -Z /dev/cd0=/dev/zero
DVD-RW 接受两种光盘格式。递增顺序写入和受限覆写。默认情况下,DVD-RW 光盘使用递增顺序写入格式。
可以直接写入空白 的 DVD-RW,不需要进行格式化。然而,在写入新的数据之前,需要以递增顺序写入格式处理非空白 DVD-RW。
要清空递增顺序写入 DVD-RW 请使用:
# dvd+rw-format -blank=full /dev/cd0
注意在 1x 光盘上使用-blank=full
进行完全清空,大约需要一个小时。如果 DVD-RW 将以整盘一次写入(DAO)模式刻录,可以使用-blank
进行快速清空。要在 DAO 模式下刻录 DVD-RW,请使用以下命令:# growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso
任何 DVD-RW 都应该使用受限覆写,因为这种格式比默认的递增顺序写入更灵活。
要在递增顺序写入格式的 DVD-RW 上写入数据,使用与其他 DVD 格式相同的指令:
# growisofs -Z /dev/cd0 -J -R /path/to/data
在一个新的初始会话之前,不需要清空受限覆写格式的 DVD-RW。可以用
-Z
覆盖光盘。也可以用 -M
来扩展现有刻在光盘上的 ISO 9660 文件系统。最后会是一个单会话 DVD。要使 DVD-RW 成为受限覆写格式,必须使用以下命令:
# dvd+rw-format /dev/cd0
要改回递增顺序写入格式,请使用:
# dvd+rw-format -blank=full /dev/cd0
很少有 DVD-ROM 光驱支持多会话的 DVD,大多数时候只能读取第一个会话。DVD+R、DVD-R 和 DVD-RW 的递增顺序写入格式可以接受多个会话。对于 DVD+RW 和 DVD-RW 受限覆写格式,不存在多会话的概念。
在递增顺序写入格式的 DVD+R、DVD-R 或 DVD-RW 上的初始非封闭会话后,使用以下命令将在光盘上添加一个新的会话:
# growisofs -M /dev/cd0 -J -R /path/to/nextdata
在受限覆写模式下对 DVD+RW 或 DVD-RW 使用这个命令,会在将新的会话合并到现有会话的同时追加数据。其结果将是一张单节光盘。使用这种方法可以在这些类型的光盘上进行初始写入后添加数据。
注意由于光盘上的一些空间在每个会话之间被用来标记会话的结束和开始,所以应该尽量使用大数据会话,减少会话数量以优化光盘空间。对于 DVD+R 来说,会话的数量被限制在 154 个,对于 DVD-R 来说大约是 2000 个,对于双层 DVD+R 来说是 127 个。
要获得关于 DVD 的更多信息,使用
dvd+rw-mediainfo
/dev/cd0,即指定驱动器中的光盘。注意当创建一个与dvd+rw-tools
有关的问题报告时,请包括dvd+rw-mediainf
o 的输出。
DVD-RAM 刻录机使用 SCSI 或 ATAPI 接口。对于 ATAPI 设备,必须通过在 /boot/loader.conf 中添加以下一行来启用 DMA 访问:
hw.ata.atapi_dma="1"
DVD-RAM 可以被看作是一个可移动的硬盘设备。像其他硬盘一样,在使用前必须被格式化 DVD-RAM。在这个例子中,整个磁盘空间将被格式化为标准的 UFS2 文件系统:
# dd if=/dev/zero of=/dev/acd0 bs=2k count=1
# bsdlabel -Bw acd0
# newfs /dev/acd0
必须根据配置改变 DVD 设备 acd0 的位置。
DVD-RAM 被格式化以后,它就可以像普通硬盘一样被挂载:
# mount /dev/acd0 /mnt
挂载后,DVD-RAM 将可读可写。