nandroid backup したイメージからファイルを抽出できた

Last edited on 2011/04/30 (土) - 21:41
nandroid リストア画面

私のHT-03Aはnandroid restore すると起動しないので、ドコモ版のROMに戻せなくなってしまった。nandroid backup はしたが、「羅針盤」や着信音のファイルバックアップを取っていなかったので、これらは永久に失われたかと思っていたが、復活させる方法がわかった。

前提条件として以下が必要である。

・リカバリーイメージを Cyanogen Recovery 1.4 に書き換えている
・nandroid backup が取ってある

具体的な方法は以下の通り。

1.リカバリーモードで起動し、コンソールに入る
2.PCとつなぎ、adb shell する
3.mound sdcard (sdカードをマウントする)
4.nandroid backup したイメージからファイルを展開するためのディレクトリを作成し、そこに cd する
5. /sbin/unyaffs <nandroid backup system.img or data.img file>

5. では、/sdcard/nandroid の中のバックアップフォルダの中にある、system.img または、data.img のファイル名をフルパスで指定する。ファイルを展開する場所は、unyaffs を実行したディレクトリと決まっているようなので、どこで実行するか注意が必要。

上記は、nandroid が restore するときに実際にやっていることを手動でやったに過ぎない。nandroid は/system パーティションと /data パーティション については、backup時に yaffs2image コマンドでイメージファイルを作り、restore時に unyaffs で元に戻している。

ちなみに YAFFS (Yet Another Flash File System) はNAND Flash メモリ用のファイルシステムだそうだ。

これによって、SDカード上にドコモROMの/system 以下が展開できたので、ドコモROMに入っていた「羅針盤」アプリと着信音、通知音などを復活させることができた。

応用例として、HTC がサイトで配布しているAndroid 1.6のシステムイメージ をunyaffs すれば /system 以下のファイルツリーが得られる。その中身をカスタマイズして、再度 ZIPで固めてから署名をして自分用のカスタムROMを作る方法が、ここに書いてある。

[GUIDE] How to create a your own ROM