この記事ではRaspberry Piに使用しているSDカードの中身を丸ごとすべてバックアップする方法について解説しています。Raspberry Pi以外のPCを使うことになり、OSはWindows
の想定です。
この記事内で、必要なフリーソフトのダウンロードと、バックアップ、最後にバックアップしたファイルをSDカードに書き込んで動作確認して終了です。バックアップを取るのに慣れれば10分もかからないです。
この記事でできること
Win32 Disk Imager
というフリーソフトを使ってSDカードを丸ごとバックアップする- バックアップしたファイルを再びSDカードに書き込む。
手順
Win32 Disk Imagerインストールする
インストール
まずは必要なソフトをインストールします。今回使うソフトはWin32 Disk Imager
というもので他の方を見ているとRaspberry PiのSDカードのバックアップをとるためにかなりメジャーに使用されているようです。(というか私もこれで安定してしまって他の手段を試せていないです。。。(笑))
以下のリンク先からダウンロードします。画面上部のDownload
ボタンをクリックして5秒ほど待つとダウンロードが開始します。
英語だらけのサイトですが、安全なサイトですのでご安心を!このサイトはオープンソースソフトウェア(OSS)を多く公開しているサイトですので今後も目にする機会は多いかと思います。
インストール、起動
ダウンロードが完了したらファイルを開き、順に進めていきインストールします。デスクトップにショートカットを作成しておくと作業しやすいですね。
アプリが起動できることを確認したら次の工程へ進みます。
Raspberry Piの電源を落とす
SDカードをRaspberry Piから取り外すために電源を落とします。
電源を落とすためのコマンドはいっぱいありますが、以下のコマンドが短くて使いやすいと思います。Raspberry Piの再起動、シャットダウンには管理者権限が必要になるのでsudo
と一緒に使うかroot
でログインします。
$ sudo halt
コマンドを実行して10秒ほどでRaspberry Pi本体の緑色のLEDが5回点滅します。これで電源が切れて安全にUSBケーブルを抜くことができます。電源用のUSBケーブルを抜いたのちにSDカードを抜きます。
PCにバックアップする
それではバックアップを取っていきます。Raspberry PiのOSを焼いたときに使ったので問題ないと思いますが、SDカードをPCに接続するためのポートもしくはUSBカードリーダーなどが必要になってきます。
Win32 Disk Imagerを起動する
まずは先ほどインストールしたアプリを起動します。先に起動しておくことでSDカードを挿したときに自動的に認識してくれます。
SDカードを挿す
アプリを起動していない場合や、挿入したSDカード以外のドライブが選択されている場合は変更してください。どのドライブを選択しているかを参照するにはアプリ右上のデバイス
の部分を見てください。
バックアップ用の設定にする
まずはImage File
の入力欄にバックアップとしてPCに保存したいファイル名
を入力します。ファイル名の拡張子は.img
としておきます。デスクトップに保存したい場合は、C:/Users/[ユーザー名]/Desktop/ファイル名.img
とします。入力欄右のフォルダアイコンをクリックするとエクスプローラーで場所を指定できます。
ファイル名
についてですが、好きな名前を付けてしまって問題ありませんが、いつ、どういう状態のバックアップなのか分かるようにしておくと後から復元するときの参考になります。例えば私の場合は以下のようなフォーマットで命名しています。
# [端末を識別できる追番等]_[年月日]_[備考].img
raspi3_20191204_OSアップグレード前.img
家には複数台Raspberry Piがあるので購入した順に端末名とホスト名をraspi1
,raspi2
....としています。後はこれを分かりやすいフォルダ名で分かりやすい場所に保管しておきます(笑)
バックアップ実行
それではバックアップを実行します。Hash
の部分に関してはNone
のままおいておきます。
画面下部のRead
というボタンを押すだけでSDカードのデータを丸ごと指定したファイルに保存することができます。簡単ですね!準備するほうが時間かかります🤔
数分かかりますが、1時間かかったりすることはないので気軽にバックアップを取ることができますね。
バックアップをSDカードに書き込む
バックアップは上記の方法で完了です。ほぼ同じ手順でファイルをSDカードに書き込むことができます。
Image File
の部分に先ほどバックアップしたファイル(もしくは復元したい状態のイメージファイル)を選択します。
Device
にはファイルを書き込む先のSDカードのドライブレターを選択します。Cドライブのような重要なドライブは表示されないようになっている様子なので安心です。
最後にWrite
ボタンを押すと書き込みが開始します。バックアップ時と同じ時間かかりますのでじっと待ちましょう。。。
書き込みが完了したらRaspberry Piに挿して動作確認を行ってください。
どのタイミングでバックアップするべき?
電源を落としたり、SDカードを抜き差ししたり物理的な作業が面倒なバックアップですが、私は以下の頻度でSDカードのバックアップを取っています。ほとんど月一のバックアップしかとらないことになりますね。
月一回の定期バックアップ
/home
以下のRaspberry Pi内のみで完結するバックアップに関しては毎日取って7世代管理しているのですが、SDカードごとの丸っとバックアップは月一程度で問題ないと思います。そうそう簡単に壊れるものではないですし、SDカード自体が壊れていたらバックアップ取っても意味ないですからね。。
初期セットアップ直後
以下のような初期セットアップを行った直後にとります。
機体ごとに用意しておくことによって、バックアップから復元して即使い始めることができます。必要なのはパッケージ、OSのアップデートぐらいでしょうか。
現在稼働しているRaspberry Piのバックアップイメージを新しいものに使用するときはIPアドレスが競合するので注意してください。現在稼働しているものの電源を一時的に落とすか、HDMIケーブルを直接挿して操作するなどして、固定IPアドレスとホスト名などを変更する必要があります。
OS更新前
OS更新をしても大きな不具合が発生したことは自分はありませんが念のためにバックアップをとっておきましょう。
不具合が発生した時
SDカードの破損や本体の不具合、プログラムのバグなんかが発生するとCUI上で以下の文字列が表示されて処理が続行できなくなることがあります。
Segumentation Fault
プログラムの問題であればアップデートや修正で何とかなりますが、ハードウェア(特にSDカード)の問題であれば修復不能なことがあります。原因を探るために私は極力この状態のバックアップをとってから、SDカードを交換するようにしています。
MacOSの場合
Etcher
というフリーのアプリを使って同等のことができるかもしれません。
Windows, Linux版もダウンロードできるのでいずれ紹介したいと思います。