Raspberry Pi のSDカードバックアップ

Raspberry Pi のSDカードバックアップをするには、MacOS XやLinuxのddコマンドを使います。

MacOS Xでの方法を紹介します。バックアップ対象のSDカードは次のようなパーティションになっていました。raspberry_pi_20140218.imgという名前で保存します。対象のSDカードは /dev/disk1なのですが、rをつけた/dev/rdisk1を使った方が高速になるということなので、ifのオプションへ/dev/rdisk1を指定しています。

$ sudo diskutil list
Password:
/dev/disk0
(略)
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.8 GB    disk1
   1:             Windows_FAT_32 boot                    58.7 MB    disk1s1
   2:                      Linux                         15.7 GB    disk1s2
$ sudo dd if=/dev/rdisk1 of=raspberry_pi_20140218.img bs=1m

リストアするには、RPi-sd card builder v1.2 (SD card setup – Raspberry Pi – Mac | All the (*)Ware)を使いました。買ってきたばかりのSDカードは下記のようなパーティションとなっていました。

$ sudo diskutil list
Password:
/dev/disk0
(略)
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.8 GB    disk1
   1:             Windows_FAT_32 NO NAME                 15.8 GB    disk1s1

そのままMacBook PROへ差し込んで、RPi-sd card builder v1.2を使って書き込んだところ、バックアップしたパーティションがリストアできました。

追記: ddコマンドを使うときは、/dev/disk1s1 をアンマウントして /dev/rdisk1 へ書き込みをします。デバイス名が disk1s1 からスライスを示す s1 は取り除き、書き込みを高速化するために r を頭につけて、rdisk1 になる点に注意しましょう。また、間違えてパソコンのHDDへ書き込まないように! 処理が完了したらdiskutil ejectを使って取り出します。

$ sudo diskutil unmount /dev/disk1s1
$ sudo dd bs=1m if=raspberry_pi_20140218.img of=/dev/rdisk1
$ sudo diskutil eject /dev/rdisk1
同じタグの記事: Raspberry Pi
同じタグの記事: SDカード
同じタグの記事: ラズベリーパイ
同じカテゴリの記事: General