Używam CyanogenMod 12 co noc na moim G900T (klte). Wszystko działa świetnie, z wyjątkiem domyślnego hasła szyfrowania, które powoduje, że mój telefon uruchamia się w pętli.
Sformatowałem dane i przywróciłem ustawienia fabryczne, ale /data
nadal jest zaszyfrowane i pokazuje się jako /dev/dm-0
.
Czy istnieje polecenie, które mogę wykonać, aby usunąć szyfrowanie? Nie dbam o dane, chcę, żeby wszystko zniknęło. Chcę tylko wrócić do posiadania /data
i wewnętrznej pamięci przechowywanej w postaci zwykłego tekstu na dysku, aby móc uruchomić się z CyanogenMod.
Jak mogę użyć adb shell
do usunięcia szyfrowania na tych partycjach?
recovery-mode
encryption
Naftuli Kay
źródło
źródło
dd if=/dev/zero
a następnie sformatować partycję danych.Odpowiedzi:
Odpowiedź dotyczyła wielu rzeczy, ale myślę, że jedna jest naprawdę kluczem.
Użyj polecenia „odzyskiwania”, stary
Wykorzystuje to
recovery
program CyanogenMod / AOSP do czyszczenia danych użytkownika i wyłączania szyfrowania. (znalezione w tej odpowiedzi na temat przepełnienia stosu ) Uruchom komputer w celu odzyskania, a następnie uruchom komputerTelefon uruchomi się ponownie w systemie i, mam nadzieję, wszystko powinno działać zgodnie z planem.
Jeśli musisz uruchomić go z samego telefonu (tj .: nie masz komputera w pobliżu
adb
):Powinien wyczyścić, wyłączyć szyfrowanie i zrestartować system.
Jeśli wszystko inne zawiedzie
Nie używaj tej metody, chyba że powyższe nie działa lub nie dotyczy Twojego scenariusza.
Zniszcz nagłówek LUKS do szyfrowania systemu plików
root
, więc TWRP działa w moim przypadku.userdata
partycję, rozglądając się/dev/block/platform/*/by-name/userdata
.Zapisz tonę zer na początku tej partycji, aby wyczyścić nagłówek LUKS:
Nie ponoszę odpowiedzialności za to, co robisz z tym poleceniem. Jeśli to zepsujesz, możesz zepsuć swój telefon, nadpisując program ładujący lub inne krytyczne partycje. Upewnij się, że
$PATH_TO_YOUR_USERDATA
wskazuje na prawdziwąuserdata
partycję. Sprawdź rozmiar tej partycji, aby upewnić się, że czyścisz właściwą rzecz. Mam telefon 16 GB iuserdata
10,4 GB, resztę poświęcamsystem
, ale twój telefon będzie inny.Sformatuj tę partycję jak
ext4
za pomocąmake_ext4fs $PATH_TO_YOUR_USERDATA
.Mogą występować błędy, ale zwykle dotyczą one niemożności znalezienia wewnętrznej „karty SD”, jest to w porządku.
Po tym wszystkim ponownie uruchom odzyskiwanie, a następnie uruchom reset fabryczny, aby być bezpiecznym.
Dlaczego to działa?
Wydaje mi się, że samo przywrócenie ustawień fabrycznych nic nie robi, telefon nadal widziałby tam partycję LUKS. Zakładam, że dzieje się tak, ponieważ nagłówek LUKS nadal istniał na poziomie dysku, a partycja ext4 została właśnie na niego nałożona. Z jakiegoś powodu system Android nadał priorytet wykrywaniu partycji LUKS nad partycją ext4 i próbuje (i udaje się) zamontować tę partycję.
Dokąd pójść stąd
(Jeśli wiesz, co robisz, możesz również wyczyścić
system
i zainstalować pamięć ROM od zera. Ponownie nie biorę odpowiedzialności za nic, co robisz z informacjami zawartymi w tym poście ).Pracował dla mnie na
klte
G900T (Samsung Galaxy S5 T-Mobile). Twój przebieg może się różnić.źródło
dd
dowodzenie w końcu załatwiło sprawę. Wielkie dzięki!recovery
Komenda nie wydają się działać dla mnie. Nazwałem to od powrotuADB Shell
doTWRP
zdrowia. Moim głównym problemem jest to, że debugowanie USB nie jest włączone i/system
jest uszkodzone, więc nie mogę go uruchomić i włączyć. Ponadto szyfrowanie dysku jest włączone i wydaje mi się, że nie mogę działaćfastboot flash system system.zip
poprawnie.dd
poleceniem na końcu mogłem zakończyć operację. Dziękuję Ci!ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata
mówi: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
mówi: `` Użyty rozmiar systemu plików Dostępny Użyj% Zamontowany na / dev / block / mmcblk0p26 10.5G 27,2M 10.5G 0% / data '' więc zrobiłem:dd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512
Czy to prawda?Na mojej Moto G 3. generacji (osprey) nie zadziałało odzyskiwanie ani czyszczenie nagłówka LUKS (na początku i na końcu partycji) - nadal musiałem wprowadzić hasło szyfrowania podczas uruchamiania Cyanogen Mod, a następnie utknąłem na komunikacie „błąd szyfrowania” .
W końcu odkryłem, że moje odzyskiwanie TWRP 3.0.1 ma opcję „Formatuj dane” w sekcji „Wyczyść”. To powoduje całkowite przywrócenie ustawień fabrycznych, co również wyłącza szyfrowanie.
Działa jak urok. Jeśli masz dostęp do przyzwoitej wersji TWRP (łatwo flashowanej np. Za pomocą Flashify), spróbuj tego najpierw.
źródło
dd
podejście jest również przydatne podczas czyszczenia szyfrowania w skryptach, ponieważ opcja „formatuj dane” nie jest dostępna w poleceniach TWRP, podczas gdy istniejące polecenia nie mogą wyczyścić szyfrowania. Mam nadzieję, że dodadzą takie polecenie w przyszłości ...Pod warunkiem, że używasz TWRP lub podobnego.
Data
partycji na zewnętrznymSD
lubOTG Drive
f2fs
Data
partycjiźródło
Rozwiązanie ręcznego czyszczenia nagłówka LUKS dostarczone przez Naftuli Tzvi Kay działa dobrze, z wyjątkiem jednej rzeczy. Nie wiem, od czego to zależy, ale z mojego doświadczenia, Android utrzymuje nagłówek LUKS na KONIEC partycji. A jeśli tak jest w przypadku twojego urządzenia, to działa
nie uda się usunąć nagłówka (stopki?), ponieważ czyści tylko początek partycji. Można oczywiście wyczyścić całą partycję, ale zajęłoby to niepotrzebnie długo. Więc...
Aby wyczyścić koniec partycji (dowolnego rozmiaru), po uruchomieniu powyższej komendy uruchom ją również:
źródło
Czy korzystasz z odzyskiwania niestandardowego?
Jeśli tak, zrób to po uruchomieniu do niestandardowego odzyskiwania ( w moim przypadku TWRP ):
Po rozpoczęciu odzyskiwania NIE odszyfrowuj urządzenia . Po prostu dotknij Anuluj, gdy zostaniesz zapytany o hasło lub wzór.
Wyczyść partycję danych. (W TWRP po przesunięciu w celu zmodyfikowania systemu: Wyczyść> Zaawansowane> Sprawdź: Dane)
To oczyści wszystko z
userdata
partycji. Cała partycja danych zostanie ponownie sformatowana, w tym klucze szyfrowania .źródło
Moje głosy trafiają do @Naftuli Kay i inne pomocne odpowiedzi tutaj, ale mam kilka informacji, którymi chciałbym się podzielić. Na komentarz jest za długi, niech to będzie odpowiedź.
Od czasu niektórych wersji TWRP na ekranie czyszczenia znajduje się element „formatuj dane”. Nie tylko czyści / partycję danych, ale także obsługuje zaszyfrowaną materię FS. W moim przypadku TWRP 3.0.2 na Samsung J500H czyści szyfrowanie, i był to jedyny sposób, aby przywrócenie ustawień fabrycznych nie działało. CMR (ten budowany wzdłuż mojego romu CM 12.1 dla J500H) również nie może wyczyścić szyfrowania.
--set_encrypted_filesystem=off
również nie działał w TWRP i CMR.czyszczenie danych przez OpenRecoveryScript https://twrp.me/faq/openrecoveryscript.html również nie działa
Android 3.0 zaczął mapować / sdcard na / data / media, więc musieli przerobić / wyczyścić dane na not / data / media, i
rm -rf
zamiast tego jest wykonywany. Więcej informacji na stronie https://twrp.me/faq/datamedia.html .Podczas wykonywania „formatowania danych” możesz zobaczyć w dzienniku odzyskiwania (/ cache / recovery / log lub / cache / recovery / last_log) następujące informacje:
zanim sformatuje dane /
make_ext4fs
. Kod TWRP ma wiele sprawdzeń, aby znaleźć gdzie jest nagłówek LUKS, aw moim przypadku znalazł go w stopce.Spojrzałem na źródło TWRP i nie znalazłem sposobu na „sformatowanie danych” z wiersza poleceń (muszę wyczyścić zaszyfrowaną pamięć z aplikacji w niestandardowym ROM), więc ta opcja jest dostępna tylko w interfejsie użytkownika. Z jedynym wyjątkiem - jeśli TWRP jest skompilowane z
TW_OEM_BUILD
włączoną wtedy będzie „dane format” na Kasowanie krypto nagłówka i formatowanie partycji danych, w przeciwnym razie byłoby to regularne wytrzeć / o formatowaniu w.Spróbuję
dd
zerować, w rzeczywistości TWRP robi to samo, aby wyczyścić szyfrowanie, tylko wie, gdzie dokładnie szukać nagłówka))źródło
Rozwijanie odpowiedzi Naftuli Cvi Kay powyżej ...
cóż, ta odpowiedź zaprowadziła mnie we właściwe miejsce, ale mój telefon (CM11 / i9300) nie miał
recovery
polecenia, awipe
polecenie nie miało opcji wyłączenia szyfrowania. Zrobiłem to więc ręcznie, patrząc na komentarze w kodzie źródłowymrecovery
polecenia (plik połączony z odpowiedzią podaną w powyższym pytaniu):Aby to zrobić ręcznie (z adb):
wstaw następujący tekst do pliku / pamięci podręcznej / odzyskiwania / polecenia za pomocą echa lub vi:
uruchom ponownie w CWM lub w podobnym trybie odzyskiwania
Powinieneś zobaczyć fajny pasek postępu i należy to zrobić :)
źródło
Najlepszym działającym sposobem jest załadowanie do TWRP i użycie wbudowanego terminala, aby sformatować go jako ext2 (bo to jedyna rzecz obsługiwana bezpośrednio z terminala) i zmienić partycję na ext4 przy użyciu opcji „Napraw system plików” w opcji Mount
Aby sformatować jako ext2:
mkfs.ext2 /dev/block/mmcbl0p23
(Zastąp wartość partycji danych użytkownika, rozglądając się w / dev / block / platform / * / by-name / userdata)Zmień system plików jako ext4:
Wyczyść -> Zaawansowane czyszczenie -> Wybierz „Dane” -> Napraw lub zmień system plików -> Zmień system plików -> EXT4
Teraz powinieneś usunąć szyfrowanie i móc zamontować / partycję danych z TWRP. Mam nadzieję że to pomoże :)
źródło