Estou executando o CyanogenMod 12 todas as noites no meu G900T (klte). Tudo funciona muito bem, exceto a senha de criptografia padrão, que faz com que meu telefone seja inicializado.
Formatei dados e redefinii as /data
configurações de fábrica, mas ainda é criptografado e aparece como /dev/dm-0
.
Existe um comando que eu possa fazer para remover a criptografia? Não me importo com os dados, quero que tudo acabe. Eu só quero voltar a ter /data
e o armazenamento interno sendo armazenado em texto sem formatação no disco para poder inicializar no CyanogenMod.
Como posso usar adb shell
para remover a criptografia nessas partições?
recovery-mode
encryption
Naftuli Kay
fonte
fonte
dd if=/dev/zero
e, em seguida, formate a partição de dados.Respostas:
A resposta para mim envolveu várias coisas, mas acho que uma é realmente a chave.
Use o comando "recovery", mano
Isso usa o programa do CyanogenMod / AOSP
recovery
para limpar os dados do usuário e desativar a criptografia. (encontrado nesta resposta no Stack Overflow ) Inicialize na sua recuperação e, a partir do seu computador, executeSeu telefone será reiniciado no sistema e esperamos que as coisas funcionem conforme o planejado.
Se você precisar executá-lo a partir do telefone (por exemplo: você não possui um computador por perto
adb
):Ele deve limpar, desativar a criptografia e reiniciar o sistema.
Se todo o resto falhar
Não use esse método, a menos que o acima não funcione ou se aplique ao seu cenário.
Destruir o cabeçalho LUKS para criptografia do sistema de arquivos
root
, assim, o TWRP funciona no meu caso.userdata
partição olhando em volta/dev/block/platform/*/by-name/userdata
.Escreva uma tonelada de zeros no início dessa partição para limpar o cabeçalho LUKS:
Não reivindico responsabilidade pelo que você faz com este comando. Se você estragar tudo, pode bloquear o telefone substituindo o gerenciador de inicialização ou outras partições críticas. Certifique-se de que
$PATH_TO_YOUR_USERDATA
aponta para auserdata
partição real . Verifique o tamanho dessa partição para ter certeza de que está limpando a coisa certa. Eu tenho um telefone de 16 GB euserdata
10,4 GB, sendo o restante dedicadosystem
, mas o telefone será diferente.Reformate essa partição como
ext4
usandomake_ext4fs $PATH_TO_YOUR_USERDATA
.Pode haver erros, mas geralmente eles se relacionam com a impossibilidade de encontrar o "sdcard" interno, tudo bem.
Depois de tudo isso, reinicie a recuperação novamente e execute uma redefinição de fábrica para garantir a segurança.
Por que isso funciona?
Simplesmente fazer uma redefinição de fábrica parecia não fazer nada por mim, o telefone ainda veria uma partição LUKS lá. Suponho que isso ocorra porque o cabeçalho LUKS ainda existia no nível do disco e a partição ext4 foi sobreposta. Por alguma razão, o Android priorizou a detecção de uma partição LUKS em uma ext4 e tenta (e consegue) montá-la.
Para onde ir daqui
(Se você sabe o que está fazendo, também pode limpar
system
e instalar sua ROM do zero. Novamente, não me responsabilizo por nada que você faça com as informações contidas nesta publicação. )Trabalhou para mim em um
klte
G900T (Samsung Galaxy S5 T-Mobile). Sua milhagem pode variar.fonte
dd
comando finalmente fez o truque. Muito obrigado!recovery
comando não parecia funcionar para mim. Chamei-o deADB Shell
emTWRP
recuperação. Meu problema principal é que a depuração USB não está ativada e/system
está corrompida, portanto não consigo inicializá-la. Além disso, a criptografia de disco está ativada e parece me impedir de executarfastboot flash system system.zip
corretamente.dd
comando no final, eu poderia concluir a operação. Obrigado!ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata
diz: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
diz: `` Tamanho do sistema de arquivos usado disponível disponível% montado em / dev / block / mmcblk0p26 10,5G 27,2M 10,5G 0% / data `` `` então eu fiz:dd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512
está certo?No meu Moto G de terceira geração (osprey), nem chamar a recuperação nem limpar o cabeçalho LUKS (no início e no final da partição) funcionou - eu ainda precisava digitar a senha de criptografia durante a inicialização do Cyanogen Mod e fiquei presa com a mensagem "erro de criptografia" .
Finalmente, descobri que minha recuperação do TWRP 3.0.1 tem uma opção "Formatar dados" na seção "Limpar". Isso faz uma redefinição de fábrica completa que também desativa a criptografia.
Funcionou como um encanto. Se você tiver acesso a uma versão decente do TWRP (facilmente piscou, por exemplo, com o Flashify), tente primeiro.
fonte
dd
abordagem é útil ao limpar a criptografia em scripts, pois a opção 'formatar dados' não está disponível nos comandos TWRP, enquanto os comandos existentes não podem limpar a criptografia. Espero que eles adicionar tal comando no futuro ...Desde que você esteja usando TWRP ou similar.
Data
partição para externoSD
ouOTG Drive
f2fs
Data
partição recém-criadafonte
A solução de limpar manualmente o cabeçalho LUKS fornecido por Naftuli Tzvi Kay funciona bem, exceto por uma coisa. Eu não sei como isso depende, mas, na minha experiência, o Android mantém o cabeçalho LUKS no final da partição. E se esse for o caso do seu dispositivo, execute
falhará ao remover o cabeçalho (rodapé?) porque limpa apenas o início da partição. Pode-se, claro, limpar a partição inteira, mas isso levaria tempo desnecessariamente. Assim...
Para limpar o final da partição (de qualquer tamanho), depois de executar o comando acima, execute este comando também:
fonte
Você está usando recuperação personalizada?
Se sim, faça isso após a inicialização em uma recuperação personalizada ( TWRP no meu caso):
No início da recuperação, NÃO descriptografe o dispositivo . Basta tocar em Cancelar quando solicitado a senha ou padrão.
Limpe a partição de dados. (No TWRP após deslizar para modificar o sistema: Limpe> Avançado> Verificar: Dados)
Obviamente, isso limpará tudo na
userdata
partição. Toda a partição de dados será reformatada, incluindo as chaves de criptografia .fonte
Meus votos vão para @Naftuli Kay e outras respostas úteis aqui, mas tenho algumas informações que gostaria de compartilhar. É muito longo para um comentário, que seja uma resposta então.
Desde algumas versões do TWRP, há o item 'formatar dados' na tela Limpar. Ele não apenas limpa / partição de dados, mas também lida com o problema do FS criptografado. No meu caso, o TWRP 3.0.2 no Samsung J500H limpa a criptografia e foi a única maneira de a redefinição de fábrica não funcionar. O CMR (aquele que está sendo construído ao longo do meu CM 12.1 rom para J500H) também não pode limpar a criptografia.
--set_encrypted_filesystem=off
também não funcionou no TWRP e CMR.limpar dados via OpenRecoveryScript https://twrp.me/faq/openrecoveryscript.html também não funciona
O Android 3.0 começou a mapear / sdcard para / data / media, então eles tiveram que retrabalhar / limpar os dados para not / data / media e,
rm -rf
em vez disso , são executados. Veja https://twrp.me/faq/datamedia.html para mais detalhes.Ao executar 'formatar dados', você pode ver no log de recuperação (/ cache / recover / log ou / cache / recovery / last_log) as seguintes informações:
antes de formatar / dados com
make_ext4fs
. O código TWRP possui várias verificações para descobrir onde está o cabeçalho LUKS e, no meu caso, ele foi encontrado no rodapé.Eu olhei para a fonte TWRP e não encontrei uma maneira de 'formatar dados' na linha de comando (eu preciso limpar o armazenamento criptografado de um aplicativo na ROM personalizada), portanto, essa opção está presente apenas na interface do usuário. Com a única exceção - se TWRP é compilado com
TW_OEM_BUILD
Permitiu então vontade 'formatar dados' em reposição de fábrica, limpando cabeçalho de criptografia e de formatação partição de dados, caso contrário, seria o uso regular limpe w / o formatação.Vou tentar
dd
com zeros, na verdade o TWRP faz o mesmo para limpar a criptografia, apenas sabe onde procurar exatamente o cabeçalho))fonte
Expandindo a resposta de Naftuli Tzvi Kay acima ...
bem, essa resposta me levou ao lugar certo, mas meu telefone (CM11 / i9300) não tinha um
recovery
comando e owipe
comando não tinha uma opção para desativar a criptografia. Então eu fiz isso manualmente, olhando os comentários no código-fonte dorecovery
comando (arquivo vinculado a partir da resposta vinculada na pergunta acima):Então, faça isso manualmente (com adb):
coloque o seguinte texto no arquivo / cache / recovery / command, com echo ou vi:
reinicie no CWM ou recuperação semelhante
Você deve ver uma barra de progresso agradável e isso deve ser feito :)
fonte
O melhor método de trabalho é inicializar no TWRP e usar o terminal embutido para formatá-lo como ext2 (porque essa é a única coisa suportada diretamente pelo terminal) e alterar a partição para ext4 usando a opção "Reparar sistema de arquivos" em Montagem
Para formatar como ext2:
mkfs.ext2 /dev/block/mmcbl0p23
(Substitua o valor da sua partição de dados do usuário procurando em / dev / block / platform / * / by-name / userdata)Altere o sistema de arquivos como ext4:
Limpe -> Limpe avançado -> selecione "Dados" -> Reparar ou alterar sistema de arquivos -> Alterar sistema de arquivos -> EXT4
Agora, você deve ter a criptografia removida e poder montar a partição / dados do TWRP. Espero que isto ajude :)
fonte