Reparar ou recuperar partição aparentemente danificada no disco externo USB

1

Um amigo trouxe este disco rígido externo WD My Passport para mim para ver se eu poderia recuperar seus arquivos. O dispositivo "não está funcionando" após uma queda de energia. De acordo com seu testemunho, quando o dispositivo está conectado, o Windows "reconhece" a unidade (o que quer que isso signifique), mas ela "não consegue ver seus arquivos".

Na minha máquina Ubuntu 14.10, chego até aqui:

$ lsusb
Bus 004 Device 002: ID 1058:0748 Western Digital Technologies, Inc. My Passport 1TB USB 3.0

Estes dois dispositivos apareceram enquanto a unidade estava conectada, mas desapareceu depois que foi removida:

crw-rw----  1 root disk       21,   3 Jan 11 19:30 sg3
crw-------  1 root root       21,   4 Jan 11 19:30 sg4

Eu posso ter perdido alguma outra coisa em /dev/ ou em um dos subdiretórios. Não sei se o arquivo a seguir está relacionado, mesmo depois de desconectar a unidade:

$ ls -la /dev/usb
crw-------  1 root root 180, 0 Jan 11 19:00 hiddev0

Eu desmontei a caixa na esperança de obter uma interface SATA ou IDE para a unidade, mas o dispositivo tem a conexão USB 3.0 diretamente na PCB. Há o que parecem ser alguns jumpers vazios (como aqueles encontrados em drives IDE mais antigos), mas eles não são acessíveis do lado de fora do case.

Qual seria o próximo passo para tentar montar esta unidade? Idealmente eu gostaria de dd do seu conteúdo para um lugar seguro, então fsck com um pouco de oração. Não tenho certeza se o dispositivo está formatado como FAT ou NTFS, pois a Western Digital parece vender dispositivos com qualquer tipo de partição. Posso causar algum dano adicional se eu tentar montar /dev/sg3 ou /dev/sg4 como o tipo errado de FAT ou NTFS?

Editar: os dispositivos em /dev/sg3 e /dev/sg4 não serão montados. Aqui está o resultado da tentativa de montagem:

$ ls -la | grep sg
drwxr-xr-x   2 root root           140 Jan 11 20:43 bsg
crw-r--r--   1 root root        1,  11 Jan 11 19:00 kmsg
crw-rw----   1 root disk       21,   0 Jan 11 19:00 sg0
crw-rw----+  1 root cdrom      21,   1 Jan 11 19:00 sg1
crw-rw----   1 root disk       21,   2 Jan 11 19:00 sg2
crw-rw----   1 root disk       21,   3 Jan 11 20:43 sg3
crw-------   1 root root       21,   4 Jan 11 20:43 sg4

$ mkdir ~/inbal

$ sudo mount -t ntfs /dev/sg
sg0  sg1  sg2  sg3  sg4  

$ sudo mount -t ntfs /dev/sg4 ~/inbal
[sudo] password for dotancohen: 
Error reading bootsector: Illegal seek
Failed to sync device /dev/sg4: Invalid argument
Failed to mount '/dev/sg4': Illegal seek

$ sudo mount -t ntfs /dev/sg3 ~/inbal
Error reading bootsector: Illegal seek
Failed to sync device /dev/sg3: Invalid argument
Failed to mount '/dev/sg3': Illegal seek

$ sudo mount -t vfat /dev/sg4 ~/inbal
mount: /dev/sg4 is not a block device

$ sudo mount -t vfat /dev/sg3 ~/inbal
mount: /dev/sg3 is not a block device
    
por dotancohen 11.01.2015 / 19:28

1 resposta

2

Eu sei que esta é uma pergunta antiga, e esta resposta deve ser um comentário para o qual eu não tenho reputação suficiente, mas acho que deve ser dado algum tipo de aviso aqui:

Até mesmo uma tentativa de montar somente leitura pode causar acessos de gravação à unidade!

O melhor exemplo é a montagem de uma partição Reiserfs somente leitura (!): Isso alterará pelo menos um byte no disco, como pode ser verificado por compair as imagens da partição tiradas antes e depois da montagem. Acabei de ver novamente com o Reiserfs versão 3.6.24. Eu acho que é algum tipo de contador de montagem que é aumentado lá.

Eu vi semelhante com drivers NTFS mais antigos, mas lá as alterações no disco foram revertidas depois de desmontar a partição novamente. Por favor, note: Estamos falando de montagens somente para leitura!

Assim, ao tentar resgatar um disco, dd (ou similar) vem antes de qualquer tentativa de montagem, mesmo que seja somente de leitura.

Outro obstáculo no caso descrito na questão é o fato de o kernel não ter conseguido estabelecer nenhum dispositivo de bloco para acessar a unidade.

Como você pode ver nas listagens ls de /dev , os arquivos sg* são dispositivos de caractere. Estes são usados para se comunicar com o dispositivo em um nível inferior usando comandos SCSI. Veja, por exemplo, o SCSI-Generic-HOWTO . Esses dispositivos não podem ser usados em comandos de montagem.

Se não houver nenhum dispositivo de bloco para essa unidade visível em /proc/partitions , a maioria das ferramentas de diagnóstico e salvamento, como Smartmontools, hdparm , testdisk e até dd , serão descartadas.

Eu temo que você precise de um bom mago para isso.

    
por 25.11.2018 / 03:22