Raspberry PiのSDカードをバックアップ/リストアする

現象

Windows環境でRaspberry PiのSDカードを丸ごとバックアップしファイルとして保管し、何かあったらバックアップファイルをSDカードにリストアしたいことがある。このとき、バックアップファイルを表記上同じ容量である別のSDカードにリストアできないことがある。

原因

SDカードは表記上同じ容量でも厳密には容量がバラついている。そのため、大きな容量のSDカードのバックアップデータを小さな容量のSDカードにリストアしようとしたときに失敗してしまう。

対策

以下のようにバックアップファイルを作る。

  • バックアップするSDカードのパーティション領域を少し縮小しておく。例えばRaspbian環境にてGPartedを使って縮小する。
  • Win32DiskImager(Ver.1.0.0以降)をダウンロードし、SDカードをPCに接続してWin32DiskImagerを起動する。
  • 「Read Only Allocated Partitions」をチェックして「Read」する。

こうすると、縮小された有効パーティション領域のみがバックアップされるので、リストア時に失敗しない。
(Win32DiskImagerが古いと「Read Only Allocated Partitions」のチェックボックスが存在しないので新しいものを使うこと。)