Não consigo remover o atributo somente leitura de um cartão Micro SD de 32 GB da Kingston. Quero limpar o cartão inteiro.
Recebi um Raspberry Pi 3, um cartão Micro SD de 32 GB e um eco para brincar. O cartão Micro SD estava de fábrica quando o recebi. Baixei uma nova imagem do Ubuntu 16.04 e formatei o cartão usando o Etcher no Windows 10. Depois que terminei, conectei tudo para o Raspberry funcionar e percebi que nada aconteceu. Comecei a entrar em pânico um pouco e pensei: "Bom trabalho, Scrat, seu idiota. Por que você não pode simplesmente esperar um pouco e pesquisar no google um tutorial?"
Pesquisei no Google o que poderia ter dado errado e o que eu deveria ter feito e tive que descobrir que você não pode colocar qualquer imagem aleatória do Ubuntu nele. Tem que ser uma das imagens que o criador fornece (no meu caso, Ubuntu Mate ou Raspbian).
Tentativas de correção com o Windows
Ao tentar reformatar, clicando com o botão direito e reformando no Windows Explorer, a primeira coisa que encontrei foi que o cartão estava no modo somente leitura. Tentar acessá-lo no Windows Explorer me mostrou apenas o diretório EFI, do qual não fiquei surpreso.
A primeira coisa que encontrei na internet é sobre uma chave / trava no cartão, mas meu cartão não tem nenhum bloqueio. Nem o cartão em si, nem o Robson Mini Card Reader que eu uso para ler.
Depois, tentei lembrar como editar discos.
Lembre-se de que ainda estou usando o Windows 10 naquele momento, porque teria que copiar meu antigo VM-Ware e a imagem do sistema da minha unidade externa e não sabia onde estava.
Abri uma linha de comando, execute diskpart e liste todos os meus discos via
list disk
Qual saída meu HD de 931 GB, meu SSD de 119 GB (onde o Windows está instalado) e o cartão Micro SD de 29 GB:
Datenträger ### Status Größe Frei Dyn GPT --------------- ------------- ------- ------- --- --- Datenträger 0 Online 119 GB 0 B * Datenträger 1 Online 931 GB 0 B * Datenträger 2 Online 29 GB 29 GB
Seguindo as informações que obtive, eu sabia que o Datenträger 2, também conhecido como Disco 2, é o cartão que eu queria editar fazendo:
select disk 2
Por enquanto, tudo bem. Então eu queria remover o atributo somente leitura fazendo:
attributes disk clear readonly
O qual também foi executado com sucesso.
Mas quando eu tentei fazer:
clean
Eu recebi uma "Mensagem de erro de hardware" (em alemão, é por isso que não estou copiando aqui, mas basicamente dizia apenas Erro de hardware). Esse erro também ocorreu ao tentar criar uma partição primária ou fazer outras coisas.
Nesse ponto, o pânico em mim começou a crescer cada vez mais. Mas tentei manter a calma porque ainda tinha alguns truques nas mangas.
Tentei usar os programas: EaseUS Partition Master, Etcher (novamente) e SD Card Formatter, que falharam devido ao cartão estar protegido (somente leitura, protegido contra gravação).
Também tentei usar a edição do Registro para alterar o comportamento do Windows em relação aos dispositivos de armazenamento, criando a chave (que ainda não estava lá):
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies
e criar uma nova palavra-chave (DWORD WriteProtect) e defini-la como 0, o que significa que não é somente leitura.
Tentativas de correção com Linux
Isso também não funcionou e eu comecei a perder o nervosismo com o Windows, então me esqueci e procurei meu disco externo, instalei o VM-Ware e executei a máquina virtual Ubuntu 16.04 que uso na escola.
Ao iniciar a VM, eu já notei que o Ubuntu foi capaz de me ajudar muito mais do que o Windows (ou pelo menos eu pensava assim, porque minhas habilidades em Linux são limitadas nesse aspecto). A primeira coisa que vejo é um ícone vinculado na área de trabalho ao cartão chamado "Ubuntu 16.04.2 LTS amd64", que contém várias coisas que o Ubuntu precisa para funcionar, visto na imagem aqui .
Mas isso não me ajudaria. Então fui em frente e iniciei um terminal e escrevi:
lsblk
O que confirmou que o cartão está visível (sdb):
NOME MAJ: TAMANHO MÍN. RM RO TIPO DE MONTAGEM sda 8: 0 0 30G 0 disco └─sda1 8: 1 0 30G 0 parte / sdb 8:16 1 29,2G 1 disco 8:─sdb1 8:17 1 1,5G 1 parte / media / pose / Ubuntu 16.04.2 LTS amd64 └─sdb2 8:18 1 2,4M 1 parte sr0 11: 0 1 1024M 0 rom
Como o lsblk não era muito preciso, também usei o comando que aprendemos na escola:
fdisk -l
O que foi um pouco mais preciso:
Disco / dev / sda: 30 GiB, 32212254720 bytes, 62914560 setores Unidades: setores de 1 * 512 = 512 bytes Tamanho do setor (lógico / físico): 512 bytes / 512 bytes Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes Tipo de rótulo de disco: dos Identificador de disco: 0xa14a8cb2 Setores finais de inicialização do dispositivo Tipo de ID de tamanho / dev / sda1 2048 62914559 62912512 30G 83 Linux Disco / dev / sdb: 29,2 GiB, 31306285056 bytes, 61145088 setores Unidades: setores de 1 * 512 = 512 bytes Tamanho do setor (lógico / físico): 512 bytes / 512 bytes Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes Tipo de rótulo de disco: dos Identificador de disco: 0x15e2543d Setores finais de inicialização do dispositivo Tipo de ID de tamanho / dev / sdb1 * 0 3035519 3035520 1,5G 0 Vazio / dev / sdb2 14432 19295 4864 2,4M ef EFI (FAT-12/16/32)
E eu fiquei eufórico porque pensei que finalmente decifrei o maldito código Davinci ou algo assim, então corri
gparted
Que foi aberto imediatamente com uma mensagem de erro:
O descritor do driver diz que o tamanho do bloco físico é 2048 bytes, mas o Linux diz que é 512 bytes.
Que eu ignorei porque achei que não era nada demais, mas logo após ignorar a anterior, a próxima mensagem de erro apareceu:
As partições 1 no / dev / sdb foram gravadas, mas não conseguimos informar o kernel sobre a alteração, provavelmente porque estão em uso. Como resultado, as partições antigas permanecerão em uso. Você deve reiniciar agora antes de fazer mais alterações.
Então eu fiz o que a mensagem me disse e reiniciei. Mas isso também não serviu porque os mesmos dois erros apareceram novamente. Desta vez, eu os ignorei e a boa e velha janela partidária que eu conhecia da escola abriu.
Depois que mudei para / dev / sdb, ficou confuso muito rápido. Como você pode ver aqui , as coisas são bem estranhas, porque agora o sdb é de alguma forma considerado meu SSD em vez do cartão, mas a imagem do cartão ainda está montada. Nesse ponto, eu estava com muita raiva de continuar fazendo mais alguma coisa, com medo de estragar acidentalmente meu laptop também.
A propósito, também tentei me dar permissões para acessar o disco e tentar usar o dd
comando, mas com a mesma mensagem de erro (acesso negado, somente leitura ou algo do tipo, não tenho muita certeza, mas algo nessa direção )
Já encomendei outro cartão Micro SD de 32 GB da Amazon, caso não haja mais esperança para o antigo. Mas não vou desistir ainda.
(Lamento que algumas coisas estejam em alemão, mas acho que são na maioria das vezes auto-explicativas.)
fonte
Respostas:
Bem, seu post certamente foi divertido o suficiente. Obrigado por isso.
Eu sei que não é a resposta que você está procurando. Mas, parece que o cartão SD está preso no modo somente leitura. Você fez tudo o que pode. Realmente não é tão difícil.
Ele age como faria se houvesse uma chave de proteção contra gravação no cartão. Parece que você confirmou que não, mas talvez apenas verifique novamente, mais uma vez? O pensamento que me ocorreu foi que talvez você esteja usando um cartão mini-SD em um adaptador mini-sd para sd. E talvez você olhou no adaptador, mas não no próprio cartão mini-SD? Eu não sei, apenas jogando isso lá fora. Se houver um adaptador, talvez o próprio adaptador tenha ficado ruim? Não me lembro se você mencionou se tentou um leitor de cartão diferente. Talvez o leitor tenha ficado mal?
Fora isso, é uma falha bastante comum que algo assim "falhe" no modo somente leitura. Então, meu intestino me diz que o cartão ficou ruim.
Parece que você está no caminho certo, apenas substituindo-o. Talvez você possa substituir o ruim pela garantia, pois é novo. Deixe-nos saber o que você descobriu.
fonte
Esses problemas somente leitura acontecem comigo o tempo todo quando uso iso-imagens.
O que faço para corrigir esses problemas:
Observe que
<yoursdcard>
é um dispositivo e não uma partição, portanto, por exemplosdc
sudo fdisk /dev/<yoursdcard> -l
ou para obter o nome do dispositivo, você também pode usarsudo parted /dev/<yoursdcard> -l
AVISO: O comando a seguir destruirá todos os dados,
/dev/<yoursdcard>
portanto, verifique se esse<yoursdcard>
é o dispositivo correto !!!!sudo dd if=/dev/zero of=/dev/<yoursdcard> bs=1000000 count=50
sudo fdisk /dev/<yoursdcard>
o
para criar uma nova tabela de partição do MSDOS no seu sdcard, use on
comando para adicionar uma nova partição e usew
para gravar as alterações no seu sdcard e sair do fdisksudo mkfs -t <filesystem you want> /dev/<yoursdcard>1
para formatar sua partiçãoSe isso não funcionar:
<yoursdcard>
é o dispositivosudo su
echo "0" > /sys/block/<yoursdcard>/ro
fonte
fdisk
é muito mais confiável do quegparted
e você iria ver se ele detecta sua direita sdcard ou não (ver Passo 3).Lembre-se de que o cartão pode simplesmente estar quebrado. Eles têm algum flash e um controlador a bordo. Se o cartão achar que tem problemas, ele ficará off-line completamente ou somente leitura, se não tiver células flash funcionais suficientes para gravar. Às vezes, o controlador mantém as informações contábeis do chip flash, que pode ser corrompido, iniciando no modo de segurança e não permitindo nada. Para superar esse tipo de coisa, você precisa de um leitor de cartão SD 'verdadeiro', e não apenas de armazenamento em massa. As interfaces SD 'reais' têm acesso ao controlador e podem fornecer as informações necessárias.
fonte
Ah sim. A imagem do Ubuntu usa algum tipo de formato estranho que quebra a maioria dos utilitários de formatação. Eu imagino que é algum tipo de coisa que eles fazem para que as imagens funcionem em DVDs. Eu sei disso muito bem (leia-se: continuo precisando fazer discos de instalação do Ubuntu, e odeio formatá-los depois), e é muito irritante.
Use o Gparted no Ubuntu (a VM) para excluir todas as partições da unidade e adicione uma nova partição FAT32. Nota: Tenho certeza de que o GParted usa a senha de root, não a normal que você usa para fazer login. Se você não souber sua senha de root, é provável que não a tenha definido. Execute "sudo passwd" para definir uma senha root e use-a para abrir o GParted. Você também pode usar "sudo gparted".
Ou encontre e instale o programa gratuito SDFormatter4 no Windows (Nota: também funciona com WINE no Ubuntu) e use-o para formatar o cartão no modo de substituição. Isso tem mais chance de funcionar, por mais que eu não goste de software proprietário.
Ambos têm mais sorte de formatar os cartões do que os utilitários embutidos.
Obviamente, os cartões SD e unidades USB propositalmente falham no modo somente leitura para lhe dar uma chance na recuperação de dados. Se esse cartão for remotamente novo, isso não deve acontecer, mas é possível. Também sugiro cartões Samsung ou Sandisk, pois os cartões Kingston geralmente são falsos e falham rapidamente. Na verdade, tive esse mesmo problema uma vez e foi realmente uma falha no cartão. Espero que este não seja o seu caso.
fonte
Hummm. Eu deveria vincular este post porque meio que comecei aqui e de alguma forma terminei em outro post.
insira a descrição do link aqui
Primeiro, verifique se não é o leitor de cartões!
Esse problema é causado por um sistema de arquivos corrompido com muita facilidade. O problema pode ser causado por muitas coisas. Se você formatá-lo no Linux sem desmontá-lo ou se reparticioná-lo, ele será montado ou se as partições estiverem corrompidas, isso pode acontecer. A melhor coisa a fazer é usar o comando Linux
fsck /dev/sdb1
ou qualquer que seja a designação da sua unidade/dev/sdd1
. Pode parecer que/dev/sdb1
o sistema de arquivos está corrompido em um microSD. É fácil cometer esse erro, porque veja isso ...Eu tive que desmontar a unidade duas vezes para desmontar as duas partições ... e sim que é um microSD que deveria ser
/dev/sdd
,/dev/sde
ou depois.No entanto, apenas a execução
fsck
pode não remover o bit sujo se considerar que é somente leitura. Até então, o kernel do Linux ainda utilizaria a partição antiga, o que significa que você recebe o erro somente leitura porque não há como um usuário ter permissões concedidas para uma partição antiga. Às vezes, a inicialização da unidade permitirá que o kernel mude para a nova partição, como se você usasse um programa para criar uma nova tabela de partições.fonte