web-dev-qa-db-ja.com

Snow Leopardで破損したISOイメージを生成するdd(スクリプトまたはシェルから呼び出されたかどうか)

さて、私はおそらくここでばかですが、実際にはddの上にGUIを重ねただけのISOリッピングユーティリティを書いています。SnowLeopardで破損していないISOを生成するように誘導することはできません。私は次のバリエーションを試しました(すべて/ dev/disk1がマウントされていないはずです):

dd if=/dev/disk1 of=/Users/[me]/Desktop/anIso.iso bs=2048 conv=sync,notrunc
dd if=/dev/disk1 of=/Users/[me]/Desktop/anIso.iso bs=2048 conv=notruc 
dd if=/dev/disk1 of=/Users/[me]/Desktop/anIso.iso bs=2048
dd if=/dev/disk1 of=/Users/[me]/Desktop/anIso.iso

4つのケースすべてで、生成されたISOをクリックすると、「次のディスクイメージを読み取ることができませんでした」というポップアップが表示され、ファイルが一覧表示されます。用途がある場合、出力(少なくともコマンドの最初のバリエーション)は次のとおりです。

408258+1 records in
408259+0 records out
836114432 bytes transferred in 513.382815 secs (1628637 bytes/sec)

何か案は?マニュアルページを読みましたが、バリエーション1は、指定されたCDからISOを生成する必要があるようです。

3
znice

CD-ROMの場合は、/dev/disk1s0ではなく/dev/disk1を使用してください。

/dev/disk1は生の2352バイトのブロックにアクセスします。これは、オーディオCDを読み取る場合に便利です。 CD-ROMでは、2352バイトのうち2048バイトがデータに使用され、 残りのほとんどはエラー訂正用です/dev/disk1s0を読み取ると、エラー訂正コードを使用して、可能であればエラーを訂正し、各ブロックの(おそらく訂正された)2048データバイトを返します。これは、ISOイメージに必要なものです。

これは、/dev/disk1を使用するDVD-ROMでは異なることに注意してください。 DVD-ROMは、エラーの回復力を高めるために、データをディスク全体に分散させる別のエラー訂正方式を使用しています。エラー訂正コードが含まれているDVDデータを読み取るために使用できる個別のデバイス名はありません。

3
mark4o

オーディオCDは通常、ddでリッピングされず、ISOとして保存されます。オーディオCDデータ(CDDA)は、蓄音機レコードのトラックに近く、境界を示すギャップで内側にらせん状になっています。それらにはファイルシステムは含まれていません。

代わりに、オーディオCDデータは通常、 cdrdao または cdparanoia のようなプログラムでリッピングされます。通常、オーディオCDは、ISOファイルの代わりに、BIN/CUEペア、WAV/CUEペア、またはトラックごとに個別のWAVファイルとして保存されます。 CUEファイルはトラックのレイアウトを含むASCIIテキストファイルであり、BINまたはWAVファイルには実際のオーディオデータが含まれています。

cdparanoiaの場合:

# read cd's table of contents
cdparanoia -Q

# rip several (1 thru N, inclusive) tracks to one big file
cdparanoia --batch 1-N bigfile.wav

cdrdaoの場合:

cdrdao read-cd --read-raw --datafile foo.bin --device ATAPI:0,0,0 --driver generic-mmc-raw foo.toc

さらに多くの厄介な詳細については、 コマンドプロンプトのハウツーからのリッピングと書き込み を参照してください。

2
quack quixote

何が起こっているのかわかりませんが、後でソースとターゲットを比較してみましたか?

多分:

od -c source > source.txt
od -c target > target.txt
diff source target

これによりかなり大きなファイルが生成されると思いますが、diff出力がどれほど役立つかはわかりませんが、少なくともファイルが同じかどうかについての答えが得られるはずです。

マシン上で「FileVault」または何かを実行していますか?それがこの種のものに影響を与える可能性があるかどうかわかりませんか?

Ddは他のタイプのバイナリファイルで動作しますか? ( '/ bin/ls'を別のファイルにコピーして、それでも機能するかどうかを確認してください)

0
monojohnny

バイナリファイルを比較するには、diffではなくcmpを使用します。

それでも16進で比較したい場合

diff <(od -c source) <(od -c target)

すでに書き込み、ISOから検証したCDを使用してこれをテストし、元のISOをISOと比較します。

抽出したすべての画像が同じであるかどうかを知ることは有用でした。

また、/ dev/disk1が正しく表示されません。これは、CDドライブですか?

836114432も797MBですが、使用しているディスクにも意味がありますか?

0
user23307

価値があるものは何でも、これはdiskutilが現在ドライブにあるディスクについて私に言うことです:

      Device Identifier:        disk1
   Device Node:              /dev/disk1
   Part Of Whole:            disk1
   Device / Media Name:      MATSHITA DVD-R UJ-868

   Volume Name:              West Side Story
   Escaped with Unicode:     West%FF%FE%20%00Side%FF%FE%20%00Story

   Mounted:                  No

   File System:              CD-DA
   Type:                     cddafs
   Name:                     CD Audio

   Partition Type:           CD_partition_scheme
   Bootable:                 Not bootable
   Media Type:               
   Protocol:                 SATA
   SMART Status:             Not Supported

   Total Size:               836.1 MB (836112480 Bytes) (1633032 512-Byte-Blocks + 96 Byte(s))
   Volume Free Space:        0 B (0 Bytes) (exactly 0 512-Byte-Blocks)

   Read-Only Media:          Yes
   Read-Only Volume:         Not applicable (not mounted)
   Ejectable:                Yes

   Whole:                    Yes
   Internal:                 Yes
   OS 9 Drivers:             No
   Low Level Format:         Not Supported

   Optical Drive Type:       CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-R, DVD-R DL, DVD-RW, DVD+R, DVD+R DL, DVD+RW
   Optical Media Type:       CD-ROM
   Optical Media Erasable:   No
0
znice