No decorrer da tentativa de recuperar dados de um disco rígido com falha , estou executando o comando ddrescue
.
O comando está em execução há 9 dias e, pelo som da atividade do disco, pensei que talvez estivesse fazendo alguma coisa. A saída da linha de comando parecia mais ou menos estática todo esse tempo:
$ sudo ddrescue -r3 /dev/sdb /home/dave/RECOVERY/usb500.image /home/dave/recovery_usb500.logfile
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 0 B, errsize: 0 B, errors: 0
Current status
rescued: 0 B, errsize: 500 GB, current rate: 0 B/s
ipos: 2539 MB, errors: 1, average rate: 0 B/s
opos: 2539 MB, time from last successful read: 9.7 d
Splitting failed blocks...
A única parte que está mudando é onde diz ipos
e opos
. Demorou 9 dias para se atualizar 500000 MB
, que é o tamanho da unidade de disco com falha. Quando chegou lá, porém, voltou a cair 0
e começou a subir novamente. Enquanto escrevo isso, é sobre 2580 MB
e contando.
O arquivo de imagem que está sendo criado tem 0 bytes de comprimento.
O arquivo de log tem cerca de 3 MB e fica assim:
# Rescue Logfile. Created by GNU ddrescue version 1.14
# Command line: ddrescue -r3 /dev/sdb /home/dave/RECOVERY/usb500.image /home/dave/recovery_usb500.logfile
# current_pos current_status
0x975C3000 /
# pos size status
0x00000000 0x00862000 -
0x00862000 0x00014800 /
0x00876800 0x00800400 -
~~~~~~edited for brevity ~~~~~~~~
0x74702CCE00 0x00320000 -
0x74705ECE00 0x00025800 /
0x7470612600 0x005F3A00 -
Estou começando a ficar preocupado com o fato de que isso é apenas uma perda de tempo e nenhum dado está sendo recuperado.
Existe alguma indicação nesta saída de que algo útil esteja acontecendo?
Existe alguma razão para deixar o ddrescue
comando continuar como está, ou devo pará-lo e fazer outra coisa?
Este é o conteúdo mais recente de /var/log/syslog
Jun 10 07:29:17 homebase-i3 kernel: [568470.316436] sd 5:0:0:0: [sdb] Sense Key : Medium Error [current]
Jun 10 07:29:17 homebase-i3 kernel: [568470.316443] sd 5:0:0:0: [sdb] Add. Sense: Unrecovered read error
Jun 10 07:29:17 homebase-i3 kernel: [568470.316450] sd 5:0:0:0: [sdb] CDB: Read(10): 28 00 11 ff 02 98 00 00 08 00
Jun 10 07:29:17 homebase-i3 kernel: [568470.316465] end_request: critical target error, dev sdb, sector 301925016
Jun 10 07:29:17 homebase-i3 kernel: [568470.346640] sd 5:0:0:0: [sdb] Unhandled sense code
Jun 10 07:29:17 homebase-i3 kernel: [568470.346646] sd 5:0:0:0: [sdb] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
Jun 10 07:29:17 homebase-i3 kernel: [568470.346651] sd 5:0:0:0: [sdb] Sense Key : Medium Error [current]
Jun 10 07:29:17 homebase-i3 kernel: [568470.346656] sd 5:0:0:0: [sdb] Add. Sense: Unrecovered read error
Jun 10 07:29:17 homebase-i3 kernel: [568470.346662] sd 5:0:0:0: [sdb] CDB: Read(10): 28 00 11 ff 02 98 00 00 08 00
fonte
--force
opção, ela não está corretaVocê deve poder parar,
ddrescue
pois ele usa o arquivo de log para poder reiniciar sua operação (fechar) de onde saiu. No entanto, eu verificaria se o arquivo de log foi atualizado recentemente, observando o carimbo de data ou horatail -f /home/dave/recovery_usb500.logfile
.O fato de seu arquivo de imagem ainda ser pequeno demais pode ter a ver com nenhum bloco recuperado com êxito da unidade ainda. No entanto, isso seria um resultado ruim depois de todo esse tempo em execução. Supondo que haja apenas alguns blocos defeituosos no dispositivo e que eles não estejam no início, seu status de primeiras entradas seria
+
. O IIRCddrescue
começa a ler até encontrar um erro e depois começa a dividir o restante do disco. Seu disco parece falhar desde o início.A menos que haja (várias)
+
entradas no log e o tamanho do arquivo ainda esteja0
, não acho queddrescue
esteja errado. Não+
significa que nada da sua unidade foi recuperável. Isso pode significar eletrônicos fritos ou uma cabeça ruim, pois no caso de apenas alguns setores estarem com defeito, você teria resultados muito mais rápidos.Quanto a fazer outra coisa. Presumo que você já tentou ler alguns blocos com dd normal. Você olhou para o syslog com base nisso e pesquisou no Google todas as mensagens que encontrou lá?
A pesquisa por "Resultado: hostbyte = driverbyte inválido = DRIVER_SENSE" resulta em algumas leituras interessantes (em parte em alemão) com mais algumas sugestões:
Além de resfriar um disco ilegível (com spray de resfriamento), eu nunca tentei nenhum deles.
fonte
dd
, pois não sei o que é isso. Minha intuição é que a maior parte da unidade e dos dados está intacta, mas há alguma falha em alguma área crítica do disco onde ocorre a indexação ou a listagem de arquivos.ddrescue
um derivadodd
disso não para quando um erro é encontrado. Você checou+
sinais?+
sinais. Há apenas-
e\
sinais.ddrescue
isso comece depois de todo esse tempo. Se você quiser, podemos conversar (link no topo desta página) sobre isso/var/log/syslog
à pergunta.