個人心情和 Linux / FreeBSD 等技術

2007/05/20

cdrecord & mkisofs

語法
cdrecord [general options] dev=device [track option] track1...trackn

dev
的語法是 dev= scsibus,target,lun 或是 dev= target,lun.

scsibustargetlun 都是整數數字。這些數字代表裝置

的位置,如果你有 SCSI介面的裝置,WindowsXP的裝置

管理員中也會看到類似的代號。


cdrecord
是完全基於 SCSIbus 的命令,所以基本能夠對應所

有的SCSI燒錄機,而因 ide-scsi 驅動程式的關係,在linux

使用IDE或其他規格的控制介面燒錄器,已經不是問題了,因

ide-scsi 核心模組能將IDE燒錄器模擬成 SCSI燒錄器。

scsibus 0
則是預設的 SCSI bus ,可在開機訊息和 log中多留

意你機器上的 SCSI設定。



假如不知道或忘了 dev 的設定值,可以試試 -scanbus 的參

數來掃瞄代號。

# cdrecord -scanbus 只需要作一次把掃得的代號記住,ex: 0,1,0

常用的 General Options

-version
顯示 cdrecord 版本訊息


-v
顯示詳細訊息,用於燒錄時


-dao Disc At Once 模式寫入模式的一種。燒寫光碟時,

Lead-in開始寫起,一次從頭到尾把資料寫完,並且自動

close Disc。用此模式寫入,軌與軌之間將不會有Link Block

(Gap) 產生,所以若以此法複製碟片,子片總長度會和原來的

來源光碟片相同。(建議使用)


-saoDisc at Once相似,兩者最主要的差別是 Disc at Once

在寫之後,此光碟片便無法再寫入資料,但Session at Once

可以利用 Multi-Session 方式再將資料寫入光碟片內。


-tao 寫入模式的一種。燒寫光碟時,一次只寫入一軌,所以寫

入時可以在軌與軌之間中斷。這種寫入模式是用在漸增式寫入

Incremental Recording)的方式上。


Speed=# 這個值也是整數,寫入 CD 的話 speed=1 的速度大約

150 KB/s 1385 kB/s for DVD 。沒有指定寫入速度的話 ,會

/etc/cdrecord.conf 的設定檔中 CDR_SPEED=__ 的值當作預設

寫入速度,如果沒指定這個值的話,則會以所支援的最大速度寫入

如果指定 speed=0 的話,裝置則會以最慢速度寫入(最慢不見得就好

...有時會適得其反造成寫入品質低落,而且也會造成過度耗電和發熱...

,建議速度是燒錄機最大速度砍一半, ex : 16倍就以8倍燒


-multi 多區段寫入,可用於 sao

-format 用在 DVD+RW 等可複寫式的要重新寫入資料前,把RW片清空用。

blank=type format 是用於 CD-RW( all fast )

-data 這種格式簡單來說就是燒錄一般資料使用,會以 Mode 1

寫入。Mode1 Data CD ,光碟的容量計算是以MB為單位,含

所謂的錯誤修正碼 ( ECC ) 於光碟片的每個磁區,其大小為2048

Bytes,可以藉此來修正讀取資料時的錯誤,以保資料的正確性,

通常此種資料結構適用於不允取有絲毫錯誤的資料上。


-mode2 mode2Audio CD & Video CD,光碟的容量計算是以

分鐘為單位,備份像RMVBAVI這種影像檔雖說是影像檔,但仍

然算是mode 1格式... 由於mode 2記錄方式並沒有放入糾錯碼

(因此mode 2寫入往往可以寫入較多資料) 因此,為防mode 2寫入

造成錯誤,造成了mode 2 理論上寫入速度越慢越好。


另外需要用到 mkisofs 這個小程式

語法

mkisofs [ options ] [ -o filename ] path

-o 是指輸出成什麼名字,例如 image image.iso

path 是指哪個目錄下的檔案要燒錄

-r 設定在所有光碟中的檔案為公眾可讀和開啟 Rock Ridg

這種格式能unix檔案系統的特有資訊 (長檔名、擁有者、

權限位元)保存在光碟上且同時保持 ISO 9660 格式的相容性。

-J joliet格式,windows系統需要。


所以看起來會長成這樣子


# mkisofs -rJ -o image.iso path/


ps.
單一檔案如果超過2GB以上的話要改用 -udf 的選項,

udf 格式詳見wiki



最後燒錄

# cdrecord -v -dao speed=8 dev=0,0,0 -data image.iso


參考資料

cdrecord manpage

mkisofs manpage

中文版HowTo

PTT CD-R版

2 則留言:

Willie Wu 提到...

很詳細的文章阿,推推XD

Benjamin Wei 提到...

超專業的啦
我是懶人 GUI....