画面が割れて操作できない時にTWRPでデータを取り出す方法

この記事の賞味期限は切れています。
投稿から1年以上経過しているため、情報が古い可能性があります。

当サイトで紹介するMODやアプリなどの内、システムファイルの改変やシステムに深く関わるものはroot化やリカバリが必須となります(root化の必要なしと明記している場合は除く)。導入は自己責任で行ってください。また、技適の無い機器の使用は自己責任です。

これまで使ってきたZ2 D6503を疲れからか、不幸にもコンクリートに落としてしまい、画面が割れてしまいました。

そこで、画面が割れてタッチ操作ができなくなった時に
TWRPでデータをバックアップする方法をメモがてら紹介します。



この方法はTWRPがインストールされている状態でないと出来ません。
入っていない状態でもroot化さえされていれば後からインストールできますが、
プロンプトで許可をしないといけないようにしていると手間がかかります。
※一度USBデバッグを許可したPCでないといけません。

1. TWRP 2.8.0.0以前を使っている場合

adb shellで

su
mkdir /cache/recovery
echo set tw_storage_path /external_sd >> /cache/recovery/openrecoveryscript
echo backup SDBOM backup_D6503 >> /cache/recovery/openrecoveryscript

と一行ずつ実行し、adb reboot recoveryなどでTWRPを起動すれば
system、data、bootが外部SDカードの/TWRP/BACKUPS/[デバイスID]/backup_D6503に保存されます。
/external_sdを/sdcard1に変えないといけない端末もあるので注意してください。

2. TWRP 2.8.0.0以降を使っている場合

TWRP 2.8.0.0以降では、上記のopenrecoveryscriptを使う方法以外に、
adb shellでコマンドを実行できる機能もあるので、
TWRPを起動した状態のadb shellで

twrp set tw_storage_path /external_sd
twrp backup SDBOM backup_D6503

のように一行ずつ実行してバックアップすることもできます。
twrpコマンドについて詳しくはこの記事に書いています。

3. 何をやっている?

上記のコマンドでは、まずバックアップを保存する場所を内部ストレージから外部SDカードに変更しています。
これでSDカードにバックアップが保存されるので、SDカードを抜き差しするだけで他の端末でリストアできます。

twrp set tw_storage_path /external_sd

次に、system、data、bootをバックアップしています。
backup_D6503はフォルダ名なので、わかりやすい名前にすると良いです。

twrp backup SDBOM backup_D6503

4. TWRPでadb shellを使うには

TWRPを起動した状態でadb shellを使うには、どのドライバを使うか指定しないといけないことがあります。
ドライバが自動判定されてない場合は、PC→管理→デバイスマネージャーで
ほかのデバイスに黄色いマークがついたものが表示されています。

これを右クリックして、「ドライバー ソフトウェアの更新(P)…」をクリックします。

すると、下の画像のようなウインドウが表示されます。
「コンピューターを参照してドライバー ソフトウェアを検索します(R)」をクリックします。

次の画面では、「コンピューター上のデバイス ドライバーの一覧から選択します(L)」をクリックします。

どの端末のadbドライバを使うか選び、「次へ」をクリックします。
種類はこのページでダウンロードできるadbドライバのファイル名で判別できます。
例えばZ2の場合はファイル名がsa0111adb.infなので、ここで選ぶのはSony sa0111です。

さらに一覧が表示されます。
バージョンが違うものがあることがありますが、何でも良いのでADB Interface Driverを選び、「次へ」をクリックします。

警告が出ますが、「はい」をクリックしてください。

下の画像のようになれば、完了です。
これで普段通りTWRPを起動している状態でもadb shellを使えるようになります。

5. 内部ストレージのファイルをPCにコピーする

TWRPでsystemやdataはバックアップできたものの、
これでは/data/mediaにある内部ストレージのファイルはバックアップできていません。
TWRP 2.8.0.0以降ではMTP機能もあるので、MTP接続して取り出すことができます。
TWRPを起動した状態のadb shellで

twrp set tw_mtp_enabled 1

と実行すればMTP接続を有効に出来ます。
また、単純にシステムが起動している状態で

adb pull /sdcard0

を実行することでPCにコピーすることも出来ます。
この場合ファイル名に日本語などが入っていると、文字化けしてしまうので注意してください。
また、中に何も入っていないフォルダは自動的に除外され、コピーされません。



コメントフォーム右上の「ログイン」メニューで各種SNSアカウントでログインできます。
匿名でコメントしたい場合は、名前とメールアドレスを入力した後「アカウントを作成せず投稿する」にチェックを入れてください。
Disqusに登録すると、返信通知を受け取れます。