Primeiro de tudo, se a sua unidade estiver com erros de E / S, você deve verificar se a sua unidade está saudável o suficiente. Os erros de E / S podem estar localizados apenas em blocos específicos de bad block / bad, mas ter um / alguns é como uma falha de unidade geralmente é iniciada.
Você pode usar smartctl
para verificar o status S.M.A.R.T.
da sua unidade, que fornece muitas informações sobre as condições gerais da unidade, mais interessante sobre a contagem de setores pendentes realocados / atuais. Você pode instalar o smartctl
instalando o pacote smartmontools
:
sudo apt-get update && sudo apt-get install smartmontools
Para SATA
unidades, você pode verificar o status S.M.A.R.T.
da sua unidade executando:
sudo smartctl -a -d <device_file>
* < device_file > = arquivo de dispositivo para o qual sua unidade está mapeada (na forma de /dev/sdX
; você pode verificar isso executando lsblk
);
Para IDE
unidades, você pode verificar o status S.M.A.R.T.
da sua unidade executando:
sudo smartctl -a <device_file>
* < device_file > = arquivo de dispositivo para o qual sua unidade está mapeada (na forma de /dev/sdX
; você pode verificar isso executando lsblk
);
Os índices mais importantes a serem verificados são Reallocated sector count
e Current pending sector count
. O primeiro fornece o número dos setores "mortos" do disco, enquanto o segundo fornece o número de setores "quase mortos" do disco que serão realocados se uma nova tentativa de leitura falhar.
Se o disco estiver um pouco envelhecido, esses números provavelmente não serão 0, que é a condição ideal. Quão alarmantes esses números realmente são depende, especificamente da idade e do tamanho da unidade; considere que cada setor "morto" na maioria dos discos rígidos equivale a 512 B
do espaço de armazenamento já perdido, mas acima de tudo um número já alto geralmente é propenso a aumentar mais rapidamente e geralmente é um indicador de uma falha próxima.
Além disso, você pode tentar com ddrescue
. Se a partição que contém o (s) arquivo (s) que você está tentando recuperar for a partição root
, faça isso em um Live DVD, já que o sistema de arquivos de destino deve ser montado somente para leitura.
Tenha também em atenção que a leitura / escrita de uma unidade não saudável pode arruiná-la ainda mais. ddrescue
pretende causar o menor dano possível, mas não há garantias.
Primeiro, se a partição de destino estiver montada, desmonte-a:
sudo umount /media/<username>/<partition_mount_point>
* < nome do usuário > = seu nome de usuário; < partition_mount_point > = ponto de montagem da partição (você pode verificar isso executando lsblk
);
Remonte a partição de destino como somente leitura:
sudo mkdir /media/<username>/ddrescue && sudo mount -o ro /dev/<sdXY> /media/<username>/ddrescue
* < nome do usuário > = seu nome de usuário; < sdXY > = bloquear dispositivo para o qual a partição está mapeada (você pode verificar isso executando lsblk
);
Crie um diretório para copiar os arquivos recuperados (neste caso, é uma pasta " recovered
" no seu home
):
mkdir ~/recovered
Executar ddrescue
:
ddrescue /media/<username>/ddrescue/<file_path> ~/recovered
* < nome do usuário > = seu nome de usuário; < caminho_do_gato > = caminho do arquivo na partição de destino;
E repita este último passo para cada arquivo que você deseja recuperar.
Uma vez feito, desmonte a partição de destino e remova a pasta temporária:
sudo umount /media/<username>/ddrescue && sudo rmdir /media/<username>/ddrescue
* < nome do usuário > = seu nome de usuário;