私にとっての答えはいくつかのことでしたが、私は一つが本当に鍵だと思います。
「リカバリ」コマンドを使用して、仲間
これは、CyanogenModの/ AOSPのrecovery
プログラムを使用して、ユーザーデータをワイプし、暗号化を無効にします。(Stack Overflowのこの回答にあります)リカバリを起動してから、コンピューターから実行します
adb shell recovery --wipe_data --set_filesystem_encryption=off
スマートフォンがシステムで再起動し、予定どおりに機能するはずです。
電話から実行する必要がある場合(つまり、近くにコンピューターがない場合adb
):
recovery --wipe_data --set_filesystem_encryption=off
ワイプして暗号化を無効にし、システムを再起動します。
他のすべてが失敗した場合
上記の方法が機能しないか、シナリオに当てはまらない限り、この方法を使用しないでください。
ファイルシステム暗号化用のLUKSヘッダーを破棄する
- としてシェルにドロップできる回復が必要な
root
ので、TWRPは私の場合に機能します。
- 内を
userdata
見回してパーティションを見つけます/dev/block/platform/*/by-name/userdata
。
LUKSヘッダーを消去するために、そのパーティションの先頭にゼロのトンを書きます:
dd if=/dev/zero of=$PATH_TO_YOUR_USERDATA bs=4096 count=512
私はあなたがこのコマンドで何をするかについて責任を負いません。これを台無しにした場合、ブートローダーやその他の重要なパーティションを上書きして、電話をブリックすることができます。それ$PATH_TO_YOUR_USERDATA
が実際のuserdata
パーティションを指していることを確認してください。そのパーティションのサイズをチェックして、正しいものをワイプしていることを確認します。私userdata
は16 GBの電話を使用していますが、10.4 GB で、残りは専用ですがsystem
、お使いの電話は異なります。
をext4
使用してそのパーティションを再フォーマットしmake_ext4fs $PATH_TO_YOUR_USERDATA
ます。
エラーが発生する可能性がありますが、通常は内部の「SDカード」が見つからないことに関連しています。これは問題ありません。
このすべての後、回復を再度再起動し、安全のために出荷時設定へのリセットを実行します。
なぜこれが機能するのですか?
工場出荷時の状態にリセットしただけでは何も起こらないように見えましたが、電話にはまだLUKSパーティションが表示されていました。これは、LUKSヘッダーがまだディスクレベルに存在し、ext4パーティションがその上にオーバーレイされたためだと思います。なんらかの理由で、Androidはext4パーティションよりもLUKSパーティションの検出を優先し、それをマウントしようとします(そして成功します)。
ここから先
(何をしているのかわかっている場合はsystem
、ROMを最初から消去してインストールすることもできます。ここでも、この投稿に含まれている情報を使用して何をしたとしても、私は責任を負いません。)
klte
G900T(Samsung Galaxy S5 T-Mobile)で働いた。あなたのマイレージは異なる場合があります。