まずはいつもどおりddでiso化を試みるが、入力出力エラーが出て取り込めない。
$ dd if=/dev/cdrom of=cdrom.iso dd: reading `/dev/cdrom': 入力/出力エラーです 260832+0 records in 260832+0 records out 133545984 bytes (134 MB) copied, 39.7315 s, 3.4 MB/s
rootになって、カーネルログをチェックすると以下のような感じ。セクタの読み込みに失敗してる。これは多分コピーブロックだろう。
$ su - # less /var/log/kern.log
kernel: [ 1057.013336] hdc: command error: status=0x51 { DriveReady SeekComplete Error } kernel: [ 1057.013336] hdc: command error: error=0x54 { AbortedCommand LastFailedSense=0x05 } kernel: [ 1057.013336] ide: failed opcode was: unknown kernel: [ 1057.013336] ATAPI device hdc: kernel: [ 1057.013336] Error: Illegal request -- (Sense key=0x05) kernel: [ 1057.013336] Read of scrambled sector without authentication -- (asc=0x6f, ascq=0x03) kernel: [ 1057.013336] The failed "Read 10" packet command was: kernel: [ 1057.013336] "28 00 00 00 fe b8 00 00 40 00 00 00 00 00 00 00 " kernel: [ 1057.013336] end_request: I/O error, dev hdc, sector 260832 kernel: [ 1057.013336] Buffer I/O error on device hdc, logical block 32604 kernel: [ 1057.013336] Buffer I/O error on device hdc, logical block 32605 kernel: [ 1057.013336] Buffer I/O error on device hdc, logical block 32606 kernel: [ 1057.013336] Buffer I/O error on device hdc, logical block 32607 kernel: [ 1057.013336] Buffer I/O error on device hdc, logical block 32608 kernel: [ 1057.013336] Buffer I/O error on device hdc, logical block 32609 kernel: [ 1057.013336] Buffer I/O error on device hdc, logical block 32610 kernel: [ 1057.013336] Buffer I/O error on device hdc, logical block 32611 kernel: [ 1057.013336] Buffer I/O error on device hdc, logical block 32612 kernel: [ 1057.013336] Buffer I/O error on device hdc, logical block 32613 kernel: [ 1057.121930] hdc: command error: status=0x51 { DriveReady SeekComplete Error } kernel: [ 1057.121930] hdc: command error: error=0x54 { AbortedCommand LastFailedSense=0x05 } kernel: [ 1057.121930] ide: failed opcode was: unknown kernel: [ 1057.122536] ATAPI device hdc: kernel: [ 1057.122536] Error: Illegal request -- (Sense key=0x05) kernel: [ 1057.122536] Read of scrambled sector without authentication -- (asc=0x6f, ascq=0x03) kernel: [ 1057.122536] The failed "Read 10" packet command was: kernel: [ 1057.122536] "28 00 00 00 fe b8 00 00 02 00 00 00 00 00 00 00 " kernel: [ 1057.122536] end_request: I/O error, dev hdc, sector 260832 (END)
エラーメッセージを手繰ると、どうやら"READ OF SCRAMBLED SECTOR WITHOUT AUTHENTICATION" が出るのはコピープロテクトされたDVDをddしようとしたことが原因で、これを回避するには、一回DVDプレイヤーで再生して、その後に再度ddすればよいらしい。もう一つのエラーメッセージ"Error: Illegal request"で手繰っても何も出てこなかった。
If you encountered "READ OF SCRAMBLED SECTOR WITHOUT AUTHENTICATION" error, it means the protected dvd is locked. Open the movie with a player, play a little and pause/stop it, then run CDSpeed again.
MPlayerで1分くらい再生。正しく再生されることを確認。
$ mplayer dvd://1
その後にいつもどおりddでiso化する。
$ dd if=/dev/cdrom of=cdrom.iso 15268208+0 records in 15268208+0 records out 7817322496 bytes (7.8 GB) copied, 1386.79 s, 5.6 MB/s
mplayer でisoファイルを再生して、正しく再生されることを確認。
mplayer dvd://1 -dvd-device cdrom.iso
dvdbackupのインストールとiso化
dvdbackupでトライ。まずはインストールする。検索して、パッケージ名を確認、インストール。
aptitude search dvd p dvd+rw-tools - DVD+-RW/R tools p dvd+rw-tools-dbg - DVD+-RW/R tools (debug) p dvdauthor - create DVD-Video file system p dvdbackup - tool to rip DVD's from the command line p dvdbackup-dbg - debug files for dvdbackup p dvdisaster - data loss/scratch/aging protection for CD/DVD media p dvdisaster-doc - data loss/scratch/aging protection for CD/DVD media (documentation) p dvdrtools - DVD writing program p dvdtape - Create DVD master filesystems on DLT media p libdvdnav-dbg - DVD navigation library (debug) p libdvdnav-dev - DVD navigation library (development) p libdvdnav4 - DVD navigation library p libdvdread-dbg - library for reading DVDs (debug) p libdvdread-dev - library for reading DVDs (development) p libdvdread3 - library for reading DVDs p lsdvd - read the content info of a DVD p radvd - Router Advertisement Daemon p vdr-plugin-dvd - DVD playback plugin for VDR # aptitude install dvdbackup Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done The following NEW packages will be installed: dvdbackup libdvdnav4{a} libdvdread3{a} 0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 158kB of archives. After unpacking 549kB will be used. Do you want to continue? [Y/n/?] y Writing extended state information... Done Get:1 http://ftp.jp.debian.org lenny/main libdvdread3 0.9.7-11 [59.9kB] Get:2 http://ftp.jp.debian.org lenny/main dvdbackup 0.2-2 [24.0kB] Get:3 http://ftp.jp.debian.org lenny/main libdvdnav4 4.1.2-3 [74.2kB] Fetched 158kB in 0s (918kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously deselected package libdvdread3. (Reading database ... 35280 files and directories currently installed.) Unpacking libdvdread3 (from .../libdvdread3_0.9.7-11_i386.deb) ... Selecting previously deselected package dvdbackup. Unpacking dvdbackup (from .../dvdbackup_0.2-2_i386.deb) ... Selecting previously deselected package libdvdnav4. Unpacking libdvdnav4 (from .../libdvdnav4_4.1.2-3_i386.deb) ... Processing triggers for man-db ... Setting up libdvdread3 (0.9.7-11) ... Setting up dvdbackup (0.2-2) ... Setting up libdvdnav4 (4.1.2-3) ... Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done # exit logout
まずは引数とオプションの確認。ddとオプション指定の方法が似ている。取りあえずのところは、-M:完全バックアップ。-i:入力デバイス、-o:出力ディレクトリの認識だけあれば事足りそう。
$ dvdbackup -h Usage: dvdbackup [OPTION]... -h, --help display this help and exit -V, --version display version information and exit -I, --info prints information about the DVD -M, --mirror backup the whole DVD -F, --feature backup the main feature of the DVD -T, --titleset=X backup title set X -t, --title=X backup title X -s, --start=X backup from chapter X -e, --end=X backup to chapter X -i, --input=DEVICE where DEVICE is your DVD device if not given /dev/dvd is used -o, --output=DIRECTORY where directory is your backup target if not given the current directory is used -v, --verbose print more information about progress -n, --name=NAME set the title (useful if autodetection fails) -a, --aspect=0 to get aspect ratio 4:3 instead of 16:9 if both are present -r, --error={a,b,m} select read error handling: a=abort, b=skip block, m=skip multiple blocks (default) -a is option to the -F switch and has no effect on other options -s and -e should preferably be used together with -t Report bugs to <dvdbackup-bugs@lists.sourceforge.net>.
で、バックアップ開始。失敗。
$ dvdbackup -M -i /dev/cdrom -o cdrom Error reading MENU VOB Mirror of Title set 1 failed Mirror of DVD failed
"dvdbackup Mirror of Title set 1 failed"で手繰ったが何も出てこない。
失敗したので、カーネルログ確認。エラー内容はddを使った場合と同じっぽい
# less /var/log/kern.log kernel: [ 2232.542339] hdc: command error: status=0x51 { DriveReady SeekComplete Error } kernel: [ 2232.542339] hdc: command error: error=0x54 { AbortedCommand LastFailedSense=0x05 } kernel: [ 2232.542339] ide: failed opcode was: unknown kernel: [ 2232.543112] ATAPI device hdc: kernel: [ 2232.543112] Error: Illegal request -- (Sense key=0x05) kernel: [ 2232.543112] Read of scrambled sector without authentication -- (asc=0x6f, ascq=0x03) kernel: [ 2232.543112] The failed "Read 10" packet command was: kernel: [ 2232.543112] "28 00 00 00 fe c0 00 00 40 00 00 00 00 00 00 00 " kernel: [ 2232.543112] end_request: I/O error, dev hdc, sector 260864 kernel: [ 2232.543112] __ratelimit: 28 messages suppressed kernel: [ 2232.543112] Buffer I/O error on device hdc, logical block 32608 kernel: [ 2232.543112] Buffer I/O error on device hdc, logical block 32609 kernel: [ 2232.543112] Buffer I/O error on device hdc, logical block 32610 kernel: [ 2232.543112] Buffer I/O error on device hdc, logical block 32611 kernel: [ 2232.543112] Buffer I/O error on device hdc, logical block 32612 kernel: [ 2232.543112] Buffer I/O error on device hdc, logical block 32613 kernel: [ 2232.543112] Buffer I/O error on device hdc, logical block 32614 kernel: [ 2232.543112] Buffer I/O error on device hdc, logical block 32615 kernel: [ 2232.543112] Buffer I/O error on device hdc, logical block 32616 kernel: [ 2232.543112] Buffer I/O error on device hdc, logical block 32617 kernel: [ 2232.635912] hdc: command error: status=0x51 { DriveReady SeekComplete Error } kernel: [ 2232.635912] hdc: command error: error=0x54 { AbortedCommand LastFailedSense=0x05 } kernel: [ 2232.635912] ide: failed opcode was: unknown kernel: [ 2232.636570] ATAPI device hdc: kernel: [ 2232.636570] Error: Illegal request -- (Sense key=0x05) kernel: [ 2232.636570] Read of scrambled sector without authentication -- (asc=0x6f, ascq=0x03) kernel: [ 2232.636570] The failed "Read 10" packet command was: kernel: [ 2232.636570] "28 00 00 00 fe c0 00 00 02 00 00 00 00 00 00 00 " kernel: [ 2232.636570] end_request: I/O error, dev hdc, sector 260864 kernel: [ 2232.636953] hdc: command error: status=0x51 { DriveReady SeekComplete Error } kernel: [ 2232.636953] hdc: command error: error=0x54 { AbortedCommand LastFailedSense=0x05 } kernel: [ 2232.636953] ide: failed opcode was: unknown kernel: [ 2232.637595] ATAPI device hdc: kernel: [ 2232.637595] Error: Illegal request -- (Sense key=0x05) kernel: [ 2232.637595] Read of scrambled sector without authentication -- (asc=0x6f, ascq=0x03) kernel: [ 2232.637595] The failed "Read 10" packet command was: kernel: [ 2232.637595] "28 00 00 00 fe c0 00 00 02 00 00 00 00 00 00 00 " kernel: [ 2232.637595] end_request: I/O error, dev hdc, sector 260864 (END)