SDカードの中身全体を,ファイルとしてバックアップ(ラズベリーパイ)

SD カードの全セクタを 1 個のディスクイメージファイル(.img)として保存する.保存したファイルを SD カードに書き戻すことで、システムを復元できる.

書き戻し先には、元の SD カードと同じ容量か、それ以上の容量の SD カードが必要である.

Windows パソコンも使う.

【サイト内の Raspberry Pi 関連ページ】

小型コンピュータ Raspberry Pi について: 別ページ »にまとめ

1. 空き領域を 0 で埋める(ラズベリーパイ本体での操作)

ディスクイメージファイルは、SD カードの未使用領域も含めた全体をコピーしたものである.未使用領域を 0 で埋めておくと、圧縮したときのファイルサイズが小さくなる.

  1. ダミーファイルを作成して、空き領域を 0 で埋める

    次のコマンドを実行.

    空き領域がなくなるまで書き込みが続き、最後に「No space left on device」と表示されて終了する.これは想定どおりの動作である.

    しばらく待つ.

    sudo dd if=/dev/zero of=/home/mydummy bs=1M status=progress
    sync
    
  2. ファイルシステムの使用状況を確認

    使用率が 100% になっている.

    df -h
    
  3. ダミーファイルの削除

    次のコマンドを実行.

    削除後、使用率が元に戻ることを確認する.

    sudo rm -f /home/mydummy
    sync
    df -h
    
  4. ラズベリーパイのシステムを停止する

    次のコマンドを実行.

    停止したことを確認してから、SD カードを抜く.

    sudo shutdown now
    

2. ディスクイメージファイルの作成(Windows パソコンでの操作)

  1. Windows パソコンで,Win32 Disk Imager をインストール

    https://sourceforge.net/projects/win32diskimager/

  2. Windows パソコンに,先ほどの SD カードを挿入する
  3. Windows パソコンで,Win32 Disk Imager を起動する
  4. 「Image File」に、保存先のファイル名(拡張子は .img)を指定する
  5. 「Device」で、SD カードのドライブレターを選ぶ

    ドライブレターの選択を間違えないこと.書き込み操作(Write)を誤って実行すると、選んだドライブの内容が消える.

  6. 「Read」をクリックする

    SD カードの内容がディスクイメージファイルとして保存される.

  7. 終了の確認
  8. ディスクイメージファイルを圧縮する

    SD カードの容量と同じサイズのファイルができるため、圧縮して保存する.空き領域を 0 で埋めてあるので、圧縮率は高くなる.

    Windows での圧縮・展開(解凍)に便利な 7-Zip: 別ページ »で説明

3. 別の方法