Raspberry Pi は究極のおもちゃです。ユーザーのほとんどは、実験をしたり、途中で動作しているインストールを壊したりするのが好きです。ただし、それがどれほど楽しいものであるにもかかわらず、誰もが実験が終了した後に戻ることができる、機能するベースライン構成を保持することを好みます。
もう 1 つの一般的なシナリオは、新しい Raspberry Pi ベースのプロジェクトや Linux ディストリビューションについて知り、ぜひ試してみたいと思っているとしましょう。問題は、マイクロ SD カードが 1 枚しかなく、すでにそのカードに有効なインストールが存在しており、それを失いたくないことです。
上記のどちらのシナリオでも、動作中の Raspberry Pi インストールの正確でビットごとに同一のバックアップを作成しておくと役立ちます。そこで今日は、Raspberry Pi マイクロ SD カードをイメージ ファイルにクローンまたはバックアップし、実験終了後にイメージを復元する方法を学びます。 Windows、Linux、そして最後に macOS での方法を説明します。
注意: この方法では、SD カードの総容量とまったく同じサイズのイメージ ファイルが作成されます。たとえば、16 GB の SD カードをお持ちの場合、インストールが実際に使用している容量に関係なく、作成されるイメージ ファイルも 16 GB になります。画像サイズを縮小する方法がありますが、それは Linux でのみ機能し、チュートリアルの後半で説明します。
Windowsの説明書
Raspberry Pi SDカードのバックアップ
1. USB または内蔵カード リーダーを使用して、クローンを作成する microSD カードを PC に挿入します。
2. Win32DiskImager をダウンロードしてインストールし、実行します。次のような画面が表示されます。
3.右上隅の「デバイス」セクションで、 SD カードのドライブを選択します。私の場合はD:
です。次に、その左側にあるフォルダーアイコンをクリックし、画像ファイルを保存する場所とファイル名を選択します。ファイル名としてraspbian_backup_19_oct.img
を選択しました。好きなファイル名を選択できますが、 .img
拡張子を付けることをお勧めします。完了したら、 「読み取り」ボタンをクリックします。
4.これにより、指定した場所に SD カードのクローンが作成されます。コピーが完了するまでにしばらく時間がかかるため、この間は PC の電源を切ったり、スリープ状態にしたりしないでください。完了すると、「読み取り成功」というメッセージが表示されます。
これで、カードを Raspberry Pi に再度挿入して問題を解決したり、新しいディストリビューションをインストールしたりすることが自由にできるようになりました。再生が終了し、バックアップしたイメージを復元したい場合は、次のセクションの手順に従ってください。
Raspberry Pi SDカードを復元する
マイクロ SD カードを PC に挿入し、Win32DiskImager を開きます。前に作成したイメージ ファイルを選択し、 [デバイス]セクションで適切なドライブを選択します。次に、 「書き込み」ボタンをクリックします。画像は、コピーした時点の状態で SD カードに保存されます。
繰り返しになりますが、SD カードのサイズによっては、このプロセスに時間がかかります。復元が完了したら、PC からカードを取り外し、Raspberry Pi に再度挿入します。
Linux の説明書
Raspberry Pi SDカードのバックアップ
1. USB または内蔵カード リーダーを使用して、SD カードを PC に挿入します。次に、ターミナルウィンドウを開き、コマンドsudo fdisk -l
を入力します。これにより、システム上に存在するすべてのファイルシステムがリストされます。
2. SD カードのデバイス名を調べてください。私は 16 GB の SD カードを持っているので、サイズが 14.9 GB のデバイス/dev/sdb
であることが簡単にわかります。これは、デバイス上の実際のストレージが常に宣伝されているストレージよりわずかに少ないためです。このデバイス名を書き留めます。
3. dd
コマンドを使用して、イメージをハードディスクに書き込みます。例えば:
sudo dd if=/dev/sdb of=~/raspbian_backup.img
ここで、 ifパラメータ (入力ファイル) はクローンを作成するファイルを指定します。私の場合、それは/dev/sdb
で、これは SD カードのデバイス名です。お使いのデバイス名に置き換えてください。 ofパラメータ (出力ファイル) は、書き込むファイル名を指定します。ホームディレクトリにあるraspbian_backup.img
を選択しました。
注:ここで間違ったパラメータを入力すると、ドライブ上のデータが破壊される可能性があるため、 dd
コマンドを実行する前に注意してパラメータを再確認してください。
クローン作成が完了するまでコマンドの出力は表示されません。SD カードのサイズによっては、時間がかかる場合があります。完了すると、次のような出力が表示されます。
これで、SD カードを取り外して Pi で使用できるようになります。バックアップしたイメージを復元する準備ができたら、次の手順に従ってください。
Raspberry Pi SDカードを復元する
1. SD カードを PC に挿入します。イメージを復元する前に、SD カードのパーティションがアンマウントされていることを確認することが重要です。これを確認するには、ターミナルを開き、コマンドsudo mount | grep sdb
を実行します。 sudo mount | grep sdb
。ここで、 sdb
SD カードのデバイス名に置き換えます。
空の出力が表示された場合は、何もする必要はありません。マウントされたパーティションがいくつかある場合は、リストされているパーティションをアンマウントします。例えば:
sudo umount /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4
2. dd
コマンドを使用して、イメージ ファイルを SD カードに書き込みます。
sudo dd if=~/raspbian_backup.img of=/dev/sdb
これは、クローンを作成するために使用したコマンドに似ていますが、逆になります。今回は、入力ファイルはバックアップif
、出力ファイルof
SD カード デバイスです。
ここで間違ったコマンドを入力すると永久的なデータ損失が発生するため、パラメータを再度確認してください。
書き込みが完了すると、dd からの確認が表示されます。その後、PC からカードを取り外し、Raspberry Pi に再度挿入します。
macOS の説明書
Raspberry Pi SDカードのバックアップ
1. USB または内蔵カード リーダーを使用して、SD カードを Mac に挿入します。次に、ターミナルウィンドウを開き、コマンドdiskutil list
を入力します。 SD カードのデバイス ID を確認してください。たとえば、私のものは/dev/disk3
として表示されます。
2. SD カードをアンマウントします。
diskutil unmountDisk /dev/disk3
ここで、 disk3
手順 1 で特定した SD カードの名前に置き換えます。
3. dd
コマンドを使用して、イメージをハードディスクに書き込みます。例えば:
sudo dd if=/dev/disk3 of=~/raspbian_backup.img
ここで、 if
パラメータ (入力ファイル) はクローンを作成するファイルを指定します。私の場合、それは/dev/disk3
で、これは SD カードのデバイス名です。お使いのデバイス名に置き換えてください。 of
パラメータ (出力ファイル) は、書き込むファイル名を指定します。ホームディレクトリにあるraspbian_backup.img
を選択しました。
注: ここで間違ったパラメータを入力すると、ドライブ上のデータが破壊される可能性があるため、 dd
コマンドを実行する前に注意してパラメータを再確認してください。
クローン作成が完了するまでコマンドの出力は表示されません。SD カードのサイズによっては、時間がかかる場合があります。その後、SD カードを取り外して、Pi で使用できます。バックアップしたイメージを復元する準備ができたら、次の手順に従ってください。
Raspberry Pi SDカードを復元する
1. SD カードを Mac に挿入します。ターミナルウィンドウを開き、次のコマンドを使用してアンマウントします。
diskutil unmountDisk /dev/disk3
ここで、 disk3
前のセクションの手順 1 で特定した SD の名前に置き換えます。
2. dd
コマンドを使用して、イメージ ファイルを SD カードに書き込みます。
sudo dd if=~/raspbian_backup.img of=/dev/disk3
これは、クローンを作成するために使用したコマンドに似ていますが、逆になります。今回は、入力ファイルはバックアップif
、出力ファイルof
SD カード デバイスです。
ここで間違ったコマンドを入力すると永久的なデータ損失が発生するため、パラメータを再度確認してください。
書き込みが完了すると、dd からの確認が表示されます。その後、Mac からカードを取り外し、Raspberry Pi に再度挿入します。
クローン作成された Raspberry Pi イメージを縮小する方法 (Linux のみ)
記事の冒頭で述べたように、これらの方法では SD カードの総容量に等しいイメージ ファイルが作成されます。たとえば、容量 32 GB の SD カードをクローンすると、カード上で実際に 5 GB しか使用されていない場合でも、32 GB のイメージ ファイルが作成されます。このようなイメージが 1 つまたは 2 つしかない場合は問題ありませんが、それ以上あると (特に SSD を使用している場合)、スペース不足が発生します。
この制限を回避するには、 PiShrink を使用します。これは、 Pi イメージを自動的に縮小し、起動時に SD カードの最大サイズに自動的にサイズ変更するスクリプトです。これにより、画像を SD カードにコピーし直す作業も大幅に高速化されます。
残念ながら、このツールは Linux でのみ使用できます。 Linux がインストールされていない場合は、最新バージョンの Ubuntu または Linux Mint を仮想マシンにインストールし、そこでこのスクリプトを実行できます。使用方法は次のとおりです。
1. PiShrink スクリプトをダウンロードし、実行可能にします。ターミナルで、次の 2 つのコマンドを入力します。
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
chmod +x ./pishrink.sh
2. スクリプトを実行し、その後に縮小するイメージの名前を入力します。
sudo ./pishrink.sh ./raspbian_backup.img
3.画像が縮小されます。完了したら、上記の方法で説明したように、縮小したイメージ ファイルを SD カードに書き込むことができます。たとえば、Linux では次のようになります。
sudo dd if=~/raspbian_backup.img of=/dev/sdb
関連項目: 電子メールで Raspberry Pi でコマンドを実行する方法
Raspberry Pi SD カードのクローンを作成して簡単に復元
以上で、既存の Raspberry Pi インストールのクローン作成、つまりバックアップと復元については完了です。新しいディストリビューションやクールなプロジェクトを試すために、Raspberry Pi 上で完全に動作する Raspbian OS のインストールを失う必要はもうありません。インストールをバックアップし、少しいじって、完了したらイメージを復元するだけです。これ以上簡単なことはありません。
Raspberry Pi インストールをバックアップするこの方法はいかがでしたか?もっと良い方法がありますか?質問がありますか?コメント?以下のコメントセクションでお知らせください。