シュウジマブログ

Apple製品,技術系の話をするブログ

Mac/LinuxでmicroSDのRaspberry Piイメージを丸ごとコピーしてバックアップ

Raspberry Piといえど,長く使っていれば,いろんな設定,いろんなパッケージの導入など,簡単に再構築できない状態になっていきます.

そんなRaspberry Piのイメージ全体をバックアップすることで,いざという時に備えておくことをお勧めします.

この記事では,バックアップをMac(Linuxも可)で行う手順を示します.

microSDの確認

まずは,Raspberry Piのストレージがからどのように認識されているかを確認します.

microSDをカードリーダなどを使ってMacに挿入します.

Macのターミナルで,

$ df -h

($は入力しない) でデバイスを一覧します.

f:id:masa_flyu:20180712105923p:plain

名前などから判断して、microSDを探します.

一番左の列に書かれている

/dev/diskXsX

(Xは任意の数字が入る) のうち、sXを除いた部分

/dev/diskX (これはコマンドではない)

を後で使用するので,覚えておきます.

micro SDからMac/PCにコピーする

$ sudo dd if=/dev/rdiskX of=(好きなディレクトリ+ファイル名) bs=1m

($は入力しない) で丸ごとコピーできます.

  • ※diskの前にrを打っていることに注意.これを忘れると遅くなる.
  • ※bs=1mを打ち忘れないように注意.これを忘れると非常に遅くなる.

例)

$ sudo dd if=/dev/rdisk8 of=~/RasPi.img bs=1m

コピーの途中経過を知りたい時はCtrl + Tを押します. 再び$の行が出たらコピー終了.

上記の例の場合ホームフォルダ(Macintosh HD/ユーザー/[ユーザー名])に「RasPi.img」というファイルが作られています.

速度は70MB/sくらいで、16GBのmicroSDをちょうど200秒くらいでコピーできました.

コマンドの解説

  • ddはコピーをするコマンド.ifはコピー元,ofはコピー先.
  • diskをrdiskとすると余計なバッファを介さないため,早くなるらしい解説
  • bs=1mは書き込みの単位を1MBごとに行うということ.初期設定だとかなり小さいため,書き込みが遅くなる.

Mac/PCからmicroSDにコピーする(同じSDの場合)

バックアップを,元のSDに書き込む場合です.

異なるSDに書き込む場合(別のRaspberry Piのイメージを入れる場合)はうまくいかないかもしれませんので次節の対応が必要です.

基本的に手順は同じです.ただし,マウント(直接読み取りできる状態)しているとddコマンドを使用できないのでアンマウントします.

コピーの時と同様,最初にdfコマンドを使用し,

$ df -h

ディスクの番号を調べたら,以下のコマンドでアンマウントします.

$ diskutil unmountDisk /dev/diskX 

(Xはdfコマンドで確かめたディスクの番号に置き換える)

MacならデスクトップからmicroSDの表示が消えたはずです.

次にddコマンドを実行します.コピーの時とifとofを入れ変えて,

$ sudo dd if=(イメージのディレクトリ+ファイル名.img)  of=/dev/rdiskX bs=1m

を実行するします.

$ sudo dd if=~/RasPi.img  of=/dev/rdisk8 bs=1m

のようになるはずです.

ちなみにMacだと「...if=」までを打ったあとで,コピーするimgファイルをドラッグアンドドロップするとディレクトリとファイル名を入力してくれます.

コピー速度は9MB/sくらいで,16GBのmicroSDに1500秒くらいでコピーできました.

当ブログをご利用いただく際には免責事項をお読みください。