Não é possível remontar / sistema em rw

15

Tento desesperadamente empurrar um aplicativo com adb na pasta / system / app (para instalar o PlayStore no meu tablet de baixo custo). Então eu tentei remontar a partição / system com direitos de root :

mount -o remount,rw /system 

Mas sempre me dá a mesma resposta:

mount: Read-only filesystem

E eu tentei também com este comando:

mount -o remount,rw -t ext4 /dev/block/actc /system

mas é a mesma coisa ... E eu não entendo realmente porque, mesmo com o usuário root, não posso modificar isso ...

Portanto, se alguém tiver uma idéia, pode ser salvar uma pessoa em perigo: p

Razaborg
fonte
11
Eu tenho o mesmo problema com Android 4.4.2, Nexus 4. Quando eu faço este kernel comando adiciona a mensagem folowing no dmesg: EXT4-fs (mmcblk0p21): re-mounted. Opts: (null). Por que (null)? Eu solicitei explicitamente rw!
Dmitry
você já descobriu isso? Estou tendo o mesmo problema. Usando uma guia Samsung Galaxy.
precisa saber é o seguinte
@JacobMinshall e @Dmitry, se você ainda estiver interessado, tente executar `/ system / bin / mount explicitamente, em vez de executar implicitamente o xbin. Isso funcionou para mim.
Jon Coombs

Respostas:

14

A sintaxe do mountcomando geralmente requer que você especifique o destino:

mount -o remount,rw /system /system

Esta saída pode ser útil para entendermos melhor o seu problema:

cat /proc/mounts

Como último recurso, como você tem root, você pode tentar salvar a imagem bruta do sistema, montá-la na sua caixa e empurrar o aplicativo para lá, depois atualizá-la novamente no seu dispositivo. Para salvar a imagem bruta do sistema:

dd if=<block device mounted on /system> of=<output file>

Se você seguir esse caminho, mantenha a imagem original do sistema, caso algo dê errado.

zeiky.dev
fonte
espero que eu tenho comando dd no estoque rom ...
Wang
@Wang eu nunca vi dd faltando, mas há provavelmente algumas imagens incompletas sistema em alguns dispositivos, nesse caso, você pode usar cat / block / device> output-file
zeiky.dev
1

Não tenho certeza da aplicabilidade geral disso, mas tive o mesmo problema e descobri que esse comentário do reddit o resolveu para mim (no Android Lollikat, que é o cm11):

http://www.reddit.com/r/cyanogenmod/comments/2m9t61/how_do_i_remount_system_rw_on_cm11_m12/

Basicamente, tive que remontar usando explicitamente /system/bin/mount -o ...e não apenas mount -o .... Suponho que em algum momento a versão em / system / xbin tenha começado a ter prioridade e, por algum motivo, essa versão falhe silenciosamente. (Eu digo "em algum momento" porque o link2sd não começou a reclamar sobre RO até recentemente.) Parece que deveria ser possível editar o PATH para corrigir isso, para não precisar usar a linha de comando toda vez que eu ou um O aplicativo precisa fazer isso. Ainda não tenho certeza de quanto tempo.

FWIW, aqui está o script real para o meu dispositivo (s5360 em cm11 / LolliKat). Ele roda de qualquer lugar, mas acabei armazenando-o em / system / xbin, para que esteja disponível globalmente para os shells.

#!/system/bin/sh
echo "Remounting /system as RW (read/write)..."
/system/bin/mount -o remount,rw /system
mount | grep yaff

Essa última linha é apenas para fornecer um feedback rápido sobre se realmente funcionou ou não (já que minhas partições internas são yaff2). A linha anterior poderia ser mais explícita como qualquer uma dessas opções, mas no meu dispositivo isso não é necessário:

/system/bin/mount -o remount,rw /system /system
/system/bin/mount -o remount,rw /system /system
/system/bin/mount -o remount,rw /dev/block/mtdblock8 /system
/system/bin/mount -o remount,rw -t yaffs2 /dev/block/mtdblock8 /system
Jon Coombs
fonte
mount -o remount,rw /system trabalhou para mim. Meu dispositivo é o Nexus 5 com Android 5.1.1 LMY48B
Maksim Dmitriev
1

Para mim ... nada estava funcionando e finalmente funcionou:

adb root
adb remount
sgupta
fonte
11
"adbd não pode ser executado como raiz nas compilações de produção"
Vadzim 31/08
0

Você tem um kernel inseguro (boot.img)? O acesso de gravação à partição do sistema geralmente é bloqueado pelo kernel na inicialização. Pode ser necessário atualizar um kernel modificado para obter acesso de gravação ao / system com adb.

Você pode montar / sistema como r / w no sistema operacional? Em seguida, você pode enviar o arquivo para o cartão SD usando adb ou apenas USB normal (MTP ou armazenamento em massa, dependendo do dispositivo) e copiá-lo para o local apropriado e definir permissões usando o terminal no dispositivo ou um gerenciador de arquivos habilitado para raiz. Em seguida, reinicie e ele deve estar lá e instalado.

abqnm
fonte
Acho que quando tentamos acessar / sistema, isso significa que ainda não está enraizado. O ponto principal de usar o shell adb raiz é empurrar algo como su para / system para fazer root.
20516 Wang
@Wang the OP declarou claramente que ele já tinha root
zeiky.dev 4/16
0

Eu descobri que podia montar o sistema em rw usando o modo de recuperação do TWRP, pressionando "Mount" e selecionando "System", certificando-se de que "Mount as only-read" está desmarcado. Então, eu poderia copiar system/appAPKs para a pasta usando o gerenciador de arquivos interno do TWRP.

Todas as minhas outras tentativas de montagem como rw usando ADB ou emulador de terminal falharam. Não tente usar o BusyBox.

De memória, isso funcionou para mim no passado.

Tom Grane
fonte
0

Eu tive um problema parecido. Tive sucesso quando usei o Busybox (para não confundir com o aplicativo do sistema Toybox):

busybox mount -o remount,rw /system 
Adam Felson
fonte