Eu tenho um pendrive que é ilegível por algum motivo. Quero criar uma imagem para fins de armazenamento, para tentar recuperar os dados da imagem posteriormente.
Como eu criaria uma imagem tão idêntica de um pendrive?
Este é o erro que recebo ao usar dd
:
oshirowanen@desktop:~$ sudo dd if=/dev/sdd of=/USB_image
[sudo] password for oshirowanen:
dd: reading `/dev/sdd': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 1.00783 s, 0.0 kB/s
oshirowanen@desktop:~$
backup
usb-storage
disk-image
oshirowanen
fonte
fonte
/dev/sdx
aponta para o pendrive, há um problema sério e acho que não existem ferramentas disponíveis para usuários normais, que funcionarão. Veja este link para mais detalhes, askubuntu.com/questions/144852/… ; Não desista imediatamente. Tente de acordo com a lista de coisas que podem facilitar a leitura. Talvez você possa separar o pendrive USB e encontrar um cartão micro SD, que ainda esteja funcionando de acordo com o comentário de @ ubfan1 (na resposta vinculada).Respostas:
dd
isto!Uso seria algo como
sudo dd if=/dev/sdb of=~/USB_image
, onde / dev / sdb é o seu drive USB, conforme listado porsudo fdisk -l
e ~ / USB_image é o arquivo de imagem onde a cópia será feita (um caminho onde o arquivo de imagem será criado).Para restaurar a imagem em outra unidade USB, basta inverter o processo:
sudo dd if=~/USB_image of=/dev/sdb
restaurará ~ / USB_image no dispositivo sdb . Apenas certifique-se de que a nova unidade USB seja tão grande ou maior que a original.Você também pode montar o arquivo de imagem que acabou de criar em um caminho sem precisar restaurá-lo primeiro para outra unidade USB com
mount ~/USB_image /mnt/USB_image -o loop
.fonte
fdisk -l
não conseguir ver a unidade USB? No entanto, eu posso vê-lo no programa Utilitário de Disco como / dev / sdd, mas quando tento usar seu comando, ele parece falhar.status='progress'
comdd
no Ubuntu, ou descobrir o PID do seudd
comando e enviá-loSIGUSR1
sinalizar. Não tenho certeza sobre outras implementações, no entanto.Use
ddrescue
. Ele continuará após erros, ondedd
simplesmente falhará.Além disso,
ddrescue
está nos repositórios. No 13.04, digiteisudo apt-get install gddrescue
para instalar.Use
sudo fdisk -l
oudmesg
para descobrir a localização do dispositivo, por exemplo: e/dev/sdb
, em seguida, execute um comando comoexistem muitas opções para
ddrescue
, e você pode querer ler asman
páginas. Também não sei por que seu hardware está falhando e fazendo o dumpingdd
. Um bloco ruim poderiadd
sair, mas também falhas de energia intermitentes.dmesg
pode falar mais sobre falhas de hardware que você pode estar enfrentando.VERIFIQUE se o dispositivo não está montado! quando você tenta recuperar dados, imagens, etc. Isso pode causar problemas.
Há muitas coisas que podem dar errado na recuperação de dados. Publique de volta se você tiver problemas.
testdisk
é um bom utilitário para recuperar dados depois de ter uma imagem.Apenas para maior clareza, este é um disco rígido USB ou dispositivo USB (memória de estado sólido)?
Os erros de E / S são geralmente indicativos de mau funcionamento do hardware, em vez de corrupções no sistema de arquivos.
Tente também obter a análise de dados SMART do dispositivo, se estiver disponível. Isso pode lhe dizer coisas como se o dispositivo estiver sob aquecimento, ligado por um longo tempo, tiver setores defeituosos, expostos a mais de X não. de Gs etc.
fonte
sudo
paraddrescue
* onde dd simplesmente falhará * não é realmente verdade, pois você pode configurardd
para ignorar erros de leitura.testdisk
é incrível quando você pode ler os setores de dados perdidos , não quando a unidade está morta.gddrescue
contra,ddrescue
uma vez quegddrescue
é mais novo e mais capaz de fazer o trabalho queddrescue
faz.Você pode criar uma imagem de um pen drive (ou outro dispositivo) usando
dd
.Por exemplo
Você pode adicionar mais parâmetros
dd
para otimizar o comando (por exemplobs
).fonte
dd
, como mencionado em um pôster anterior, é o caminho nativo a seguir. Você deseja que ele continue com os erros, portanto, iniciá-lo com:A parte importante é a última:
conv=sync
diz ao dd para preencher todos os blocos que poderia ler apenas parcialmente com zeros, para que a imagem resultante possa ter alguns zeros a mais, mas será estruturalmente igual ao disco escamoso, menos seus erros de leitura.conv=noerror
cuidou desses erros de leitura, dizendo ao dd para continuar com o próximo bloco. Nesse ponto, o tamanho do bloco é importante, pois se for maior que o necessário para ignorar o erro, os dados legíveis serão perdidos aqui. O tamanho do bloco sempre deve ser um fator de dois - em caso de dúvida,512k
deve fazer o truque.Então eu sugiro:
(Citando-me parcialmente de um artigo escrito em 2010)
Se você não precisar permanecer nativo, poderá sempre tentar ferramentas que estejam tentando facilitar um pouco o processo, como ddrescue (pacote
gddrescue
) e seu companheiroddrescueview
( sourceforge ) para visualizar os erros.fonte
Com relação à segunda metade da sua pergunta "Esse é o erro que recebo ao usar o dd": posso ver algumas possibilidades.
~
na frente/USB_image
. Em outras palavras, você está tentando gerar a raiz do seu sistema de arquivos em vez de para o diretório inicial./dev/sdd
pode não ser a unidade correta. Executesudo fdisk -l
e compare o tamanho da unidade com o tamanho conhecido do pen drive. Por exemplo, eu sei que este é o meu stick USB porque é perto de 16GB:Disk /dev/sdf: 15.8 GB, 15805186048 bytes
.fonte