Saya menjalankan CyanogenMod 12 setiap malam di G900T (klte) saya. Semuanya berfungsi dengan baik kecuali untuk kata sandi enkripsi default, yang menyebabkan ponsel saya untuk boot loop.
Saya telah memformat data dan melakukan reset pabrik, tetapi /data
masih dienkripsi dan muncul sebagai /dev/dm-0
.
Apakah ada perintah yang bisa saya lakukan untuk menghapus enkripsi? Saya tidak peduli dengan data, saya ingin semuanya hilang. Saya hanya ingin kembali untuk memiliki /data
dan penyimpanan internal yang disimpan dalam plaintext pada disk untuk dapat boot ke CyanogenMod.
Bagaimana saya bisa menggunakan adb shell
untuk menghapus enkripsi pada partisi ini?
recovery-mode
encryption
Naftuli Kay
sumber
sumber
dd if=/dev/zero
dan kemudian memformat partisi data.Jawaban:
Jawaban untuk saya melibatkan sejumlah hal, tetapi saya pikir satu adalah kunci.
Gunakan Perintah "pemulihan", bro
Ini menggunakan program CyanogenMod / AOSP
recovery
untuk menghapus data pengguna dan menonaktifkan enkripsi. (ditemukan dalam jawaban ini di Stack Overflow ) Boot ke pemulihan Anda, dan kemudian dari komputer Anda berjalanPonsel Anda akan reboot ke sistem dan semoga semuanya berjalan sesuai rencana.
Jika Anda perlu menjalankannya dari telepon itu sendiri (yaitu: Anda tidak memiliki komputer terdekat
adb
):Seharusnya menghapus, menonaktifkan enkripsi, dan reboot sistem.
If All Else Fails
Jangan gunakan metode ini kecuali cara di atas tidak berfungsi atau berlaku untuk skenario Anda.
Hancurkan Header LUKS untuk Enkripsi Filesystem
root
beralih ke shell , jadi TWRP berfungsi dalam kasus saya.userdata
partisi dengan melihat sekeliling/dev/block/platform/*/by-name/userdata
.Tulis satu ton nol ke awal partisi itu untuk menghapus header LUKS:
Saya tidak bertanggung jawab atas apa yang Anda lakukan dengan perintah ini. Jika Anda mengacaukannya, Anda dapat merusak ponsel Anda dengan menimpa bootloader Anda atau partisi penting lainnya. Pastikan itu
$PATH_TO_YOUR_USERDATA
menunjuk keuserdata
partisi nyata . Periksa ukuran partisi itu untuk memastikan Anda menghapus hal yang benar. Saya memiliki telepon 16GB danuserdata
10,4GB, dengan sisanya didedikasikansystem
, tetapi telepon Anda akan berbeda.Format ulang partisi itu dengan
ext4
menggunakanmake_ext4fs $PATH_TO_YOUR_USERDATA
.Mungkin ada kesalahan, tetapi biasanya mereka berhubungan dengan tidak dapat menemukan "sdcard," internal ini tidak apa-apa.
Setelah semua ini, reboot pemulihan lagi dan kemudian jalankan reset pabrik hanya untuk aman.
Mengapa ini bekerja?
Cukup melakukan reset pabrik sepertinya tidak melakukan apa-apa untuk saya, ponsel masih akan melihat partisi LUKS di sana. Saya berasumsi bahwa ini adalah karena header LUKS masih ada di tingkat disk dan partisi ext4 hanya overlay di atasnya. Untuk beberapa alasan, Android memprioritaskan deteksi partisi LUKS di atas partisi ext4 dan mencoba (dan berhasil) memasang itu.
Ke mana Pergi dari Sini
(Jika Anda tahu apa yang Anda lakukan, Anda mungkin juga ingin menghapus
system
dan menginstal ROM Anda dari awal. Sekali lagi, saya tidak bertanggung jawab atas apa pun yang Anda lakukan dengan informasi yang terkandung dalam posting ini. )Bekerja untuk saya di
klte
G900T (Samsung Galaxy S5 T-Mobile). Jarak tempuh Anda mungkin beragam.sumber
dd
perintah akhirnya berhasil. Terima kasih banyak!recovery
perintah tampaknya tidak bekerja untuk saya. Aku menelepon dariADB Shell
dalamTWRP
pemulihan. Masalah utama saya adalah bahwa debugging USB tidak diaktifkan dan/system
rusak sehingga saya tidak bisa boot dan mengaktifkannya. Enkripsi disk juga aktif dan sepertinya membuat saya tidak bekerjafastboot flash system system.zip
dengan benar.dd
perintah pada akhirnya saya dapat menyimpulkan operasi. Terima kasih!ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata
mengatakan: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
mengatakan: `` `Ukuran Sistem File yang Digunakan Gunakan% Dipasang di / dev / block / mmcblk0p26 10.5G 27.2M 10.5G 0% / data`` `` jadi saya sudah:dd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512
Apakah itu benar?Pada Moto G 3rd Gen (osprey) saya, tidak memanggil pemulihan atau menghapus header LUKS (pada awal dan akhir partisi) bekerja - saya masih perlu memasukkan kata sandi enkripsi selama boot Cyanogen Mod, kemudian terjebak dengan pesan "kesalahan enkripsi" .
Saya akhirnya menemukan bahwa pemulihan TWRP 3.0.1 saya memiliki opsi "Format Data" di bagian "Wipe". Ini melakukan reset pabrik lengkap yang juga menonaktifkan enkripsi.
Bekerja seperti pesona. Jika Anda memiliki akses ke versi TWRP yang layak (mudah di-flash misalnya dengan Flashify), coba ini dulu.
sumber
dd
pendekatan ini berguna ketika membersihkan enkripsi dalam skrip, karena opsi 'format data' tidak tersedia dalam perintah TWRP, sementara perintah yang ada tidak dapat menghapus enkripsi. Semoga mereka menambahkan perintah seperti itu di masa depan ...Asalkan Anda menggunakan TWRP atau serupa.
Data
partisi ke eksternalSD
atauOTG Drive
f2fs
Data
partisi yang baru dibuatsumber
Solusi untuk secara manual menghapus header LUKS yang disediakan oleh Naftuli Tzvi Kay berfungsi dengan baik, kecuali untuk satu hal. Saya tidak tahu bagaimana ini tergantung, tetapi dalam pengalaman saya, Android membuat header LUKS di akhir partisi. Dan jika itu yang terjadi dengan perangkat Anda, maka jalankan
akan gagal menghapus header (footer?) karena hanya menghapus awal partisi. Seseorang tentu saja dapat menghapus seluruh partisi, tetapi itu akan memakan waktu lama yang tidak perlu. Begitu...
Untuk menghapus bagian akhir partisi (dengan ukuran berapa pun), setelah menjalankan perintah di atas, jalankan perintah ini juga:
sumber
Apakah Anda menggunakan pemulihan khusus?
Jika ya, lakukan ini setelah boot ke pemulihan khusus ( TWRP dalam kasus saya):
Saat pemulihan dimulai, JANGAN dekripsi perangkat . Cukup ketuk Batalkan ketika ditanya kata sandi atau pola.
Bersihkan partisi data. (Pada TWRP setelah menggesek untuk memodifikasi sistem: Hapus> Lanjutan> Periksa: Data)
Ini tentu saja akan menghapus semua yang ada di
userdata
partisi. Seluruh partisi data akan diformat ulang termasuk kunci enkripsi .sumber
Suara saya masuk ke @Naftuli Kay, dan jawaban bermanfaat lainnya di sini, tapi saya punya beberapa info yang ingin saya bagikan. Itu terlalu panjang untuk dikomentari, biarkan itu menjadi jawaban.
Karena beberapa versi TWRP, ada item 'format data' di layar Wipe. Itu tidak hanya menghapus / partisi data, tetapi juga menangani masalah FS terenkripsi. Dalam kasus saya, TWRP 3.0.2 pada Samsung J500H menghapus enkripsi, dan itu satu-satunya cara, reset pabrik tidak berfungsi. CMR (yang sedang dibangun di sepanjang CM 12.1 rom saya untuk J500H) juga tidak dapat menghapus enkripsi.
--set_encrypted_filesystem=off
juga tidak berfungsi di TWRP dan CMR.menghapus data melalui OpenRecoveryScript https://twrp.me/faq/openrecoveryscript.html juga tidak berfungsi
Android 3.0 mulai memetakan / sdcard ke / data / media, sehingga mereka harus mengerjakan ulang / menghapus data untuk tidak / data / media, dan
rm -rf
dilakukan sebagai gantinya. Lihat https://twrp.me/faq/datamedia.html untuk lebih jelasnya.Ketika Anda melakukan 'memformat data' Anda mungkin melihat di log pemulihan (/ cache / recover / log atau / cache / recovery / last_log) info berikut:
sebelum format / data dengan
make_ext4fs
. Kode TWRP memiliki jumlah pemeriksaan untuk menemukan di mana header LUKS berada, dan dalam kasus saya ditemukan di footer.Saya melihat sumber TWRP dan saya belum menemukan cara untuk 'memformat data' dari baris perintah (saya perlu menghapus penyimpanan terenkripsi dari aplikasi di custom rom), jadi opsi ini hanya ada di UI. Dengan satu-satunya pengecualian - jika TWRP dikompilasi dengan
TW_OEM_BUILD
diaktifkan maka akan 'memformat data' pada reset pabrik, menghapus header crypto dan memformat partisi data, jika tidak maka akan menggunakan penghapusan w / o format biasa.Saya akan mencoba
dd
dengan nol, sebenarnya TWRP melakukan hal yang sama untuk menghapus enkripsi, hanya tahu di mana harus mencari header secara tepat))sumber
Memperluas jawaban Naftuli Tzvi Kay di atas ...
baik, jawaban itu membuat saya ke tempat yang tepat, tetapi telepon saya (CM11 / i9300) tidak memiliki
recovery
perintah, danwipe
perintah itu tidak memiliki opsi untuk menonaktifkan enkripsi. Jadi saya melakukannya secara manual dari melihat komentar dalam kode sumber untukrecovery
perintah (file ditautkan dari jawaban yang ditautkan dalam pertanyaan di atas):Jadi untuk melakukannya secara manual (dengan adb):
masukkan teks berikut ke dalam file / cache / recovery / command, baik dengan echo atau vi:
reboot ke CWM atau pemulihan serupa
Anda akan melihat bilah kemajuan yang bagus dan harus dilakukan :)
sumber
Metode kerja terbaik adalah mem-boot ke TWRP dan menggunakan terminal inbuilt untuk memformatnya sebagai ext2 (karena hanya itu yang didukung langsung dari terminal), dan ubah partisi menjadi ext4 menggunakan Opsi "Perbaiki Filesystem" di bawah Mount
Untuk memformat sebagai ext2:
mkfs.ext2 /dev/block/mmcbl0p23
(Pengganti dengan nilai partisi data pengguna Anda dengan melihat-lihat di / dev / block / platform / * / dengan-nama / userdata)Ubah filesystem sebagai ext4:
Wipe -> Wipe Lanjutan -> Pilih "Data" -> Perbaikan atau Ubah Sistem File -> Ubah Sistem File -> EXT4
Sekarang, Anda harus menghapus enkripsi, dan dapat me-mount / partisi data dari TWRP. Semoga ini membantu :)
sumber