Mac OSX 上でdd コマンドを使って CD-ROM からディスクイメージを取り出す方法のメモ。意外とハマります。
イマドキ dd なんて使うな〜っていう声が聞こえてきそうな気もしますね。
単にCD-ROMを挿入してターミナル上で dd をすると、ディスクがマウントされてしまっているためにエラーになる。
[lain:~/tmp] chiyama% dd if=/dev/disk3s0 of=cdimage.iso bs=10240
dd: /dev/disk3s0: Resource busy
[lain:~/tmp] chiyama% mount
/dev/disk1s2 on / (local, journaled)
devfs on /dev (local)
fdesc on /dev (union)
<volfs> on /.vol
/dev/disk0s2 on /Volumes/Data1 (local, journaled)
/dev/disk2s2 on /Volumes/Data2 (local, journaled)
automount -nsl [265] on /Network (automounted)
automount -fstab [306] on /automount/Servers (automounted)
automount -static [306] on /automount/static (automounted)
/dev/disk3s0 on /Volumes/LDOCE_CD2 (local, nodev, nosuid, read-only)
脊椎反射で umount。
[lain:~/tmp] chiyama% sudo umount /Volumes/LDOCE_CD2
Password:
[lain:~/tmp] chiyama% mount
/dev/disk1s2 on / (local, journaled)
devfs on /dev (local)
fdesc on /dev (union)
<volfs> on /.vol
/dev/disk0s2 on /Volumes/Data1 (local, journaled)
/dev/disk2s2 on /Volumes/Data2 (local, journaled)
automount -nsl [265] on /Network (automounted)
automount -fstab [306] on /automount/Servers (automounted)
automount -static [306] on /automount/static (automounted)
そのまま吸い出し。
[lain:~/tmp] chiyama% dd if=/dev/disk3s0 of=cdimage.iso bs=10240
68655+1 records in
68655+1 records out
703035392 bytes transferred in 299.878767 secs (2344399 bytes/sec)
[lain:~/tmp] chiyama%
It works!!
しかしここで問題発生。このままだと CD-ROM が取り出せないらしい。 F○ck’n OSX!!
umount した事が原因ポイので、手動で mount しなおす。
[lain:~/tmp] chiyama% sudo mount -t cd9660 /dev/disk3s0 /Volumes/LDOCE_CD2
chiyama is not in the sudoers file. This incident will be reported.
[lain:~/tmp] chiyama%
おぉう。/etc/sudoers の編集が必要なので、編集。
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
この行のコメントアウトを外す。その後、再び mount。
[lain:/private/etc] chiyama% sudo mount -t cd9660 /dev/disk3s0 /Volumes/LDOCE_CD2
[lain:/private/etc] chiyama%
上手く行った感じなので、F12 キーを押してディスクを取り出し。ふー。
OSX って、ディスクのマウント周りは気をつけないとハマる事が多い気がする。ネットワークドライブのマウント中に、相手が見えなくなると Finder が反応しなくなるとか。