回復から暗号化を削除する


10

G900T(klte)でCyanogenMod 12を毎晩実行しています。デフォルトの暗号化パスワードを除いて、すべてがうまく機能します。デフォルトの暗号化パスワードは、私の電話を起動ループさせます。

データをフォーマットして出荷時設定にリセットしました/dataが、まだ暗号化されてと表示され/dev/dm-0ます。

暗号化を解除するために実行できるコマンドはありますか?私はデータを気にしません、私はそれがすべて消えて欲しいです。/dataCyanogenModで起動できるように、ディスクにプレーンテキストで保存されている内部ストレージに戻したいだけです。

adb shellこれらのパーティションの暗号化を削除するにはどうすればよいですか?


フラッシュしたのはどのリカバリーですか?
Jordy19、2015

1
チーム勝利回復プロジェクト(TWRP)
Naftuli Kay

新しいROMをフラッシュすることで暗号化を解除できることをここで読みましたが、それがあなたのケースで機能するかどうかはわかりませんが、試す価値はあります。
Jordy19、2015

うまくいきませんでした。手動でdd if=/dev/zeroデータパーティションをフォーマットしようとしています。
Naftuli Kay、2015

回答:


12

私にとっての答えはいくつかのことでしたが、私は一つが本当に鍵だと思います。

「リカバリ」コマンドを使用して、仲間

これは、CyanogenModの/ AOSPのrecoveryプログラムを使用して、ユーザーデータをワイプし、暗号化を無効にします。(Stack Overflowのこの回答にあります)リカバリを起動してから、コンピューターから実行します

adb shell recovery --wipe_data --set_filesystem_encryption=off

スマートフォンがシステムで再起動し、予定どおりに機能するはずです。

電話から実行する必要がある場合(つまり、近くにコンピューターがない場合adb):

recovery --wipe_data --set_filesystem_encryption=off

ワイプして暗号化を無効にし、システムを再起動します。

他のすべてが失敗した場合

上記の方法が機能しないか、シナリオに当てはまらない限り、この方法を使用しないでください。

ファイルシステム暗号化用のLUKSヘッダーを破棄する

  1. としてシェルにドロップできる回復が必要なrootので、TWRPは私の場合に機能します。
  2. 内をuserdata見回してパーティションを見つけます/dev/block/platform/*/by-name/userdata
  3. 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、お使いの電話は異なります。

  4. ext4使用してそのパーティションを再フォーマットしmake_ext4fs $PATH_TO_YOUR_USERDATAます。

    エラーが発生する可能性がありますが、通常は内部の「SDカード」が見つからないことに関連しています。これは問題ありません。

このすべての後、回復を再度再起動し、安全のために出荷時設定へのリセットを実行します。

なぜこれが機能するのですか?

工場出荷時の状態にリセットしただけでは何も起こらないように見えましたが、電話にはまだLUKSパーティションが表示されていました。これは、LUKSヘッダーがまだディスクレベルに存在し、ext4パーティションがその上にオーバーレイされたためだと思います。なんらかの理由で、Androidはext4パーティションよりもLUKSパーティションの検出を優先し、それをマウントしようとします(そして成功します)。

ここから先

(何をしているのかわかっている場合はsystem、ROMを最初から消去してインストールすることもできますここでも、この投稿に含まれている情報を使用して何をしたとしても、私は責任を負いません。

klteG900T(Samsung Galaxy S5 T-Mobile)で働いた。あなたのマイレージは異なる場合があります。


そのような方法で動作しました(dd / make_ext4fsオプション)。-再起動すると、TWRPリカバリでパスワードが要求され、高度なフォーマットオプションが機能しませんでした-しかし、通常のデータパーティションフォーマットを実行すると機能しました。-パスワードの入力を求められることなく、再起動してリカバリを開始できました。:-)
BrainSlugs83 2016

1
Naftuli、あなたは命の恩人です!カスタムリカバリ(TWRP)が原因で暗号化できなかったため、S6エッジ(SM-G925F)がデッドブートループになっています。ストックリカバリによって暗号化が行われていると思います。「暗号化が終了していません。出荷時設定にリセットして再起動してください」と何度も言っていました。私は株式の回復をフラッシュしようとさえしました、それは起動しませんでした(おそらく間違ったものですが私のデバイスにラベルが付けられています)。全体の在庫romも良くありませんでした(適切なものを見つけることができませんでした。私が見つけたものはodinによって拒否されました)。最後に、私はあなたがここで言ったすべてをしました、そして、ddコマンドは最終的にトリックをしました。どうもありがとう!
Mixaz 2016

recoveryコマンドは私のために動作していないようでした。私はからそれを呼ばれるADB ShellTWRP回復。私の主な問題は、USBデバッグが有効になっておらず、/system破損しているため、起動して有効にできないことです。また、ディスクの暗号化がオンになっていて、fastboot flash system system.zip正しく動作しないようです。
anon58192932

1
あなたは私の日を救ってくれました。3時間後、Huawei P8 LiteにlineageOS 14.1をインストールしようとすると、常に暗号化に失敗したというメッセージが表示さddれ、最後にコマンドを入力すると、操作を終了できます。ありがとうございました!
Matteo De Felice

ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata言います: lrwxrwxrwx 1 root root 21 Sep 16 06:04 /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata -> /dev/block/mmcblk0p26 df -h /dev/block/mmcblk0p26言います: `` `使用されているファイルシステムのサイズ利用可能な使用率%が/ dev / block / mmcblk0p26にマウントされました10.5G 27.2M 10.5G 0%/ data`` ``だから私はそうしましたdd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512 か?
LarS

8

Moto G 3rd Gen(オスプレイ)では、リカバリーの呼び出しもLUKSヘッダーのワイピングも(パーティションの最初と最後で)機能しませんでした-Cyanogen Modの起動時に暗号化パスワードを入力する必要がありましたが、その後「暗号化エラー」メッセージが表示されました。

TWRP 3.0.1リカバリの[Wipe]セクションに[Format Data]オプションがあることがわかりました。これにより、完全な出荷時設定へのリセットが行われ、暗号化も無効になります。

魅力のように働いた。まともなTWRPバージョン(Flashifyなどで簡単にフラッシュできる)にアクセスできる場合は、まずこれを試してください。


1
ありがとうございました。シンプルなソリューションが機能するのに、なぜ複雑なソリューションを採用するのですか?
ピーターゴードン

そのオプションの私の唯一の問題は、テキストがあなたのSDカードも拭くであろうことを暗示していることでした。カードに簡単にアクセスできる場合は、それほど問題にはなりません。:-|
zaTricky 2017年

1
@pgmann: 'format data'オプションがTWRPに登場したのはそう遠くないからです。確かに、それらの返信が提供された2014年にはありませんでした。また、dd既存のコマンドでは暗号化をワイプできませんが、TWRPコマンドでは「データのフォーマット」オプションを使用できないため、このアプローチはスクリプトの暗号化をクリーニングするときにも役立ちます。彼らが将来そのようなコマンドを追加することを願っています...
Mixaz '

5

TWRPなどを使用している場合。

  • TWRPに再起動し(パスワードを入力)、Dataパーティションのバックアップを外部SDまたはOTG Drive
  • TWRP(パスワードをキャンセル)で再起動し、データパーティションをフォーマットして f2fs
  • 手順1で作成したバックアップを新しく作成したDataパーティションに復元する
  • 再起動システム
  • すべてのデータが保存され、暗号化が削除されたAndroidをお楽しみください

4

Naftuli Tzvi Kayが提供するLUKSヘッダーを手動でワイプするソリューションは、1つの点を除いて、うまく機能します。どのように依存するかはわかりませんが、私の経験では、AndroidはLUKSヘッダーをパーティションの最後に保持しています。そして、それがあなたのデバイスに当てはまる場合、実行しています

dd if=/dev/zero of=$PATH_TO_YOUR_USERDATA bs=4096 count=512

ヘッダー(フッター?)はパーティションの先頭のみをワイプするため、削除に失敗します。もちろん、パーティション全体を消去することもできますが、これには不必要に長い時間がかかります。そう...

(任意のサイズの)パーティションの最後をワイプするには、上記のコマンドを実行した後、次のコマンドも実行します。

dd bs=512 if=/dev/zero of=$PATH_TO_YOUR_USERDATA count=22048 seek=$((`blockdev --getsz $PATH_TO_YOUR_USERDATA` - 22048))

ヘッダーのみをワイプしても問題ありませんでした(暗号化が完了していないためか、不明です)。しかし、カルマが低いために回答を賛成します))
Mixaz '11 / 11/16

4

カスタム回復を使用していますか?

はいの場合は、カスタムリカバリ(私の場合はTWRP)で起動した後、次のようにします。

  1. リカバリの開始時に、デバイスを復号化しないでください。パスワードまたはパターンを尋ねられたら、キャンセルをタップするだけです。

  2. データパーティションをワイプします。(システムを変更するためにスワイプした後のTWRP:ワイプ>詳細設定>チェック:データ)

もちろん、これでuserdataパーティション内のすべてが消去されます。暗号化キーを含むデータパーティション全体が再フォーマットされます


1
データパーティションをワイプすると、パーティションの先頭にあるファイルシステムヘッダーが削除されます。Androidの多くのバージョンでは、LUKS / dm-cryptヘッダーがファイルシステムの最後にあるため、機能しません。
Naftuli Kay、2016

1
試しましたか?それはちょうど私のネクサス9で働いていたので
Majal

1
なぜ誰かがこの回答に反対票を投じたのかわからないが、これは機能し、暗号化を取り除く最も簡単な方法である
ArtDeineka

1
これは私がやったことです-そしてそれはうまくいきました。:)
zaTricky

1
こっちも一緒。魅力のように働いた。
Linus Kleen 2017

1

私の投票は@Naftuli Kayと他の役立つ回答にここに行きますが、共有したい情報があります。コメントには長すぎるので、それを答えにしてみましょう。

TWRPの一部のバージョン以降、ワイプ画面に「フォーマットデータ」項目があります。/ dataパーティションをワイプするだけでなく、暗号化されたFSマターも処理します。私の場合、Samsung J500H上のTWRP 3.0.2は暗号化をワイプし、それが唯一の方法でした。出荷時設定へのリセットは機能しません。CMR(J500HのCM 12.1 romに沿って構築されているもの)も暗号化をクリアできません。

--set_encrypted_filesystem=off TWRPとCMRでも機能しませんでした。

OpenRecoveryScript https://twrp.me/faq/openrecoveryscript.htmlによるデータの消去も機能しない

Android 3.0は/ sdcardを/ data / mediaにマップし始めたので、/ dataワイプを/ data / mediaではなく再加工する必要があり、rm -rf代わりに実行されました。詳細については、https://twrp.me/faq/datamedia.htmlを参照してください。

「データのフォーマット」を実行すると、回復ログ(/ cache / recover / logまたは/ cache / recovery / last_log)に次の情報が表示されることがあります。

I:Successfully wiped crypto footer.

/ dataをでフォーマットする前make_ext4fs。TWRPコードには、LUKSヘッダーの場所を見つけるためのチェックがいくつかあります。私の場合は、フッターにあります。

TWRPソースを調べましたが、コマンドラインから「データをフォーマット」する方法が見つからなかったため(カスタムromのアプリケーションから暗号化ストレージをワイプする必要があります)、このオプションはUIにのみ存在します。唯一の例外を除いて-とTWRPがコンパイルされている場合TW_OEM_BUILD、それはその後、有効になります工場出荷時設定へのリセットの「フォーマットデータ」、暗号ヘッダをクリアし、データパーティションをフォーマットし、それ以外の場合は、通常使用する書式設定oをワット/を拭きます。

私はddゼロで試してみるつもりです、実際にはTWRPは暗号化をクリアするために同じことをします、それはちょうどヘッダーを探す場所を正確に知っているだけです))


0

上記のNaftuli Tzvi Kayの答えを拡張すると...

まあ、その答えで正しい場所に行きましたが、私の電話(CM11 / i9300)にはコマンドがなくrecoverywipeコマンドには暗号化を無効にするオプションがありませんでした。だから私はコマンドのソースコードのrecoveryコメントを見ることから手動でそれをしました(上記の質問にリンクされた回答からリンクされたファイル):

* The recovery tool communicates with the main system through /cache files.
* /cache/recovery/command - INPUT - command line for tool, one arg per line
* /cache/recovery/log - OUTPUT - combined log file from recovery run(s)
* /cache/recovery/intent - OUTPUT - intent that was passed in
*
* The arguments which may be supplied in the recovery.command file:
* --send_intent=anystring - write the text out to recovery.intent
* --update_package=path - verify install an OTA package file
* --wipe_data - erase user data (and cache), then reboot
* --wipe_cache - wipe cache (but not user data), then reboot
* --set_encrypted_filesystem=on|off - enables / diasables encrypted fs
*
* After completing, we remove /cache/recovery/command and reboot.

手動で(adbで)するには:

  1. rootアクセスでプロンプトを表示します。例:
    $ adb shell
    > su
    
  2. echoまたはviを使用して、次のテキストをファイル/ cache / recovery / commandに挿入します。

    --wipe_data
    --set_encrypted_filesystem=off
    

    echo -e "--wipe_data\n--set_encrypted_filesystem=off" > /cache/recovery/command

  3. CWMまたは同様のリカバリで再起動します

素敵なプログレスバーが表示され、それが完了するはずです:)


リカバリコマンドはTWRP(3.1.1)で使用でき、/ cache / recovery /コマンドまたはコマンドラインの両方で--wipe-dataおよび--set_encrypted_filesystem = offを受け入れますが、データパーティションへのアクセスが要求されるとすぐに( --wipe-data)TWRPはパスワードを要求します。そのため、最新のTWRPでは機能しません。「データのフォーマット」は代わりに機能します。他の投稿を参照してください
Mixaz

0

最良の作業方法は、TWRPを起動し、組み込みのターミナルを使用してext2(ターミナルから直接サポートされる唯一の方法であるcoz)としてフォーマットし、マウントの下の「ファイルシステムの修復」オプションを使用してパーティションをext4に変更することです。

ext2としてフォーマットするには:

mkfs.ext2 /dev/block/mmcbl0p23 (/ dev / block / platform / * / by-name / userdataを調べて、userdataパーティションの値に置き換えます)

ファイルシステムをext4に変更します。

ワイプ->詳細ワイプ->「データ」を選択->ファイルシステムの修復または変更->ファイルシステムの変更-> EXT4

これで、暗号化が削除され、TWRPから/ dataパーティションをマウントできるようになります。お役に立てれば :)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.