Sistema de arquivos não detectado após a atualização do sistema operacional - como depurar isso?

0

Eu tenho um computador com dois discos rígidos nele. Um carrega o sistema operacional e um monte de outras coisas; o outro foi montado dentro de / media como um espaço de despejo para um terabyte adicional de espaço de armazenamento. Recentemente, eu atualizei o sistema do Ubuntu Maverick para o Debian Jessie, o que envolveu a remoção de um monte de pacotes incompatíveis e a instalação de mais um monte, e poderia ter quebrado coisas; Também é possível que o disco rígido esteja morrendo e, quando eu reiniciei, ele decidiu desistir.

Não há nada absolutamente crucial nesta campanha, mas eu gostaria de recuperá-la em vez de reconstruí-la - também, prefiro saber o que deu errado, em vez de apenas mascarar o problema e seguir em frente. Então, o que eu estou pedindo é recomendações sobre como depurar uma estranha falha no disco rígido em que o sistema de arquivos do disco rígido não é mais reconhecido. Se a pergunta não é apropriada aqui, peço desculpas e, por favor, me redirecione para um lugar melhor!

Antes da atualização, a unidade principal era (acredito) / dev / sda, e a secundária era / dev / sdb. Agora, eles aparecem como:

$ sudo parted -l
Model: ATA WDC WD1002FAEX-0 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  1000GB  1000GB  primary


Model: ATA ST31000333AS (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  997GB   997GB   primary   ext4            boot
 2      997GB   1000GB  3143MB  extended
 5      997GB   1000GB  3143MB  logical   linux-swap(v1)

Note que os sistemas de arquivos em / dev / sdb aparecem corretamente (a maioria dos terabytes como ext4, bootable e 3GB swap), e as partições em / dev / sda são provavelmente corretas (embora eu não tem dumps de tabela de partição pré-upgrade), mas sem sistemas de arquivos listados.

A tentativa de fsck / dev / sda1 produz este erro:

$ sudo fsck /dev/sda1
fsck from util-linux 2.25.2
e2fsck 1.42.12 (29-Aug-2014)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sda1

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

Uma lista de opções prováveis de superblocos não produziu resultados úteis, mas estou me perguntando se talvez haja um deslocamento de tabela de partição. Existe uma maneira de procurar por um superbloco válido?

Além disso, não tenho 100% de certeza de que esse seja um sistema de arquivos ext3 / ext4. É possível que eu usei um sistema de arquivos diferente, mas não sei o quê. Existe alguma maneira de explorar a partição e descobrir o que ela estaria usando, de modo que eu possa instalar um driver adicional do sistema de arquivos?

Qualquer ponteiro seria uma ajuda. Obrigado!

EDIT: doktor5000 sugeriu que eu pegue o testdisk e veja o que ele diz.

Disk /dev/sda - 1000 GB / 931 GiB - CHS 121601 255 63
Current partition structure:
     Partition                  Start        End    Size in sectors

No ext2, JFS, Reiser, cramfs or XFS marker
 1 P Linux                    0   1  1 121600 254 63 1953520002
 1 P Linux                    0   1  1 121600 254 63 1953520002
No partition is bootable

Selecionar "Pesquisa rápida" produz isso:

Disk /dev/sda - 1000 GB / 931 GiB - CHS 121601 255 63
     Partition               Start        End    Size in sectors
>* Linux                    0  32 33 118619 237 18 1905627136
 P Linux Swap           118620  14 51 121601  57 56   47892480

Esqueci-me anteriormente de citar o que o fdisk disse, eis o seguinte:

$ sudo fdisk /dev/sda -l

Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000a56a5

Device     Boot Start        End    Sectors   Size Id Type
/dev/sda1          63 1953520064 1953520002 931.5G 83 Linux

Então, as discrepâncias que estou vendo são: fdisk calcula que a partição começa em 63, mas testdisk diz 32 (eu acho); e o testdisk diz que há uma partição swap lá, o que não faz sentido para mim (é uma unidade secundária, não sei por que eu aloquei algum espaço de troca). Mas, coolness de coolnesses, eu posso cavar no sistema de arquivos e copiar os arquivos! Isso é incrível comparado com o que eu tive que trabalhar com a última vez que tentei a recuperação de disco - mas depois, isso foi na década de 1990 usando o OS / 2, então não há surpresas lá:)

Estou confiante o suficiente para deixar o testdisk escrever uma nova tabela de partições. E sim! Todos os dados estão lá e legível, a unidade parece estar funcionando muito bem. Muito obrigado, doktor5000! Então, pergunta de acompanhamento ... alguma ideia de como a tabela de partições poderia ter sido corrompida?

    
por rosuav 10.05.2015 / 12:33

1 resposta

1

O mais óbvio seria uma busca profunda por partições via testdisk .
Consulte o guia geral sobre como executá-lo e / ou o documentação passo-a-passo

Em seguida, compare a tabela de partições que o testdisk encontrou com o que você vê atualmente, sem alterar nada, e talvez postar aqui.

Outra opção, pelo menos para o ext2 / 3/4, seria usar o comando debugfs , mas isso é muito mais complexo e não tão simples como o testdisk.

Em qualquer caso, se você quiser recuperar o que estava nesse disco, provavelmente é uma boa ideia criar uma imagem a partir dele e trabalhar somente nessa imagem, para não arriscar perder mais dados. Consulte salvamento de dados de uma unidade com falha para obter algumas sugestões sobre como fazer isso.

    
por 10.05.2015 / 14:53