長南です。書いているうちに長くなってしまいました。
市川さんのメールより [vine-users:064777]
>
> > > また、vine 2.6r3 を焼いた時 cdrecord ... -dao ... にしておかないと不正
> > > だった記憶があります。
> >
> > 何故か、-dao というオプションは、音楽 CD を焼くときにのみ必要なのだ
> > と思い込んでいました。お教えを記憶しておきます。
>
> これに関して今読み返すと、言葉が足らなかったと思いますので若干補足致し
> ます。-dao なしでも読む事に関しては問題ないと思います。マウントして中
> 身を見た時は、別段変な感じは受けませんでした。また、試してはおりません
> が、恐らくインストールも問題ないのではないでしょうか。ただ readcd でイ
> メージをファイルにする時に、元の Vine26r3-i386.iso とサイズの違いが出
> てしまい、当然 md5sum の値も違ってしまったと記憶しております。上記の付
> 録 CD-ROM のマスターディスクが、もし -dao と同等の処理がされていなけれ
> ばそうなるかも知れませんね。
試してみたところ、おっしゃるとおりでした。たとえば、-dao なしで
$ cdrecord -v speed=4 dev=0,0,0 -data Vine26r4-i386.iso
といった形で CD-R に書き込んだ場合、CD-R は問題なく利用できるよう
ですが、CD-R から readcd dev=0,0,0 f=Vine26r4.img でイメージファイルを
取り出そうとすると、
readcd: Input/output error. read_g1: scsi sendcmd: no error
---- (以下省略) ----
というエラーが出ました。当然、再作成したイメージファイルのサイズも
md5sum 値も、元の iso イメージと同じではありません。
$ cdrecord -v speed=4 dev=0,0,0 -data -dao Vine26r4-i386.iso
と、-dao を指定して CD-R を焼いたた場合は、readcd をやってもエラーが
出ませんし、CD-R から再作成したイメージファイルのサイズ、md5sum 値、
両方とも元の iso イメージと同じでした。
よいことを教えていただきました。ありがとうございます。まあ、わかって
いる方にとっては当たり前のことなのでしょうが、-dao オプションのことは
CD-Writing-HOWTO にも書いてありませんし……。
……と書いた後、どうにも理由が気になるので、ドキュメントをあさって
みました。/usr/doc/cdrecord-1.10/README.copy に関係ありそうなことが
載っていました。その部分を引用すると、
The best way to copy a data disk is to copy the raw data on the
master CD. This may be done by reading the data from the raw device
by using 'dd' or 'sdd'.
NOTE: All CD-R's written in Track At Once mode end in two unreadable
run-out sectors. If the disk has been written with a Yamaha
CD-R100 or with a Yamaha CD-R102, there are even more run-out
sectors.
For this reason, you will not be able to read such a CD correctly
with 'dd'.
I recommend to write all disks in Disk at Once mode if your drive
is supported in DAO mode with cdrecord.
市川さんのおっしゃるとおり、Disk at Once で焼けと言っていますね。
また、終端に run-out セクターのついたマスター CD から readcd で
入出力エラーを起こさずにイメージを読み出す方法が、すこし下に書いて
あります。run-out セクターというのが、私には何だかわかりませんけれど。
--
長南洋一
cyoichi@xxxxxxxxxxxxxxx