新版的 CentOS 7 使用的是 wodim 这个文字界面指令来进行烧录的行为。不过为了相容于旧版的 cdrecord 这个指令, 因此 wodim 也有链接到 cdrecord 就是了!因此,你还是可以使用 cdrecord 这个指令。不过,鸟哥建议还是改用 wodim 比较干脆! 这个指令常见的选项有下面数个:
[root@study ~]# wodim --devices dev=/dev/sr0...
&
lt;==查询烧录机的 BUS 位置
[root@study ~]# wodim -v dev=/dev/sr0 blank=[fast
&
#124;all]
&
lt;==抹除重复读写片
[root@study ~]# wodim -v dev=/dev/sr0 -format
&
lt;==格式化DVD+RW
[root@study ~]# wodim -v dev=/dev/sr0 [可用选项功能] file.iso
选项与参数:
--devices :用在扫瞄磁盘总线并找出可用的烧录机,后续的设备为 ATA 接口
-v :在 cdrecord 运行的过程中,显示过程而已。
dev=/dev/sr0 :可以找出此光驱的 bus 位址,非常重要!
blank=[fast
&
#124;all]:blank 为抹除可重复写入的CD/DVD-RW,使用fast较快,all较完整
-format :对光盘片进行格式化,但是仅针对 DVD+RW 这种格式的 DVD 而已;
[可用选项功能] 主要是写入 CD/DVD 时可使用的选项,常见的选项包括有:
-data :指定后面的文件以数据格式写入,不是以 CD 音轨(-audio)方式写入!
speed=X :指定烧录速度,例如CD可用 speed=40 为40倍数,DVD则可用 speed=4 之类
-eject :指定烧录完毕后自动退出光盘
fs=Ym :指定多少缓冲内存,可用在将镜像文件先暂存至缓冲内存。默认为 4m,
一般建议可增加到 8m ,不过,还是得视你的烧录机而定。
针对 DVD 的选项功能:
driveropts=burnfree :打开 Buffer Underrun Free 模式的写入功能
-sao :支持 DVD-RW 的格式
- 侦测你的烧录机所在位置:
文字模式的烧录确实是比较麻烦的,因为没有所见即所得的环境嘛!要烧录首先就得要找到烧录机才行! 而由于早期的烧录机都是使用 SCSI 接口,因此查询烧录机的方法就得要配合着 SCSI 接口的认定来处理了。 查询烧录机的方式为:
[root@study ~]# ll /dev/sr0
brw-rw----+ 1 root cdrom 11, 0 Jun 26 22:14 /dev/sr0 # 一般 Linux 光驱文件名!
[root@study ~]# wodim --devices dev=/dev/sr0
-------------------------------------------------------------------------
0 dev='/dev/sr0' rwrw-- : 'QEMU' 'QEMU DVD-ROM'
-------------------------------------------------------------------------
[root@demo ~]# wodim --devices dev=/dev/sr0
wodim: Overview of accessible drives (1 found) :
-------------------------------------------------------------------------
0 dev='/dev/sr0' rwrw-- : 'ASUS' 'DRW-24D1ST'
-------------------------------------------------------------------------
# 你可以发现到其实鸟哥做了两个测试!上面的那部主机系统是虚拟机,当然光驱也是仿真的,没法用。
# 因此在这里与下面的 wodim 用法,鸟哥只能使用另一部 Demo 机器测试给大家看了!
因为上面那部机器是虚拟机内的虚拟光驱 (QEMU DVD-ROM),那个无法塞入真正的光盘片啦!真讨厌~所以鸟哥只好找另一部实体 CentOS 7 的主机系统来测试。 因此你可以看到下面那部使用的就是正统的 ASUS 光驱了!这样会查阅了吗?注意喔,一定要有 dev=/dev/xxx 那一段,不然系统会告诉你找不到光盘! 这真的是很奇怪!不过,反正我们知道光驱的文件名为 /dev/sr0 之类的,直接带入即可。
- 进行 CD/DVD 的烧录动作:
好了,那么现在要如何将 /tmp/system.img 烧录到 CD/DVD 里面去呢?因为要节省空间与避免浪费,鸟哥拿之前多买的可重复读写的 DVD 四倍数 DVD 片来操作! 因为是可抹除的 DVD,因此可能得要在烧录前先抹除 DVD 片里面的数据才行喔!
# 0\. 先抹除光盘的原始内容:(非可重复读写则可略过此步骤)
[root@demo ~]# wodim -v dev=/dev/sr0 blank=fast
# 中间会跑出一堆讯息告诉你抹除的进度,而且会有 10 秒钟的时间等待你的取消!
# 1\. 开始烧录:
[root@demo ~]# wodim -v dev=/dev/sr0 speed=4 -dummy -eject /tmp/system.img
....(前面省略)....
Waiting for reader process to fill input buffer ... input buffer ready.
Starting new track at sector: 0
Track 01: 86 of 86 MB written (fifo 100%) [buf 97%] 4.0x. # 这里有流程时间!
Track 01: Total Bytes read/written: 90937344/90937344 (44403 sectors).
Writing time: 38.337s # 写入的总时间
Average write speed 1.7x. # 换算下来的写入时间
Min drive buffer fill was 97%
Fixating...
Fixating time: 120.943s
wodim: fifo had 1433 puts and 1433 gets.
wodim: fifo was 0 times empty and 777 times full, min fill was 89%.
# 因为有加上 -eject 这个选项的缘故,因此烧录完成后,DVD 会被退出光驱喔!记得推回去!
# 2\. 烧录完毕后,测试挂载一下,检验内容:
[root@demo ~]# mount /dev/sr0/mnt
[root@demo ~]# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
Filesystem Size Used Avail Use% Mounted on
/dev/sr0 87M 87M 0 100% /mnt
[root@demo ~]# ll /mnt
dr-xr-xr-x. 135 root root 36864 Jun 30 04:00 etc
dr-xr-xr-x. 19 root root 8192 Jul 2 13:16 root
[root@demo ~]# umount /mnt
&
lt;==不要忘了卸载
基本上,光盘烧录的指令越来越简单,虽然有很多的参数可以使用,不过,鸟哥认为,学习上面的语法就很足够了! 一般来说,如果有烧录的需求,大多还是使用图形界面的软件来处理比较妥当~使用文字界面的烧录,真的大部分都是烧录数据光盘较多。 因此,上面的语法已经足够工程师的使用啰!
如果你的 Linux 是用来做为服务器之用的话,那么无时无刻的去想“如何备份重要数据”是相当重要的! 关于备份我们会在第五篇再仔细的谈一谈,这里你要会使用这些工具即可!