OSXでの ddによる書き出し
あらかじめやっておくこと
diskutil list
で書き出し先ディスクを確認する.
MBP:/ user$ diskutil list
(略)
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.7 GB disk3
1: Windows_FAT_32 boot 62.9 MB disk3s1
2: Linux 3.9 GB disk3s2
外付け SDカードリーダーを使用しているが,disk3になっていた.パーティション構成から想像が付く方もいるかもしれないが,Raspberry Piである.
接続した際に自動的にマウントされるが,このまま ddを走らせてもエラーになるのでアンマウントする必要がある.
単一のパーティションを umountする diskutil unmount
でも
ディスクそのものを認識させなくする diskutil eject
でもなく,
diskutil unmountDisk
を用いること.
MBP:/ user$ diskutil unmountDisk /dev/disk3
Unmount of all volumes on disk3 was successful
ddについて
ディスク名の先頭に rを付けることにより Unbuffered Modeになる.
また bs=1m
などでブロックサイズを 1m程度で設定すること.
この二つを設定しないと,とてつもなく遅くなる.
MBP:/ user$ sudo dd if=some_image_file.img of=/dev/rdisk3 bs=1m
dd中の進行状況の確認方法.
別コンソールを用意するなどして killallでシグナル INFOを送ると dd側のプロセスでログを吐く.
OSX以外では USR1らしい.
MBP:/ user$ sudo killall -INFO dd
73+0 records in
72+0 records out
75497472 bytes transferred in 11.541480 secs (6541403 bytes/sec)
もしくは Ctrl-T.別コンソールが要らないのでこっちの方がお手軽か.
書き込み完了後
マウント可能な場合は自動的にマウントされ,OSX独自の隠しファイルが作成されてしまう.
念のため消した上で,今度は diskutil eject
する.
MBP:/ user$ rm -rf /Volumes/DISK_NAME/.*
rm: "." and ".." may not be removed
MBP:/ user$ diskutil eject /dev/disk3
Disk /dev/disk3 ejected
以上.