dd 在 Snow Leopard 上生成损坏的 ISO 映像(无论是从脚本还是 shell 调用)

dd 在 Snow Leopard 上生成损坏的 ISO 映像(无论是从脚本还是 shell 调用)

好吧,我可能有点傻,但我正在编写一个 ISO 抓取工具,它实际上只是在 dd 之上添加的 GUI,我无法让它在 Snow Leopard 上生成无损坏的 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

在这四种情况下,单击生成的 iso 都会弹出一个窗口,提示“无法读取以下磁盘映像”,并列出文件。如果有用的话,输出(至少对于命令的第一个变体)是:

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

有什么想法吗?我读了手册页,变体 1 似乎肯定应该从指定的 cd 生成一个 iso

答案1

对于 CD-ROM,使用/dev/disk1s0和 而不是/dev/disk1

/dev/disk1将访问原始的 2352 字节块,这在读取音频 CD 时非常有用。在 CD-ROM 上,2352 字节中的 2048 个字节用于数据,其余大部分用于纠错。当您读取时/dev/disk1s0,它将使用错误校正代码来纠正任何可能的错误,并返回每个块的(可能已纠正的) 2048 个数据字节,这正是您对 ISO 映像所需要的。

请注意,这与 DVD-ROM 不同,DVD -ROM 可以使用/dev/disk1。DVD-ROM 使用不同的错误纠正方案,将数据分散到磁盘上,以提供更好的错误恢复能力。没有单独的设备名称可用于读取包含错误纠正代码的 DVD 数据。

答案2

音频 CD 通常不会dd以 ISO 格式进行翻录和存储。音频 CD 数据 (CDDA) 更接近唱片上的音轨,以间隙为界向内螺旋。它们不包含文件系统。

相反,音频 CD 数据通常使用以下程序进行翻录:光盘目录或者偏执狂。音频 CD 通常以 BIN/CUE 对、WAV/CUE 对或每个音轨的单独 WAV 文件的形式存储,而不是 ISO 文件。CUE 文件是包含音轨布局的 ASCII 文本文件,BIN 或 WAV 文件包含实际的音频数据。

偏执狂

# 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 read-cd --read-raw --datafile foo.bin --device ATAPI:0,0,0 --driver generic-mmc-raw foo.toc

查看从命令提示符中抓取和刻录的方法了解更多血腥细节。

答案3

不确定发生了什么,但是您是否尝试过事后比较源和目标?

或许:

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

我猜这会生成一些相当大的文件,而且我不确定差异输出有多大用处 - 但至少它应该提供文件是否相同的答案。

您的机器上运行着“FileVault”或其他程序吗?不确定这是否会影响这类事情?

dd 能与其他类型的二进制文件一起使用吗?(尝试将'/bin/ls'复制到另一个文件,看看它是否仍然有效?)

答案4

无论它值多少钱,以下是 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

相关内容