今回は予定を変更してLinuxでの記録型DVDへの書込み方法について解説します。内容は別稿の「VOL.2 DVD書込みユーティリティdvd+rw-tools」からポイントをピックアップし、筆者の経験に基づく具体例や実験結果を独自に追加したものです。

これまでLinuxでの記録型DVDの書込みに関しては日本語の情報が乏しく、利用を躊躇している方も多かったと思いますが、4.7GBのデータを10分程度で書き込むことができるため、本稿のテーマであるSOHO向けサーバのバックアップメディアとして最適と考えます。本稿が少しでも皆様のお役に立てれば幸いです。

dvd+rw-toolsというのはスウェーデンのAndy Polyakovという人が作っているDVD書込みツールで、growisofsという書込みコマンドを中心としたコマンド群から成ります。

重要: dvd+rw-tools バージョン5.19には深刻なバグがあります。これをお使いの方は5.20以上にアップデートすることをお勧めします。バグの詳細と対策については[こちら]を参照してください。

1. 基本操作

現在普及している記録型DVDメディアにはDVD+R,DVD-R,DVD-RW,DVD+RW,DVD-RAM があります。はたしてLinuxで使えるのはどれでしょう?

答えは「全部使えます(*)」です。書き込み方法は「超」が付くくらい簡単です。

(*) DVD-RAMの利用は今のところ「超」簡単とはいえません。こちらを参照してください。

特にgrowisofsバージョン5.10以上であればRWメディアのフォーマッティングも必要に応じて自動的に行われますから、ブランクメディアであっても単に「書き込むだけ」です。

なおgrowisofsは当初DVD+R,DVD+RWのみサポートしており、DVD-R,DVD-RWのサポートが正式に追加されたのはバージョン5.13からです。「マイナス」メディアを使用する場合はgrowisofsのバージョンを確認してください。“growisofs -version”とすれば確認できます。最新バージョンのインストール方法は後で解説します。

さて面倒なことは抜きにしてまずは書込みコマンドを見てみましょう。これから紹介するコマンドはいずれもroot権限で実行しなければならないことに注意してください。
コマンドの書式は、最初の書込みか、追加書込みか、上書きかにより少しだけ違います。上書きとは既に書かれた内容を無視して最初から書き込むことで、(当然ですが)RWメディアのみで可能です。

  • 最初の書込み(R/RW共通),上書きの場合(RWのみ)

    growisofs -Z /dev/dvd -R -J ファイル and/or ディレクトリ(群)

  • 追加書込みの場合(R/RW共通)

    growisofs -M /dev/dvd -R -J ファイル and/or ディレクトリ(群)

基本的にはこれだけです。簡単ですね。フォーマット済みであろうとなかろうと、プラスであろうとマイナスであろうと同じです。コマンドラインの各パラメータの意味は次のとおりです。詳細はgrowisofsのman pageを参照してください。

/dev/dvd
ドライブのデバイスファイル。カーネル 2.4ではATAPI接続のドライブはSCSIエミュレーションとなり、通常 /dev/scdN (N=0,1,2...) となる。カーネル2.6ではIDEデバイスとなり、/dev/hdX (X=a,b,...) となる。詳細は後の「環境設定」を参照。
-R
Rock Ridgeエクステンションを施す。Linux(UNIX)ファイルシステムのロングファイルネーム,パーミッション,オーナなどの属性をもたせることができる。このオプションはmkisofsに渡される。
-J
Jolietエクステンションを施す。Win32でのロングファイルネームに対応。このオプションはmkisofsに渡される。
-Z
最初のセッションの書込みを指定。
-M
既存のセッションに新しいセッションをマージする。
ファイル and/or ディレクトリ(群)
DVDに書き出す元となるファイル,ディレクトリを指定する。スペースで区切って複数指定可。ディレクトリを指定すると、そのディレクトリより下のすべてのファイルとディレクトリが書込み対象となる。指定したディレクトリ自身は含まれないことに注意。そのディレクトリを含む方法は後述

なおDVD-RWの追加書込みについては注意が必要です。追加で書込みをした部分が読めなくなることがあるのです。DVD-RWの追加書込みは新規セッションとして行われるのですが、すべてのドライブがDVDメディアのマルチセッション(マルチボーダー)をサポートするわけではないためです。

この問題を回避するにはDVD-RWの記録モードを“Sequentialモード”から“Restricted Overwriteモード”に変更する必要があります。この詳細については別のドキュメントを参照してもらうとして、記録モードを変更する方法を紹介します。

未使用のDVD-RWは“Sequentialモード”になっていますから、これを“Restricted Overwriteモード”にするには次のようにします。

dvd+rw-format -force /dev/dvd

dvd+rw-formatコマンドはdvd+rw-toolsに含まれるコマンドです。これに要す時間は短く、1分以内で終わると思いますが既に記録されている内容は全て失われることに注意してください。ただこれにより、そのDVD-RWメディアへの追加書込みは単一セッションを拡張(grow)する形で行われるため、マルチセッションをサポートしないドライブでも全ての内容が読めるようになるはずです。

ちなみに“Restricted Overwriteモード”を“Sequentialモード”に戻すには次のようにします。

dvd+rw-format -blank=full /dev/dvd

これに要す時間は1倍速で約1時間,4倍速で約15分といったところです。

お手持ちのDVD-RWメディアがどちらの記録モードになっているのかを調べるにはdvd+rw-toolsに含まれるdvd+rw-mediainfoというコマンドを使います。ドライブにメディアをセットして、

dvd+rw-mediainfo /dev/dvd

とすればそのメディアに関する多くの情報が表示されます。その中の“Mounted Media”という項目に現在の記録モードが表示されます。

dvd+rw-mediainfoコマンドで表示される情報は、「挿入されたメディアがそのドライブでどのように認識されたか」を表すものです。詳しくは後の「dvd+rw-mediainfoコマンドについて」を参照してください。

以上で使い方に関する説明は終わりです。次にこれらの操作を行う前に必要な環境設定について解説します。安定した書込みを実現するにはそれなりの設定が必要なのです。

2.環境設定

環境設定の手順は次のとおりです。

  1. cdrtoolsとdvd+rw-toolsの最新バージョンを入手し、コンパイル・インストールする。
  2. 現システムのオートマウント・オートプレイ機構を全て解除する。
  3. /dev/dvd を作成する。

では順を追って見ていきましょう。

手順1 cdrtoolsとdvd+rw-tools最新版の入手とコンパイル・インストール

最新版はそれぞれ次の場所からダウンロードできます。

cdrtools (2004年5月時点の最新版はバージョン2.00.3)
URL: ftp://ftp.berlios.de/pub/cdrecord
アーカイブ名: cdrtools.tar.gz
注:mkisofsバージョン2.0以上が既に存在する場合はこれは不要です。
dvd+rw-tools (2004年7月時点の最新版はバージョン5.20.4.10.8)
URL: http://fy.chalmers.se/~appro/linux/DVD+RW/tools/
アーカイブ名: dvd+rw-tools-5.20.4.10.8.tar.gz
注:dvd+rw-toolsバージョン5.19には深刻なバグがあります。これをお使いの方は5.20以上にアップデートすることをお勧めします。バグの詳細と対策については[こちら]を参照してください。

これらのアーカイブを入手したら適当な場所に展開し、コンパイルします。次に既に同様のパッケージがインストールされている場合はそれをアンインストールします。その後コンパイル済みの最新版をインストールします。

ではまずcdrtoolsです。growisofsコマンドはcdrtoolsに含まれるmkisofsコマンドを使用し、そのバージョンが2.0以上であることが要求されます。ですから既にmkisofsバージョン2.0以上が存在する場合はcdrtoolsのインストールをスキップしてください。バージョンは“mkisofs -version”とすれば表示されます。

一般ユーザでログインして作業します。ワーキングディレクトリはどこでも構いませんが、ここでは~/tmpとします。

cdrtoolsのコンパイル・インストール
[user@host tmp]$ ls -l   ←入手したアーカイブを確認
合計 1708
-rw-r--r-- 1 user users 1638876 5月 20 11:37 cdrecord.tar.gz
-rw-r--r-- 1 user users   97678 7月 30 11:29 dvd+rw-tools-5.20.4.10.8.tar.gz
[user@host tmp]# tar xvzf cdrecord.tar.gz   ←展開
cdrtools-2.00.3/
cdrtools-2.00.3/RULES/
 <中略>
cdrtools-2.00.3/AN-2.00.3
[user@host tmp]$ cd cdrtools-2.00.3   ←ソースディレクトリに移動
[user@host cdrtools-2.00.3]$ make   ←コンパイル
==> MAKING "all" ON SUBDIRECTORY "SRCROOT/conf"
make['1']: Entering directory `/home/user/tmp/cdrtools-2.00.3/conf'
 <中略>
==> LINKING "OBJ/i686-linux-cc/scgcheck"
make['1']: Leaving directory `/home/user/tmp/cdrtools-2.00.3/scgcheck'
[user@host cdrtools-2.00.3]$ su   ←スーパユーザになる
Password:   ←rootのパスワード入力
[root@host cdrtools-2.00.3]# rpm -qa | grep cdrecord ←既存パッケージ確認
cdrecord-devel-1.10
cdrecord-1.10   ←古いものがあれば強制削除
[root@host cdrtools-2.00.3]# cp -p /etc/cdrecord.conf . ←コンフィグファイルをバックアップ
[root@host cdrtools-2.00.3]# rpm --nodeps -e cdrecord-2.0-11.9.1 ←強制削除
警告: /etc/cdrecord.conf saved as /etc/cdrecord.conf.rpmsave
[root@host cdrtools-2.00.3]# cp -pf cdrecord.conf /etc/ ←コンフィグファイルを復活
[root@host cdrtools-2.00.3]# make INS_BASE=/usr/local install ←インストール
==> MAKING "install" ON SUBDIRECTORY "SRCROOT/conf"
make['1']: Entering directory `/home/user/tmp/cdrtools-2.00.3/conf'
install: nothing to make
 <中略>
[root@host cdrtools-2.00.3]# exit   ←一般ユーザに戻る
[user@host cdrtools-2.00.3]$ cd ..  ←ソースディレクトリから抜ける
[user@host tmp]$ hash -r  ←ハッシュテーブルクリア
[user@host tmp]$ which cdrecord  ←インストール結果確認
/usr/local/bin/cdrecord  ←インストールしたパスにあることを確認
[user@host tmp]$ mkisofs -version  ←mkisofsのバージョン確認
mkisofs 2.0.3 (i686-pc-linux-gnu)  ←最新バージョン
[user@host tmp]$
  打ち込むコマンドを水色で,注目すべき出力を紫で,解説を黄色で強調しています。

次はdvd+rw-toolsです。特にバージョンが5.13未満の場合は是非最新版をインストールしてください。ちなみにFedora Core1ではバージョン5.13が、Fedora Core2ではバージョン5.17が付属します。本稿執筆時点(2004年7月30日)の最新版はバージョン5.20です。安定した書込みを望むなら最新版にした方が良いと思います。

dvd+rw-toolsのコンパイル・インストール
[user@host tmp]$ tar xvzf dvd+rw-tools-5.20.4.10.8.tar.gz   ←展開
dvd+rw-tools-5.20.4.10.8/Makefile
dvd+rw-tools-5.20.4.10.8/Makefile.m4
 <中略>
dvd+rw-tools-5.20.4.10.8/index.html
[user@host tmp]$ cd dvd+rw-tools-5.20.4.10.8   ←ソースディレクトリに移動
[user@host dvd+rw-tools-5.20.4.10.8]$ make   ←コンパイル
make['1']: Entering directory `/home/user/tmp/dvd+rw-tools-5.20.4.10.8'
gcc -O2 -c -o growisofs.o growisofs.c
 <中略>
make['1']: Leaving directory `/home/user/tmp/dvd+rw-tools-5.20.4.10.8'
[user@host dvd+rw-tools-5.20.4.10.8]$ su   ←スーパユーザになる
Password:   ←rootのパスワード入力
[root@host dvd+rw-tools-5.20.4.10.8]# rpm -qa | grep dvd+rw-tools ←既存パッケージ確認
dvd+rw-tools-5.13.4.7.4-1   ←古いものがあれば強制削除
[root@host dvd+rw-tools-5.20.4.10.8]# rpm --nodeps -e dvd+rw-tools-5.13.4.7.4-1 ←強制削除
[root@host dvd+rw-tools-5.20.4.10.8]# make install ←インストール
install -o root -m 0755 growisofs dvd+rw-format dvd+rw-booktype
 <中略>
make['1']: Leaving directory `/home/user/tmp/dvd+rw-tools-5.20.4.10.8'
[root@host dvd+rw-tools-5.20.4.10.8]# exit   ←一般ユーザに戻る
[user@host dvd+rw-tools-5.20.4.10.8]$ cd ..  ←ソースディレクトリから抜ける
[user@host tmp]$ hash -r  ←ハッシュテーブルクリア
[user@host tmp]$ which growisofs  ←インストール結果確認
/usr/local/bin/growisofs  ←インストールしたパスにあることを確認
[user@host tmp]$ growisofs -version  ←growisofsのバージョン確認
* growisofs by <appro@fy.chalmers.se>, version 5.20,  ←最新バージョン
front-ending to mkisofs: mkisofs 2.0.3 (i686-pc-linux-gnu)
[user@host tmp]$

以上でインストールは完了です。

手順2 現システムのオートマウント・オートプレイ機構の解除

CDやDVDメディアが挿入されると自動的にマウントし、オートプレイを行うなどの機構が有効になっている場合があります。このような仕組みはCDやDVDを焼く環境としては厳禁ですからすべて解除します。dvd+rw-toolsのドキュメントにはautofs, supermount, magicdevが挙げられており、それぞれ次のようなものです。

autofs
システムのサービスとして組み込まれるオートマウントデーモン。
supermount
カーネルに組み込まれるオートマウント対応仮想ファイルシステム。Mandrakeディストリビューションを対象としている。
magicdev
GNOMEのアプリケーションとして組み込まれるオートマウント,オートプレイプログラム。つまりXウインドウシステムでのみ動作する。

ここではRedhat Linux9,Fedora Core1,2でインストールされるautofsとmagicdevの解除方法を紹介します。

機構 一時解除の方法 無効化または削除の方法
autofs rootになって
# /etc/init.d/autofs stop
【無効化】
rootになって
# chkconfig --del autofs
【削除】
rootになって
# rpm -qa | grep autofs
autofs-xxx-xx
# rpm -e autofs-xxx-xx
magicdev # killall magicdev 【無効化】
メニューの「個人設定」から「CD Properties」または「CD/DVD」を選び、オートマウント,オートプレイのチェックをすべて外す。ログアウト時に設定を保存。
【削除】
rootになって
# rpm -qa | grep magicdev
magicdev-xxxx-x
# rpm -e magicdev-xxxx-x

手順2は以上です。念のためDVDの書込みを行う前に、既知のCD-ROMかDVD-ROMを入れてみて自動マウントされないことを確認しておくと良いでしょう。

手順3 /dev/dvd の作成

これは必須ではありません。単にデバイスファイルを/dev/dvdとしておくことで操作を容易にするのが目的です。具体的には実際のデバイスファイルへのシンボリックリンクとして作成します。

このためには実際のデバイスファイルがどれかを特定しリンクする必要があります。それには様々な方法がありますが、そのいくつかをご紹介しましょう。

特定方法 実行例
/dev/cdromを調べる システムにDVD/CDライティングデバイスが1台しかなく、既にCD-ROMが使えている場合。
【例】
# cd /dev
# ls -l cdrom
・・・ cdrom -> /dev/scd0
# ln -s scd0 dvd
ブートメッセージを調べる 【カーネル2.4の場合】
# dmesg | grep ATAPI
hdd: XXXX-XX XXXXX, ATAPI CD/DVD-ROM drive
scsi1 : SCSI host adapter emulation for IDE ATAPI devices
# cd /dev
# ln -s scd1 dvd  ←scsi0=scd0, scsi1=scd1, ...
【カーネル2.6の場合】
# dmesg | grep ATAPI
hdd: XXX-XXX-XX XXXX, ATAPI CD/DVD-ROM drive
hdd: ATAPI 32X DVD-ROM DVD-R CD-R/RW drive, ...
# cd /dev
# ln -s hdd dvd  ←SCSIエミュレーションなし
/procファイルシステムを調べる 【カーネル2.4の場合】
# cat /proc/sys/dev/cdrom/info
drive name: sr0
 :
# cd /dev
# ln -s scd0 dvd  ←sr0=scd0, sr1=scd1, ...
【カーネル2.6の場合】
# cat /proc/sys/dev/cdrom/info
drive name: hdd
 :
# cd /dev
# ln -s hdd dvd  ←SCSIエミュレーションなし

これが完了したらgrowisofsに与えるデバイス名は/dev/dvdに統一できます。

さて以上でDVDの書込みの準備が整いました。既に解説した基本操作で問題なく書込みができると思います。次の章ではいくつかの応用操作やTIPS、それから筆者が遭遇したトラブルなどをご紹介します。

3. 応用操作,TIPS,トラブルシューティングなど

3.1 指定したディレクトリを含めて書き込みたい場合

growisofsの引数としてディレクトリを指定した場合、そのディレクトリ自身は含まれずに直下の内容が再帰的に書き込まれます。これはtarなどのイメージとは異なるため不便さを感じている人が多いと思います。実はこれはgrowisofsのせいではなく、mkisofsがそういう仕様になっているのです。ですからこれはmkisofs側で何とかするしかありません。

詳しくは mkisofsのman page を見ていただくとして、-graft-pointsオプションを使うことでこの目的を達成できます。

例えば/homeと/var/libのバックアップを取る場合で、DVDに/homeと/var/libというディレクトリを含めて書き込みたい場合は次のようにします。(最初の書込みとします)

growisofs -Z /dev/dvd -J -R -graft-points home=/home var/lib=/var/lib

“graft-point”とは接ぎ木点と直訳できますが、実際に書込むファイルやディレクトリ(右側)を‘=’記号の左側で指定したディレクトリ下に置くように指定できます。このディレクトリは実際と異なっていても構いませんし、存在しないディレクトリを指定することもできます。例えば/homeと/var/libをバックアップを取った日付のディレクトリ“20040528”の下に書く場合は次のようにします。

growisofs -Z /dev/dvd -J -R -graft-points 20040528/home=/home 20040528/var/lib=/var/lib

ここでディレクトリ“20040528”は元のファイルシステムには存在しなくても構いません。なお‘=’の右側にファイルを指定し左側にディレクトリを指定する場合は、ディレクトリ名の最後に‘/’をつけるようにしてください。そうでないと右側で指定したファイルが左側の名前のファイル名として書き込まれます。

3.2 DVD-RAMへの書込みについて

DVD-RAMは他の記録型DVDメディアとは異なり、MOのように完全にランダムに読み書きできるメディアです。ですからその扱いは基本的に4.7GBの容量をもつMOであると考えて構いません。例えばDVD-RAMをLinux標準のEXT2ファイルシステムとしてフォーマッティングして使う場合は次のようにします。

mke2fs /dev/dvd

これで通常のLinuxボリュームとして使うことができます。

それでは他の記録型DVDメディアのようにISO9660ファイルシステムを書き込むにはどうしたら良いでしょう? 同じようにgrowisofsを使えば良いのでしょうか?やってみましたが書込みの途中でシステムがフリーズしてしまいます。 実はgrowisofs.cの来歴の中のバージョン5.19の部分に次のように書かれています。

* - make DVD-RAM work in "poor-man" mode;

growisofsの隠しオプション-poor-manは、もともとバッファアンダーランの対策として用意されていますが、これを使うことでDVD-RAMへの書込みに対応したようです。つまり次のようにします。

growisofs -poor-man -Z /dev/dvd -J -R ...

このようにしてDVD-RAMへの書込みがうまくいくことを確認しましたが、3倍速であるはずの書込み速度は1.4倍になり、Windowsマシンでは読めないという結果に終わりました。書込みを行ったドライブでは読めます。いずれにせよDVD-RAMへの対応はgrowisofsバージョン5.19からであることに注意してください。

なおWindows上でUDF1.5形式でフォーマッティングしたDVD-RAMをLinuxでマウントして普通に読み書きできることを確認しました。Linuxで書き込んだ内容もWindowsで読み取れます。ただし書き込み速度は3倍速メディアでも実質1.4倍速相当(2GBの書込みに約19分)でした。使用したドライブはLG電子製GSA-4082Bです。

ちなみに同ドライブでの他のメディアの書込み時間は、約2GBの書込みをするのに4倍速で約7分(4倍速相当),8倍速で約5分30秒(5倍速相当)といったところです。ただしこれはドライブやメディアの組み合わせによって異なるはずです。

3.3 プラス(DVD+R/RW)とマイナス(DVD-R/RW)のどちらを使うべきか

メディアの価格や素性の優劣はさておき、RWメディアではフォーマッティング不要の手軽さでDVD+RWに軍配が上がり,Rメディアではどちらでも良いということになるでしょう。ただしこれはgrowisofsを使う場合に限った話です。

growisofsの作者はプラスメディアが大好きという状況を考慮すれば、LinuxではDVD+RとDVD+RWを使う方が良いということになるのかもしれません。

3.4 ドライブのファームウェアの問題

意外と見落としがちなのがドライブのファームウェアの問題です。メーカのサイトを見るとファームウェアのアップデートが頻繁に行われているのがわかります。例えば私が使っているLG電子製GSA-4082Bでは購入当初のファームウェアのバージョンはA202でしたが本稿執筆時点(2004年7月)ではA206となっています。このファームウェアはLG電子のサイトからダウンロードできます。

ファームウェアのアップデートは主にバグ対策を目的に行われるため、常にメーカのサイトをウオッチしてこまめにアップデートを行うことをお奨めします。ただしファームウェアのアップデートは通常Windows上で行うことになるため、ドライブをWindowsマシンにつなぎ直すか、1つのマシンをLinux/Windowsデュアルブートとし、アップデートの時だけWindowsを立ち上げるなどの工夫が必要です。

なおメーカによってはファームウェアのアップデートにWindows Updateの仕組みを使っており、ユーザに対してダウンロードサービスを明示していない場合があるとのことです。詳しくはここを参照してください。

3.5 書込みが急に遅くなる問題

今回の記事を執筆するにあたって各種実験を繰り返したわけですが、一度だけ書込みが遅くなる問題に遭遇しました。8倍速DVD+Rメディアなのに1.4倍速相当の書込み速度です。この時システムログには次のメッセージが記録されていました。

May 26 08:39:25 bbox2767 kernel: scsi : aborting command due to timeout : pid 87, scsi0, channel 0, id 0, lun 0 Write (10) 00 00 00 01 e0 00 00 10 00
May 26 08:39:25 bbox2767 kernel: hdd: error waiting for DMA
May 26 08:39:25 bbox2767 kernel: hdd: dma timeout retry: status=0xd0 { Busy }
May 26 08:39:25 bbox2767 kernel: hdd: DMA disabled
May 26 08:39:25 bbox2767 kernel: hdd: ATAPI reset complete
May 26 08:39:55 bbox2767 kernel: scsi : aborting command due to timeout : pid 89, scsi0, channel 0, id 0, lun 0 Write (10) 00 00 00 01 e0 00 00 10 00
May 26 08:39:55 bbox2767 kernel: hdd: irq timeout: status=0xd0 { Busy }
May 26 08:39:56 bbox2767 kernel: hdd: ATAPI reset complete

見たところ、ATAPIに問題が発生し、DMAが無効になったようです。試しに “hdparm -d /dev/hdd”として確認したところ、やはり無効になっていました。とりあえず “hdparm -d1 /dev/hdd” としてDMAを有効にし、再度書込みを行ったところ期待した速度での書込みができました。

growisofsの作者によればこれはバッファアンダーランが発生した時に起こるもので、前述の環境設定がきちんと行われていないか、ドライブのファームウェアに問題があるのではないかとのことです。ただしこれが起きたのは一度だけであとは安定した書込みができています。

なおDVDへの書込みが一度終わったらメディアをイジェクトし、再ロードすることが推奨されています。growisofsバージョン5.19ではこれが自動的に行われるようになりました。5.19以前のものをお使いの場合は、是非これを実行してください。コマンドラインから“eject; eject -t”とすればマシンの前まで行かなくてもイジェクト/再ロードが行われます。(ただしそれが唯一のCD/DVDドライブの場合です)

3.6 RWメディアのフォーマッティングについて

RWメディアのフォーマットはdvd+rw-formatコマンドで行うことができますが、通常1分以内で終わってしまいます。つまりこれはメディア全面を上書きしているわけではないため、プライバシー保護を目的としたデータの消去のつもりで使うのは間違いです。メディア上にはデータが残っています。

データを完全に消去したいのであれば、次のようにしてください。

growisofs -Z /dev/dvd=/dev/zero

また不必要なフォーマッティングはRWメディアの寿命を縮めますからやらないでください。フォーマッティングを行わなくても -Z オプションでいつでも上書きできます。

3.7 dvd+rw-mediainfoコマンドについて

dvd+rw-mediainfoは挿入されたメディアがそのドライブでどのように認識されたかを見るコマンドです。DVD-RWの記録モード(Sequential/Restricted Overwrite)を調べる目的の他に、そのメディアの種類,ベンダ,記録速度などを見る目的で使えます。

次はJVC製のDVD-RW(X4)メディアについてのdvd+rw-mediainfoの出力です。

dvd+rw-mediainfoの出力
[root@host tmp]# dvd+rw-mediainfo /dev/dvd
INQUIRY: ['HL-DT-ST']['DVDRAM GSA-4082B']['A204']  ←ドライブ情報
GET ['CURRENT'] CONFIGURATION:
Mounted Media: 13h, DVD-RW Restricted Overwrite  ←メディアの種類・モード
Media ID: JVC0VictorD7  ←メディアID(ベンダコード)
Current Write Speed: 4.0x1385=5540KB/s  ←現在選ばれている書込み速度
Write Speed #0: 4.0x1385=5540KB/s  ←選択可能書込み速度1
Write Speed #1: 2.0x1385=2770KB/s  ←選択可能書込み速度2
<以下省略>

4倍速のメディアが2倍速でしか書き込めないなどの場合は「選択可能書込み速度」を見てください。有名なメーカの4倍速のメディアでも2倍速でしか認識されない場合があります。ただしこれはメーカが嘘をついているわけではなく、ドライブのファームウェアに依存するものですからメディアメーカや販売店に文句を言う筋合いのものではありません。ファームウェアのバージョンアップをすることで改善したりするものです。

逆に書込みに失敗する,予想以上に書込みが速く行われるなどの場合は「現在選ばれている書込み速度」をチェックしてください。ドライブによっては未知のブランドのメディアに対して最高速を適用してしまうものがあるとのことです。この場合は次のようにgrowisofsの-speedオプションで書き込み速度を明示的に与えます。

growisofs -spped=4 -Z /dev/dvd -R -J ...

dvd+rw-mediainfoコマンドは無印のバルクメディアを買った場合にその素性を調べるのにも便利なコマンドだと思います。

3.8 ISOイメージファイルからのDVD作成

既にISOイメージを作成(プリマスタリング)してある場合でもgrowisofsコマンドが使えます。例えばISOイメージファイルをカレントディレクトリにあるimage.isoとすると、

growisofs -Z /dev/dvd=image.iso

とします。この場合growisofsはmkisofsを使わずにimage.isoファイルの内容を/dev/dvdにダンプします。

3.9 書き込みテスト

書き込みテストを行う場合は次のように-dryrunオプションを使います。

growisofs -dryrun -Z /dev/dvd ...

これによりDVDへの書込みは行われなくなります。

3.10 dvd+rw-toolsバージョン5.19のバグについて

dvd+rw-toolsバージョン5.19には深刻なバグがあることが作者から報告されています。次の文章は作者からの通知を翻訳したものです。

バージョン5.19にはファイナライズに失敗するバグがあることがわかりました。永久に“flush cache”し続けてしまうというものです。対策として5.19のソースにこのパッチを当てるか、パッチ済みのこのtar-ballをダウンロードしてください。もしこのバグによりファイナライズされなかったDVD±Rメディアをお持ちの場合はこの簡易プログラムを実行することで回復させることができます。DVD±RWメディアでは単に“dvd+rw-format -lead-out”とすれば良いはずです。

筆者注: バージョン5.20にアップデートすることをお勧めします。

3.11 2層DVD+R(DVD+R DL)のサポートについて

growisofsバージョン5.20から試験的に2層DVD+R(DVD+R DL)のサポートが追加されました。具体的には -use-the-force-luke=4gms という隠しオプションを与えることで4GBの制限を取り除くものです。作者によれば“カーネルバージョン2.6.8以上を利用する開発者限定”だそうです。


4. 関連URL


dvd+rw-toolsの公式ページ
http://fy.chalmers.se/~appro/linux/DVD+RW/
dvd+rw-toolsの公式ページの日本語訳
https://www.ioss.jp/sohodiy/vol02-part01.php
growisofs(1m) ver.5.20 man page [日本語]
https://www.ioss.jp/sohodiy/growisofs1m.php
mkisofs(8) ver.2.0 man page [日本語]
https://www.ioss.jp/sohodiy/mkisofs8v2.php

今回は以上です。いかがでしたか? 次回はバックアップの続きです。ご期待ください。

(石)