りなっくすとらずぱい!

Raspberry Pi初心者に向けた各コマンドの説明、プログラムの作り方について紹介しています!

【Raspberry Pi】SDカードを丸ごとバックアップする方法について

f:id:ibuquicallig:20191206010028p:plain

この記事では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)を多く公開しているサイトですので今後も目にする機会は多いかと思います。

インストール、起動

ダウンロードが完了したらファイルを開き、順に進めていきインストールします。デスクトップにショートカットを作成しておくと作業しやすいですね。

アプリが起動できることを確認したら次の工程へ進みます。

f:id:ibuquicallig:20191206010138p:plain

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に挿して動作確認を行ってください。

間違えてReadボタンを押してしまうと、指定したファイルに現在のSDカードのデータがバックアップされてしまう(元のファイルは消える)ので十分注意してください!

どのタイミングでバックアップするべき?

電源を落としたり、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版もダウンロードできるのでいずれ紹介したいと思います。