Possível recuperar de um mau fsck?

1

Eu tinha um disco WD Red de 3 TB com filmes e música no meu HTPC (com sistema de arquivos ext4). Alguns dias atrás, a fonte de alimentação desistiu, então peguei o disco, coloquei um gabinete USB externo no qual eu normalmente tenho um disco de backup de 2 TB e o conectei ao meu servidor rodando o Ubuntu 14.04. No entanto, eu não consegui montá-lo, pois o servidor alegava ter erros. Isso não pareceu estranho, já que o HTPC estava funcionando quando o PSU desistiu, então eu liguei um shell com:

sudo fsck -y /dev/sde

Correu por um tempo e eu consegui montar a unidade quando ela terminou. Agora, no entanto, ele só tem uma partição vazia de 2 TB, ao contrário da partição de 80% que tinha antes. Estou deixando o Testdisk analisá-lo no momento. Mas existe alguma outra maneira de reverter as alterações do fsck ou devo apenas tomá-lo como uma lição e iniciar o longo processo de adicionar minha mídia novamente?

ATUALIZAÇÃO: Não tenho certeza se entendi direito, mas o gdisk parece achar que a partição ainda está usando o disco inteiro:

# gdisk -l /dev/sde
GPT fdisk (gdisk) version 0.8.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sde: 5860533168 sectors, 2.7 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): CFAA3FF0-DE38-4FAD-B13B-91811BD71821
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2925 sectors (1.4 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      5860532223   2.7 TiB     0700  primary

Mas se eu montar, é apenas 2TB:

# mount /dev/sde1 /mnt
# df -h /mnt
Filesystem      Size  Used Avail Use% Mounted on
/dev/sde1       2.0T   71M  1.9T   1% /mnt

Não muito sobre isso:

# ls -altR /mnt
/mnt:
total 24
drwxr-xr-x  26 root root  4096 Jul 18 20:54 ..
drwxr-xr-x.  3 root root  4096 Jul  8 12:45 .
drwx------.  2 root root 16384 Jul  8 12:45 lost+found

/mnt/lost+found:
total 20
drwxr-xr-x. 3 root root  4096 Jul  8 12:45 ..
drwx------. 2 root root 16384 Jul  8 12:45 .
    
por Aene 19.07.2015 / 16:39

1 resposta

1

Recintos USB externos costumam fazer uma das duas coisas com discos com mais de 2 TB:

  • Eles convertem de setores de 512 bytes para setores de 4096 bytes, permitindo que o disco (até 16TiB) seja acessado através de ponteiros de 32 bits. Isso funciona bem, desde que o disco seja acessado somente pelo gabinete externo. Os discos não devem ser trocados entre os compartimentos e o acesso direto via placas-mãe. Fazer isso provavelmente resultará no aparecimento de danos na tabela de partição e poderá causar danos ao sistema de arquivos.
  • Eles "rolam" o acesso a 2TiB. Isso resulta em um disco que parece ser 2TiB ou o restante do tamanho real dividido por 2TiB - normalmente cerca de 700GiB para um disco de 3TiB. (Observe que TB! = TiB; consulte aqui para obter detalhes.) Esse comportamento é um problema sério que impede o uso de discos grandes gabinetes que fazem isso. Colocar um disco que tenha sido usado internamente em tal gabinete geralmente resulta na aparência de uma tabela de partição danificada e pode resultar em corrupção do sistema de arquivos se você tentar usá-la.

Não vejo nenhuma evidência de nenhum desses problemas na sua saída gdisk , mas não está claro se essa saída vem do disco conectado por meio da unidade USB ou de alguma outra forma. Além disso, é concebível que o problema de "rolagem" ainda possa estar ocorrendo, mas o gabinete está relatando o tamanho real do disco.

Mais um ponto: você diz que fez sudo fsck -y /dev/sde . Isso está executando a verificação do sistema de arquivos no disco inteiro. A maioria dos discos é particionada, embora, e a saída gdisk indique que seu disco está particionado. Portanto, você deve ter executado fsck on /dev/sde1 , não /dev/sde . Se você relatou isso com precisão, é concebível que você tenha realmente danificado o sistema de arquivos, verificando todo o disco em vez da partição. Normalmente, eu espero que fsck relate um erro quando você faz algo assim, mas talvez você tenha tido azar nisso.

O resultado é que você deve parar de usar o disco em um gabinete externo, pelo menos a menos que você possa verificar se o seu gabinete está não fazendo qualquer tipo de "tradução" ou "rollover". Em vez disso, acesse-o conectando-o diretamente à placa-mãe de um computador. Você ainda pode ter que reparar problemas, mas pelo menos você não criará novos quando você gravar no disco.

    
por Rod Smith 20.07.2015 / 16:17