Estou executando o Raspbian Wheezy. Desde ontem não consegui inicializar meu RPi após um desligamento forçado (desconectando o cabo de alimentação). Desde então começa da seguinte forma:http://pastebin.com/QiEbda2y
Observe as próximas linhas:
[ 2.176606] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
...
[ 2.220626] Starting init: /etc/init exists but couldn't execute it (error -13)
Em seguida, começa sh. Quando tento executar o bash, ele fornece os seguintes avisos:
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
root@(none):/#
Observe que foi ditoroot@(none)
Além disso, (um tanto esperado) a unidade de inicialização não está montada e (completamente inesperado) a unidade raiz está no modo somente leitura. Consigo montar ambos no modo rw com:
fsck /dev/mmcblk0p1 (needed because dirty bit is set)
mount /boot
mount -o remount,rw /
Quando executo o ps, ele me diz para executar o mount -t proc proc /proc
. Isso também é necessário para usar ifup/ifdown.
Se eu não usar ifdown/ifup na eth0, meu ifconfig estará vazio, mas apenas usar ifup fará com que ele reclame que a eth0 já está ativa.
Posso iniciar o serviço ssh usando service ssh start
e ele estará acessível após a configuração anterior da eth0.
programas como o vim ainda funcionam, mas coisas como shutdown -r now
não funcionaram porque o desligamento não foi reconhecido (onde estava antes). A digitação exit
dá erros (não ao sair do bash, mas do sh, que é pid 1):
Kernel panic - not syncing: Attempted to kill init! exitcode=00000800
...
Depois disso, alterei o cmdline.txt para executar uma partição raiz no drive USB /dev/sda2
(não estava conectado na primeira vez que encontrei o problema, ele foi conectado no momento em que copiei o dmesg para o pastebin). O usb foi criado para conter o Raspbian Jessie. Agora funcionou e a área de trabalho carregou (embora o mouse e o teclado tenham parado de funcionar quando a área de trabalho foi mostrada) e eu pude fazer ssh sem qualquer configuração (além de alterar as senhas nas contas pi e root)
Alterando o cmdline.txt de volta para /dev/mmcblk0p2 no qual a raiz antiga estava localizada e após uma reinicialização adequada com shutdown -r now
, todos os problemas antigos persistiram, exceto que eu não precisei fsck a partição /boot.
Antes do desligamento forçado que causou os problemas, eu havia feito cerca de um ano de atualização/atualização do apt-get.
Alguém pode me ajudar a colocar minha instalação raspbian de volta em condições de funcionamento?
Existe alguma ferramenta que possa me ajudar a recuperar as partes quebradas desconhecidas do sistema operacional?