ddコマンドを使って、SDカードをイメージにする
Linux(Ubuntu14.10)で、SDカードの内容をそのままバックアップし、いつでも元に戻せるようにしたい。
と申しますのも、RaspberryPiをアレコレ触っていると、設定ファイル編集やらアプリインストールを繰り返すと思います。
GPIOを使った電子制御とか、サーバーとか様々に利用したいと思うのですが、使い続けていると初期状態からかけ離れた設定になってしまいがちです。
そこで、目的に応じてSDカードのバックアップをとっておき、目的に合わせて入れ替えられたら便利です。
そんな方法を考えて実施した手順メモを公開することにします。
目次
- SDカードのセットアップ(目的の状態に設定する)
- SDカードをLinuxパソコンにセットしてデバイス名を確認
- ddコマンドでSDカードをまるごとイメージ化
- イメージをSDカードに戻す
- 気づいたこと
SDカードのセットアップ(目的の状態に設定する)
RaspberryPiで自分がバックアップを取りたい状態の設定を行う。
今回はこの環境までセットアップ
SDカードをLinuxパソコンにセットしてデバイス名を確認
下記のコマンドで表示されるメッセージから、デバイス名を読み解く。
おそらく、だいたい下記のようなメッセージが残っているはず
私の環境ではmmcblk0というのがデバイス名らしいです。
$ dmesg ... [33442.005767] ath5k: ath5k_hw_get_isr: ISR: 0x00000080 IMR: 0x00000000 [38626.087602] mmc0: new SDHC card at address 59b4 [38626.088641] mmcblk0: mmc0:59b4 SDC 14.7 GiB [38626.094319] mmcblk0: p1 p2 < p5 p6 > p3 [38626.591599] EXT4-fs (mmcblk0p3): recovery complete ...
ddコマンドでSDカードをまるごとイメージ化
ddコマンドでイメージ化
※コマンドを実行すると、shell上には何も表示されずだんまりになるが処理は走っている
$ sudo dd if=/dev/mmcblk0 of=/home/k/rpi_img/image00.dd
イメージをSDカードに戻す
イメージ化の手順を踏むと、SDカードがまるまるファイルとして保存される。
それをSDカードに戻す方法も書いておく。
イメージ化した時とパラメータが逆になる。
$ sudo dd if=/home/k/rpi_img/image00.dd of=/dev/mmcblk0
気づいたこと
ddコマンドでSDカードのバックアップを取りましたが・・・・・・ものすごく時間がかかりました。
16GBのものを使ったんですが、イメージ化、SDカードに戻す、それぞれについて2時間弱の時間を必要としました。
すぐにバックアップに戻すって使い方には向いていないですね。
※手順がわかっているんなら、OSのインストールからやったほうが早いかも。