Meu Raspberry Pi estava funcionando bem por dois meses. Em seguida, alguns arquivos /usr/bin
foram corrompidos e houve muitos erros na reinicialização.
Tentei escrever uma imagem nova, mas o dd iria bloquear e não fazer nada.
sudo dd if=~/2013-02-09-wheezy-raspbian.img of=/dev/mmcblk0 bs=4M
Percebi que meu cartão SD não estava listado como compatível, então comecei com um novo cartão SD suportado há uma semana e agora aconteceu o mesmo.
Os cartões parecem estar presos no estado somente leitura dd
e fdisk
não têm impacto.
Puxei o cabo de alimentação algumas vezes para reiniciar após ssh
parar de funcionar - eu o executo sem um monitor e teclado.
É possível danificar permanentemente um cartão SD puxando o cabo de alimentação?
Eu li sobre cartões SD corrompidos e gostaria de chegar ao fundo desse problema, mas minha preocupação atual é que preciso comprar um novo cartão SD sempre que tentar. Para outras pessoas, eles parecem capazes de começar de novo escrevendo uma nova imagem.
Existe algo mais que eu possa tentar fazer com que os cartões SD funcionem novamente?
Se eu tentar formatar o cartão com a câmera, aparece 'erro de formatação'.
Quando insiro o cartão SD, o dmesg mostra
...
[52254.614980] end_request: I/O error, dev mmcblk0, sector 1696056
[52254.614983] end_request: I/O error, dev mmcblk0, sector 1696064
[52254.614987] end_request: I/O error, dev mmcblk0, sector 1696072
[52254.615058] Aborting journal on device mmcblk0p2-8.
...
[52666.031183] journal commit I/O error
[52666.031186] journal commit I/O error
....
[52666.031220] journal commit I/O error
[52666.031227] journal commit I/O error
[52666.083902] EXT4-fs error (device mmcblk0p2): ext4_put_super:819:
Couldn't clean up the journal
[52666.083910] EXT4-fs (mmcblk0p2): Remounting filesystem read-only
Atualização: Consegui escrever uma nova imagem no segundo cartão SD, mas o primeiro cartão (Kingston 8 GB classe 4, não na lista de suporte) ainda está quebrado. Como é apenas uma carta que parece quebrada, não estou tão preocupado que isso continue acontecendo. Eu acho que isso foi único.
Meu Raspberry Pi agora raramente é inicializado. Eu verifiquei a voltagem no Raspberry Pi e ela é bastante baixa, então suspeito que seja a causa dos meus problemas. Eu pedi uma nova fonte de alimentação. No entanto, não sei por que o Raspberry Pi funcionou por tanto tempo antes.
dd
comando que está usando para gravar no cartão? Você poderia verificardmesg
se há algum erro de E / S em sua placa?Respostas:
Problemas e possíveis danos
Sim, desligar o Raspberry Pi puxando o cabo pode causar danos . De fato, houve uma resposta que detalhou exatamente esse problema. Esse problema não é específico ao Raspberry Pi. Desconectar o cabo de alimentação sem avisar o sistema operacional pode causar problemas - corrompi meu kernel do Windows dessa maneira.
Como consertar
Conecte o cartão SD ao Mac. Em seguida, abra o utilitário Disk e exclua suas partições. Então restaure. Finalmente, recrie novamente a imagem do cartão. Se precisar de mais ajuda, consulte este tutorial .
Use o software Win32 Disk Imager . Mais uma vez, exclua as partições, restaure-as e crie novamente uma imagem do cartão.
Para redefinir o SD para leitura / gravação, digite
hdparm -r0 /dev/xxx
no terminal. Pode ser necessário excluir as partições primeiro.Como evitar
A partir de agora, você nunca deve desligar o Raspberry Pi desconectando-o . Em vez disso, vá para o console e digite:
Ou, se você estiver usando
startx
, clique no botão logoff e selecione encerrar.fonte
O problema é que você não pode acessar o console porque o Raspberry Pi está travado, o SSH funciona parcialmente, mas não aceita uma senha, e o WebIDE da Adafruit está travado e não aceita entrada. Não há escolha a não ser puxar o plugue. Cerca de 25% das vezes isso funciona, mas é inevitável que o sistema de arquivos seja corrompido eventualmente. A situação piora, mesmo que o carregador de inicialização o leve ao kernel, ele também está travado e você não pode digitar nada para fsck o cartão. Reimaginar significa perder todo o seu trabalho. Definitivamente, precisamos de uma solução melhor.
fonte
Você pode usar 'hdparm -r0 / dev / xxx' para redefini-lo para leitura e gravação. Pessoalmente, tive que excluir as partições e reinserir o sdcard para poder usar o dd para copiar uma nova imagem no cartão.
fonte
Existe uma solução melhor - basta colocar o cartão em um leitor conectado a outra máquina e executar o fsck nessa máquina [então espero que funcione!]. Obviamente, o problema real é ter que executar o fsck em primeiro lugar - o que geralmente pode ser evitado desligando a máquina adequadamente, em vez de puxar a energia, independentemente de ser ou não decapitado.
fonte
Depois que o dd falhou repetidamente em um cartão SD, usei uma máquina Windows 7 para excluir as partições e reformatar como FAT32 . Só então dd me daria uma imagem de Raspberry Pi funcional.
Agora, eu costumo executar o seguinte antes de dd (ou dcfldd) -ing uma nova imagem:
A fonte que sugeriu
/dev/zero
observou que o processo pode reduzir a vida útil do cartão.fonte