Linux の使用法: CD への書き込みと ISO イメージの妥当性検査執筆者: Bob Netherton (2004 年 11 月) この説明書は、ノートブックユーザーが ISO イメージを CD に書き込み、その内容の妥当性検査を行えるようにすることを目的としています。 ISO イメージを CDR に書き込む作業は Linux 文化の一部ですが、このプロセスの妥当性検査は、すべてのディストリビューションで同じ方法で処理できるわけではありません。 ISO イメージを書き込む際には、さらに統一性を持たせる必要があります。また、これらのイメージは、Linux または Solaris OS を実行しているプラットフォームから書き込む場合があります。 このため、プロセスを確認する時間を少しとって、光ディスクに実際に書き込まれるビットの妥当性を検査するためにできることを調べましょう。 基本的な課題は、書き込みに成功したことをどうやって知るかです。 平凡な答えは、ネットワークからダウンロードした ISO イメージの妥当性検査とまったく同様に、MD5 チェックサムを使用する方法でしょう。 しかしあいにく、答えはそれほど単純ではありません。 つまり、問題がかなりあいまいなために、この方法では CDR の妥当性検査ができない場合があり、非常に失望する可能性があります。 最初に、Sun Java Desktop System ベータドキュメントの ISO イメージを書き込む例を示します。 読みやすくするために、重要でない行は削除しています。 まず、CD-RW デバイスを選択しましょう。
# cdrecord --scanbus
Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling
Linux sg driver version: 3.1.24
Using libscg version 'schily-0.7'
scsibus2:
2,0,0 200) 'SONY ' 'DVD RW DRU-510A ' '1.0a' Removable CD-ROM
2,1,0 201) 'SAMSUNG ' 'CD-R/RW SW-248F ' 'R602' Removable CD-ROM
次に、ISO イメージを CDR に書き込みましょう。 4 つの重要な
ここで、CD に書き込みます。 # cdrecord -v dev=2,1,0 speed=40 driveropts=burnfree -dao -eject MadHatter-Beta-Docs.iso Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling TOC Type: 1 = CD-ROM scsidev: '2,1,0' Starting to write CD/DVD at speed 40 in real SAO mode for single session. それでは、チェックサムを比較してみましょう。 # md5sum /dev/cdrom3 MadHatter-Beta-Docs.iso 8831242df75ea5bdc2c56e7f0e9830d3 /dev/cdrom3 8831242df75ea5bdc2c56e7f0e9830d3 MadHatter-Beta-Docs.iso 大成功です。 コースターはありません。 何か問題はあるのでしょうか。
セッションアットワンスモードの # md5sum /dev/cdrom md5sum: /dev/cdrom: Input/output error さらに念入りに検証を試みると、次のような結果が生成されることがあります。
# dd if=/dev/cdrom bs=2048 | md5sum dd: reading `/dev/cdrom': Input/output error 269860+0 records in 269860+0 records out 7c996f932254bfae7a24a1fba14e57bb - そして、コースターがあることがわかります。
問題は、最後のブロックがリードアウト領域と混同される場合があることで、一部のドライブではこれを正しく読み取れません。 このため、MD5 チェックサムが失敗します。 もちろん、元の ISO イメージをループバックマウントして、新規に書き込まれた CDR をマウントし、次のような処理を行うことはできます。 # mount -o ro,loop -t iso9660 `pwd`/MadHatter-Beta-Docs.iso /mnt # mount -o ro -t iso9660 /dev/cdrom /media/cdrom # diff -r /media/cdrom /mnt 何もレポートされない場合は成功です。 単一の ATA ドライブがあるラップトップで十分なメモリーがない場合、この処理は頻繁に行いたくありません。 これは、ISO イメージの妥当性検査を行う方法としては、消費するリソースが多すぎます。 やはり、本来の正しい指定方法が必要なことがわかるでしょう。
つまり、この話の教訓は、 ここまで、Linux について説明してきました。Solaris OS ではどうでしょうか。 Solaris 7 OS のパッチ 107645 は、部分的な最終ブロックの読み取りの問題を修正しています。 このパッチは Solaris 8 OS に統合されるので、将来のリリースではこの問題は発生しません。
Solaris プラットフォーム上の MD5 チェックサムについては、
最後の注意点は、CD ライターデバイスで、DMA モードを必ず有効にすることです。 Java Desktop System をはじめ、ほとんどの Linux ディストリビューションでは、DMA がデフォルトでオフになります。 DMA は、ブートオプション、Yast2 設定、または 32 ビット EIDE サポートを有効にし、割り込みをマスク解除することで、ラップトップの応答性を高めることができます。 # hdparm -d1 -c1 -u1 /dev/hdc これにより、DMA および 32 ビット EIDE サポートが有効になり、ディスク割り込みに割り込むことができます。 Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License. |
BigAdmin SubscriptionsBigAdmin Areas
BigAdmin Sun Center
BigAdmin Topics |