Algo corrompeu minha partição ext4 no meu servidor debian. O servidor tinha um tempo de atividade de aproximadamente 1700 dias e, infelizmente, o no-break não tinha bateria suficiente para durar uma interrupção de energia durante todo o dia.
Eu estava rodando com o Debian (tão estúpido), e sobre o tempo que o systemd entrou em cena parei de fazer o apt-get dist-upgrade. (mais idiota)
Após a queda de energia, ele inicializou no modo de emergência do systemd e não foi possível montar a unidade. (/ dev / sdb1 não encontrado). Eu tentei o apt-get dist-upgrade para ver se ele iria consertar o problema, mas ele falhou depois de um tempo, e após a reinicialização eu não consegui mais logar porque o systemd falhou. Depois de um tempo eu encontrei o sysvinit no bootmenu, e pude então inicializar no linux. (Deveria ter feito isso primeiro! Doh)
A partição que foi corrompida está em um disco rígido de 750 GB e é usada para / home. Deve haver cerca de 100 GB de espaço usado, mas é relatado como 968 MB.
E de alguma forma, a estrutura de diretórios raiz de / (/ dev / sda1) foi copiada para / home (/ dev / sdc1) ???
root@server:/home# ls -lah
ls: cannot access 'run': Input/output error
ls: cannot access 'sys': Input/output error
ls: cannot access 'etc': Input/output error
total 92K
drwxr-xr-x 23 root root 4.0K Jan 14 2013 .
drwxr-xr-x 23 root root 4.0K Feb 11 14:23 ..
drwxr-xr-x 2 user2 user2 4.0K Nov 2 2010 bin
drwxr-xr-x 2 user1 user1 4.0K Feb 3 2013 boot
drwxrwxr-x 3 user2 user2 4.0K Aug 19 2005 dev
d????????? ? ? ? ? ? etc
drwxr-xr-x 2 user1 user1 4.0K Jan 15 2013 home
lrwxrwxrwx 1 root root 30 Jan 3 2013 initrd.img -> /boot/initrd.img-3.2.0-4-amd64
drwxr-xr-x 14 root root 4.0K Jan 9 2013 lib
drwxr-xr-x 2 root root 4.0K Jan 3 2013 lib64
drwx------ 2 root root 16K Jan 3 2013 lost+found
drwxr-xr-x 2 user1 user1 4.0K May 31 2010 media
drwxr-xr-x 6 user1 user1 4.0K Jan 15 2013 mnt
drwxr-xr-x 2 user1 user1 4.0K Feb 5 2006 opt
drwxr-xr-x 2 user1 user1 4.0K Feb 3 2013 proc
drwxr-xr-x 2 user1 user1 4.0K Feb 3 2013 root
d????????? ? ? ? ? ? run
drwxr-xr-x 4 user3 user3 4.0K Mar 26 2013 sbin
drwxr-xr-x 2 user1 user1 4.0K Jan 15 2013 selinux
drwxr-xr-x 2 user1 user1 4.0K Feb 3 2013 srv
d????????? ? ? ? ? ? sys
drwxr-xr-x 3 user4 user4 4.0K Nov 27 23:05 tmp
drwx------ 2 user5 user5 4.0K Aug 17 2009 usr
drwx--x--x 13 user2 user2 4.0K Jan 12 2012 var
lrwxrwxrwx 1 root root 26 Jan 3 2013 vmlinuz -> boot/vmlinuz-3.2.0-4-amd64
(nomes de usuário alterados)
Isso parece idêntico ao / (/ dev / sda1).
Mas dentro dessas pastas há arquivos que não deveriam estar onde estão, mas são legíveis. Por exemplo, dentro de "opt" existem jpegs de algum lugar em meu próprio userdir. Dentro de "var" são arquivos e pastas de um usuário quase completamente intactos com estrutura de diretórios e nomes de arquivos corretos, apenas arquivos ausentes em pelo menos um lugar.
Eu fiz uma cópia dd da partição para outro disco rígido, e então tentei fsck nele, aparentemente "consertou" muitas coisas, mas depois não foi possível montá-lo por mais tempo. "tipo fs errado, má opção, superbloco ruim em / dev / sdc1, falta de página de código ou programa auxiliar, ou outro erro."
Eu não tenho ideia de como isso aconteceu, ou como corrigi-lo, e não tenho grandes expectativas de que isso será possível. Essa é a coisa mais estranha que eu já vi no Linux, e eu principalmente quero saber como isso aconteceu. Se eu puder recuperar todos os arquivos, isso me faria um homem muito feliz!
Eu sei sobre o PhotoRec e planejo usá-lo se não puder reparar a estrutura de diretórios original.