O Link2SD não funciona no Marshmallow: esse arquivo ou diretório não existe

9

Devido ao meu descontentamento com o novo cartão SD como armazenamento interno do Marsmallow, decidi voltar ao Link2SD, algo que estava usando nas versões anteriores do Android. No entanto, há um problema. Se eu tentar criar os scripts de montagem para o meu cartão SD particionado, recebo o seguinte erro:

Mount script cannot be created

mount: '/dev/block/vold/179:66'->'/data/sdext2': No such file or directory

Alguém sabe como fazer o Link2SD funcionar no Marshmallow?

Paul Clavier
fonte

Respostas:

6

O armazenamento interno do marshmallow pode ser melhor usado com um cartão SD de formato misto, como também explico no meu blog aqui :

http://blog.sam.liddicott.com/2016/02/android-6-semi-adopted-storage.html

Primeiro, você precisa do adb trabalhando.

  1. Tenha o cartão SD inserido e formatado como portátil.
  2. Ejete seu cartão SD no menu Armazenamento e USB
  3. Use "adb shell" para listar seu armazenamento adotável:

como isso

$ adb shell sm list-disks adoptable

disk:179_64

disk: 179_64 é o meu cartão SD que pode ser adotado. Quero 75% como SD externo:

$ adb shell sm partition disk:179_64 mixed 75

Nota: Seu cartão pode ser listado com uma vírgula em vez de um sublinhado, por exemplo, disco: 179,64; nesse caso, é isso que você digita:

$ adb shell sm partition disk:179,64 mixed 75
  1. Isso apagará todo o cartão SD, fornecendo 75% como armazenamento portátil e o restante como armazenamento interno adotado.

  2. Reinicie o seu telefone.

  3. No menu Armazenamento e USB, selecione o cartão SD (interno) e escolha Migrar dados (para que os aplicativos, sempre que possível, sejam instalados nele).

  4. No armazenamento e USB, renomeie o armazenamento adotado para ter um nome como adotado, caso contrário, se tiver o mesmo nome que a partição de armazenamento externo, a visualização USB MTP poderá mostrar apenas o interno

Sam Liddicott
fonte
você deve postar sua resposta em esta pergunta muito, é um jogo melhor e daria seu grande solução mais exposição
fernio
Mas esta solução não suporta o Link2SD. O sistema de arquivos da partição adotada é "Outro" ao verificar com um aplicativo de partição de computador; portanto, o Link2SD não pode reconhecer a partição a ser adotada (daí a pergunta). Sem o Link2SD, os aplicativos imóveis não podem ser forçados a mudar para o cartão SD.
Ooker
2
#! / system / bin / sh
mount -t ext4 -o rw / dev / block / mmcblk1p2 / data / sdext2
mount -t ext4 -o rw / dev / block / vold / 179: 66 / data / sdext2

Talvez você precise fazer a linha vold ser:

mount -t ext4 -o rw / dev / block / vold / public: 179: 66 / data / sdext2

Tudo depende de como você deixa o Marshmallow formatar seu cartão na primeira inicialização.

Use Apps2SD para criar o script. Simplesmente abra o aplicativo, vá para "Vincular aplicativos ao cartão SD", selecione seu sistema de arquivos e pronto. Ainda está em desenvolvimento ativo e funcionando. Após a criação do script, você pode desinstalar o Apps2SD.

sindicato
fonte
1

Como outros sugeriram, você pode usar o Apps2SD para criar o script de montagem e simplesmente desinstalá-lo quando terminar.

Gili
fonte
Isso funcionou para mim. E acho que esse é o método mais fácil de todos.
Preetesh 19/09/16
0

Resolvi o problema inicial listado aqui com:

cd /dev/block/vold
ln public:179_66 179:66

e então o Link2SD conseguiu fazer seus truques; no entanto, ainda não foi útil e, ao mover os dados internos (mp3) do Google Play Music para o cartão SD, o programa de música continuou travando.

Remover o Link2SD após a desinstalação não é fácil,

mount -o remount,rw /system
mv /system/bin/debuggerd.bin /system/bin/debuggerd
rm /system/etc/init.d/11link2sd
mount -o remount,row /system

depois reinicie, caso contrário, a 2ª partição continuará sendo montada em / data / sdext2

Por isso, estou frustrado que, se eu mesclar meu cartão SD como memória interna, o Google Play Music armazenará os mp3 na memória interna limitada em vez do cartão SD.

Sam Liddicott
fonte
Perdoe-me por uma pergunta tão básica. Devo escrever o script acima para arquivar no init.d? Além disso, poderia explicar o que o script acima faz?
Ganesh Satpute
11
Não se preocupe, o Link2SD ainda não faz nada de útil. Ver o meu melhor correção em: blog.sam.liddicott.com/2016/02/... que vou postar como uma resposta
Sam Liddicott
"Nada útil" é uma afirmação subjetiva bastante controversa e abrangente, portanto seria melhor se você pudesse fazer backup com alguns fatos informativos. Obrigado.
Adam Spires
11
Não é nada controverso, a menos que você contradiga minha afirmação. Mas, para responder à sua solicitação: ele não funciona no Android 6, ele insere comandos de montagem incorretos em vários scripts de inicialização e ainda falha quando esses comandos de montagem são corrigidos.
Sam Liddicott
Eu não quis ser argumentativo, apenas quis dizer que vi pessoas dizerem que não funciona e não é suportado, e não vi ninguém dizer que está funcionando.
Sam Liddicott