スキップしてメイン コンテンツに移動

SD カードのバックアップ(rpi-clone の使い方):HomeBridge の設定 その7(raspbery pi の設定 その6)

巷の情報を描き漁ったところ、raspberry pi の SD カードのバックアップや復元は "dd" コマンドで作成するのが基本様です。
ところが私の環境(Mac OS Sierra 10.12.2)ではどうしても復元ができません。
ディスクのイメージは取り出せている様ですが、SD カードに書き込んでもきちんと書き込めていない様です。

Mac では通常 Ext 形式のファイルの読み書きはできませんが、ユーティリティの "ExitFS for Mac"(試用版あり:Windows 版もあります。) というものを利用すれば、マウントして読み書きできる様になります。
で試したところ、オリジナルの SD カードはちゃんとマウントできるのに、コピーした SD カードはファイルシステムが壊れているということでマウントできません。

さらに調べたところ、"rpi-clone" というものを見つけました。
これは Rasspberry pi で動作中のシステムそのものを丸ごとコピーしてくれるアプリです。
Raspberry pi の USB に SD カードリーダーを差し込めば、そこにセットされた SD カードに現在動作しているシステムをそのままクローニングしてくれます。
で、早速試しました。

ダウンロードなどは上記のサイトから行ってそのまま適当なディレクトリにコピーするだけです。
私は Mac でダウンロードし、raspberry pi から nfs でマウントしてあるディレクトリに置いて、そのまま raspberry pi にコピー。
その後に nfs はアンマウントしておかないと、nfs マウントした先までコピーされてしまう(コピー中のファイルを眺めていて気がついて、慌てて中止してやり直しました(汗))ので注意してください。

rpi-clone の使い方

オプションの -f はコピー先の SD カードをフォーマットしてくれます。
-v は動作の状況を逐一表示させます。
事前に /dev/ の下を確認し、USBアダプタをつないだ後と比較して、USBアダプタ(クローン先のSDカード)のデバイス名を確認してください。
以下の例ではフォーマット済みのSDカードにコピーするので、イニシャライズして良いか聞いてきています。
何か書き込まれているSDカードの場合、マウントされたディスクの下のディレクトリを消して良いかとかのメッセージが表示されますので、デバイス名を確認して "yes" を入力してください。

pi@raspberrypi:~ $ sudo rpi-clone /dev/sda -f -v

Forcing a partition initialization of destination disk sda
The existing destination disk 'sda' partitions are:
Disk /dev/sda: 15523MB
Partition Table: msdos

Number  Start   End      Size     Type     File system  Flags
 1      4.19MB  15523MB  15519MB  primary  fat32        lba

*** All data on destination disk sda will be overwritten! ***

Do you want to initialize the destination disk /dev/sda? (yes/no): yes

ここで “yes” を入力


Imaging the partition structure, copying 1187 megabytes...

この後しばらく反応がありませんが、準備が終わると以下のメッセージが表示されます。

1187+0 レコード入力
1187+0 レコード出力
1244659712 バイト (1.2 GB) コピーされました、 187.358 秒、 6.6 MB/秒
Running fsck on /dev/sda1...
Sizing partition 2 (root partition) to use all SD card space...
mke2fs 1.42.12 (29-Aug-2014)
Found a dos partition table in /dev/sda2
Creating filesystem with 3501982 4k blocks and 876544 inodes
Filesystem UUID: 7c3669f7-e817-4e9f-83dd-75624f77ce90
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done                          
Writing inode tables: done                          
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done  


/dev/sda is initialized and resized.  Its partitions are:
Disk /dev/sda: 15523MB
Partition Table: msdos

Number  Start   End      Size     Type     File system  Flags
 1      4.19MB  1179MB   1175MB   primary  fat32        lba
 2      1179MB  15523MB  14344MB  primary  ext4

e2label: Attempt to read block from filesystem resulted in short read while trying to open /dev/mmcblk0p2
Couldn't find valid filesystem superblock.

Your booted /dev/mmcblk0p2 rootfs existing label:
You may enter a label for the destination rootfs /dev/sda2:

ここでは単にリターンした方が良さそうです。

======= Clone Summary ========
Clone mode               :  rsync all files to sda root file system
Clone destination disk   :  sda
Clone destination rootfs :  /dev/sda2 (no label) on /mnt/clone
Clone destination bootfs :  /dev/sda1 on /mnt/clone/boot
Verbose mode             :  on
===============================

Final check, is it Ok to proceed with the clone (yes/no)?: yes

最終確認に “yes” を入力すれば、コピーを開始して、コピーしているファイルがズラーっと表示されます。
私は長時間なんの反応もないのは嫌なので、表示させていますが、表示がうざったいという人は "-v" のオプションは指定しないでください。

=> Mounting /dev/sda2 (no label) on /mnt/clone
=> Mounting /dev/sda1 on /mnt/clone/boot
===============================
Starting the filesystem rsync to sda
(This may take several minutes)...sending incremental file list
./
LightStatus
bin/
bin/bash
bin/bunzip2

これで無事にコピーが作成され、ちゃんと起動させることが出来ました。
dd でのバックアップで悩んでいる方は試す価値があるはずです。

ただ何故か、Noobs でインストールした SD カードは上手くクローニング出来ていません。
普通に jessie のディスクイメージからインストールした SD カードはクローニング出来てます。
ただし、Raspberry pi 3 で作成する分には問題ありませんが、Raspberry pi Zero で作成しようとすると、途中でハングアップします。
処理負荷に耐えられないのでしょう。






コメント

このブログの人気の投稿

Apple ID の変更方法

2017/06/10 :追記

Apple ID の変更方法が変更されました。
以下の最新情報をご確認下さい。

アップルIDの変更

Apple ID をキャリアのメールアドレスなどで作成し、その後にキャリアのメールアドレスを変更してしまい、困っている方が多い様です。
皆さん Apple ID に利用しているメールアドレスを変更すれば、iPhone に使用している Apple ID のメールアドレスも自動的に変更されるものと、勘違いしている様に思います。

また、Apple ID はキャリアのものと勘違いしているのか、キャリアを変更したのだから、Apple ID もそのまま、次のキャリアメールのアドレスになると思っている方も、おられるようです。

Apple ID はあくまでもAppleが発行するIDです。
キャリアとは無関係で、キャリアにそのIDに関する情報が渡ることもありませんし、キャリアの情報がAppleに渡ることもありません。

IDに使用するメールアドレスを変更したいのであれば、自分でAppleのウェブサイトで手続きする必要があります。

https://appleid.apple.com/ja_JP

にアクセスすると、「Apple ID を管理」というボタンがあります。
そこで、現在の(あるいは勝手に変更してしまう以前の)メールアドレスでログインし、手続きをします。
ここで、新しく利用したいメールアドレスを追加すると、本人確認のメールがそのメールに届くので、メールに記載されているURLにアクセスすると、承認されます。
メールアドレスが承認されると、そのメールアドレスをIDに登録し直せます。

最終的にIDのメールアドレス変更直前に、iPhone(該当 iOS 機器やMac 全て)の iCloud と iTunes & App Store から一度ログアウトしてください。
その際に、iPhone にデータを残す必要はありません。
新しいメールアドレスの ID でログインすればまた同期されてデータが戻ります。
残してしまうと、再同期の際に間違ってマージしてしまい、データが二重登録される可能性があります。
もっとも再同期の際に間違えて、iPhone の(何もない)データで、iCloud を上書きすると、全てのデータが失われるので、それよりはマシですけど。

なお、使用…

iPhone を日常使う上での注意(ちょっとした不具合を解消するには)

先日はバックアップの重要性について書きましたが、今日は日常の注意を書いて見たいと思います。
まずは充電の方法から。 皆さん、充電時にはどんなことに注意していますか?
充電は、できるだけバッテリーを使い切るぐらいまで行わず、できれば80〜90%で終了させましょう・・・・なんてやっていませんか?
以前にも充電について書きましたが、基本的には「気にする事は無い!」です。
好きな時に充電をし、好きな時に終えれば良いです。
上記の注意は「ニッケル系」のバッテリー、つまり市販の単三型などの充電式バッテリーについての注意です。昔はニッケルカドミウム、今ではニッケル水素のバッテリーですね。
これは、時々リフレッシュさせる必要があります(昔の人工衛星も年に2回ほどリフレッシュ運用というものを行っていました)。
しかし、現在携帯電話に使用しているリチウムイオン系のバッテリーでは其の様な事は必要ありません。
と言うより、ニッケル系の様なリフレッシュ運用はかえってバッテリーの寿命を縮める(充放電回数を無意味に増やす)だけです。
バッテリー一般の注意である、充電中に熱を持たない様に注意する(寝る時に布団や枕に覆われた状態で充電するなど)こと、電子機器一般の注意である日向や暖房機の前に放置しない、などを守れば十分です。
何故かは良く分かりませんが、昔の iOS では充電時のマークが、稲妻マーク(充電中)とプラグマーク(充電器に接続されているが充電はされていない:充電は終了している)に分かれていました。
今は同じ稲妻マークだけですが、ひょっとしたらプラグマークになるとあわてて充電器から外そうとする人がいるのを懸念しての仕様変更かもしれません。
基本的に「充電器に接続されている」「Wi-Fi に接続されている」「スリープ状態にある」という三つの条件を満たしていれば、1日に一回「iCloud による自動バックアップ」が実行されます。
一番条件の揃いやすいのは就寝時ですよね?
つまり少なくとも寝る前に充電を開始して、朝まで放置しましょうというのがアップルの考え方。その間にバックアップしておきますよという事ですね。

さてその寝る前にあなたは何かしていますか? 私はほぼ毎日、寝る前には動作しているアプリを全て終了させています。
「何のため?」それは
「メモリを解放するため」です。 メモリを解放するアプリ…

同期とバックアップ

どうも iPhone や iPod Touch 、 iPad などで iTunes や iCloud との同期設定をきちんと行わず、バックアップなども行っていない方が多く居られる様です。
また、同期やバックアップすると、メールの設定や連絡先などのデータが無くなる、とかいうデマに振り回され、怖がっている方も多い様です。
そこで出来るだけ簡単に、その必要性とやり方を、書いておこうと思います。


まずバックアップの必要性。 これは何も言う事は無いはずです。
万が一 iPhone が故障したり、紛失したりした場合、このバックアップが無いと、全てのデータを失います。
バックアップが有れば、新しい iPhone でも、バックアップ時点の状態に戻せます。
バージョンアップ時も同じですし、新型への機種変の時も同じです。
バックアップが無ければ、初期状態から設定し直さなければいけません。
しかしバックアップを取った後に、受信したMMSメールや写真は、失います。
なので、出来るだけこまめにバックアップをする必要があります。
理想的には毎日行うことです。

次に同期。CDから iTunes に入れた音楽、逆に iPhone で購入した音楽、アプリなどは同期作業によって iPhone に入れたり iTunes にバックアップしたりします。
写真や動画なども同じです。
好きなものを持ち歩いたりするのであれば、同期は必要ですね。
同期の作業は、その始めのステップとして、バックアップを行いますから、バックアップのためにも、必要な作業となります。


現在は iCloud のサービスもあり、同期も重要項目です。
同期とは二つ以上のものを、同じ状態に保つ作業です。
現在の iPhone であれば、iCloud をその同期の中心にし、個々の機械(パソコンや iPhone )が同期を取ります。

iCloud は常に最新の状態が保たれます。
必要であれば、パソコンから iCloud のウェブサイトにアクセスして、利用することもできます。
しかしなぜか、iOS 機器からは、通常の iCloud のウェブ利用はできません。

連絡先などは、iCloud を利用する事で、グループ分けなどが簡単に出来ます。
こちらもなぜか iOS 上では、グループ分けの作業は出来ないのですが、iCloud で行ったグループ分けは利用出来ます。
ウェブサイト上で…