3

Хорошо, я, вероятно, здесь идиот, но я пишу утилиту для копирования ISO, которая на самом деле представляет собой просто графический интерфейс, надетый поверх dd, и я не могу уговорить эту вещь, чтобы производить некоррупционные ISO на Snow Leopard. Я пробовал следующие варианты (все с /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

во всех четырех случаях, щелкнув по произведенному iso, я получаю всплывающее окно, которое говорит:"Следующие образы дисков не могут быть прочитаны" и выводит список файлов. Если это используется, вывод (по крайней мере, для первого варианта команды):

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

Есть идеи? Я читаю справочные страницы, вариант 1 определенно выглядит так, как будто он должен производить ISO из указанного компакт-диска

5 ответов5

3

Для CD-ROM используйте /dev/disk1s0 а не /dev/disk1 .

/dev/disk1 будет обращаться к необработанным 2352-байтовым блокам, что полезно, если вы читаете аудио-CD. На CD-ROM 2048 из 2352 байтов используются для данных, а большинство остальных - для исправления ошибок. Когда вы читаете /dev/disk1s0 , он будет использовать коды исправления ошибок, чтобы исправить любые ошибки, если это возможно, и вернуть (возможно исправленные) 2048 байтов данных каждого блока, что и требуется для образа ISO.

Обратите внимание, что это отличается для DVD-ROM, где вы будете использовать /dev/disk1 . DVD-ROM использует другую схему исправления ошибок, которая больше распределяет данные по диску для обеспечения лучшей устойчивости к ошибкам. Не существует отдельного имени устройства, которое можно использовать для чтения данных DVD с включенными кодами исправления ошибок.

2

Аудио CD, как правило, не копируются с dd и хранятся как ISO. Данные аудио CD (CDDA) расположены ближе к дорожкам на грампластинке, спирально внутри, с пропусками, отмечающими границы. Они не содержат файловой системы.

Вместо этого данные аудио CD обычно копируются такими программами, как cdrdao или cdparanoia. Вместо файла ISO аудио CD обычно хранятся в виде пар 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

См. Разрыв и Сжигание из командной строки с практическими рекомендациями для более подробной информации.

0

Не уверен, что происходит, но пытались ли вы сравнить источник и цель впоследствии?

Может быть:

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

Я предполагаю, что это сгенерирует довольно большие файлы, и я не уверен, насколько полезным будет вывод diff - но, по крайней мере, он должен дать ответ относительно того, являются ли файлы одинаковыми или нет.

У вас работает FileVault или что-то еще на вашем компьютере? Не уверен, что это может повлиять на этот тип вещей?

Работает ли dd с другими типами бинарных файлов? (попробуйте скопировать '/bin/ls' в другой файл и посмотреть, работает ли он по-прежнему?)

0

для сравнения бинарных файлов используйте cmp, а не diff ...

если вы все еще хотите сравнить их в шестнадцатеричном

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

Я бы проверил это на компакт-диске, который вы уже записали и проверили из iso, а затем сравнил исходный iso с вашим iso.

было бы полезно узнать, были ли все извлеченные изображения одинаковыми или нет.

также /dev /disk1 выглядит неправильно, вы уверены, что это CD-диск?

836114432 также 797MB, имеет ли это смысл для диска, который вы используете?

0

Что бы это ни стоило, вот что 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .