ClockWorkWodでNexus 5のROMのバックアップを取る。PCに保存する。そしてリストアする

携帯のROMを頻繁に入れ替えるようになってから、カスタムリカバリ(ClockWorkMod)をいれてROMのバックアップをとるようになりました。
私の使っているNexus 5はSDカード非対応なので、systemと同じドライブにバックアップを置いておくしかなく、なんとなく不安…。
というわけで、バックアップを端末の外(=pc)に保存したり、そこからリストアする手順をまとめてみました。

環境

  • phone 端末
    • H/W: Nexus 5
    • OS: CyanogenMod 11-20140609-SNAPSHOT-M7-hammerhead
    • カスタムリカバリ: ClockWorkMod 6.0.5.0
  • PC

手順A. ClockWorkModでとったバックアップをPCに回収する

(1) ClockWorkModでバックアップを取る [phone]

  • ClockWorkModでROMのバックアップを取ります。

(2) phoneをPCに接続する

  • つないで下さい。

(3) /sdcard 配下にバックアップを移動する [pc]

  • ClockWorkModのバックアップデータは、直接adb pull出来ない場所に配置されるので、一旦/sdcard 配下にコピーします。ターミナルを起動し、以下のようにコマンドを実行します。
(バックアップデータのフォルダ名を"2014-07-09-07.40.47"とした場合の例です。これ以降のコマンド例も同様)
> adb shell 
$ mkdir -p /sdcard/cmbackup/2014-07-09-07.40.47
$ su
# cp data/media/clockworkmod/backup/2014-07-09-07.40.47/* /sdcard/cmbackup/2014-07-09-07.40.47
# exit
$ exit

(4) バックアップをPCにコピーする [pc]

  • pcのホームディレクトリ配下のフォルダにバックアップをコピーします。ターミナルで、以下のようにコマンドを実行します。
> mkdir -p ~/cmbackup/2014-07-09-07.40.47
> adb pull /sdcard/cmbackup/2014-07-09-07.40.47 ~/cmbackup/2014-07-09-07.40.47

手順B. PCに回収してあるClockWorkModのバックアップからリストアする

(1) phoneをPCに接続する

  • つないで下さい。

(2) phoneの、/sdcard 配下にバックアップを転送する [pc]

  • バックアップをとったときと同じ場所にデータを配置する必要がありますが、やはりadb pushで直接配置することはできません。このため、一旦/sdcard 配下に置きます。ターミナルを起動し、以下のようにコマンドを実行します。
> adb shell
$ mkdir -p /sdcard/cmbackup/2014-07-09-07.40.47
$ exit
> adb push ~/cmbackup/2014-07-09-07.40.47 /sdcard/cmbackup/2014-07-09-07.40.47

(3) data/media/clockworkmod/backup 配下にバックアップを移動する [pc]

  • バックアップをとったときと同じ場所にデータを配置します。ターミナルで、以下のようにコマンドを実行します。
> adb shell
$ su
# mkdir /data/media/clockworkmod/backup/2014-07-09-07.40.47
# cp /sdcard/cmbackup/2014-07-09-07.40.47/* /data/media/clockworkmod/backup/2014-07-09-07.40.47
# exit
$ exit

(4) リストアする[phone]

  • ClockWorkModからリストアの操作を行って下さい。