Tengo un dispositivo USB que es ilegible por alguna razón. Quiero hacer una imagen de él con fines de almacenamiento para poder intentar recuperar los datos de la imagen en una fecha posterior.
¿Cómo haría para crear una imagen tan idéntica de un dispositivo USB?
Este es el error que obtengo al 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
fuente
fuente
/dev/sdx
apuntando a la memoria USB, hay un problema grave, y creo que no hay herramientas disponibles para los usuarios normales, eso funcionará. Vea este enlace para más detalles, askubuntu.com/questions/144852/… ; No te rindas de inmediato. Intente de acuerdo con la lista de cosas que pueden hacer que la lectura funcione. Tal vez pueda separar el pendrive USB y encontrar una tarjeta micro SD, que todavía funciona de acuerdo con el comentario de @ ubfan1 (en la respuesta vinculada).Respuestas:
dd
¡eso!Uso sería algo así como
sudo dd if=/dev/sdb of=~/USB_image
en / dev / sdb es la unidad de USB según el listado desudo fdisk -l
e ~ / USB_image es el archivo de imagen en la que se hizo la copia (una ruta en la que se creó el archivo de imagen).Para restaurar la imagen a otra unidad USB, simplemente invierta el proceso:
sudo dd if=~/USB_image of=/dev/sdb
restaurará ~ / USB_image al dispositivo sdb . Solo asegúrese de que la nueva unidad USB sea tan grande o más grande que la original.También puede montar el archivo de imagen que acaba de crear en una ruta sin necesidad de restaurarlo primero en otra unidad USB con
mount ~/USB_image /mnt/USB_image -o loop
.fuente
fdisk -l
no puedo ver la unidad usb? Sin embargo, puedo verlo desde el programa Utilidad de Discos como / dev / sdd, pero cuando trato de usar su comando, parece fallar.status='progress'
condd
en Ubuntu, o descubra el PID de sudd
comando y envíele laSIGUSR1
señal. Sin embargo, no estoy seguro acerca de otras implementaciones.Uso
ddrescue
. Continuará después de los errores, dondedd
simplemente fallará.Además,
ddrescue
está en los repositorios. El 13.04, escribísudo apt-get install gddrescue
para instalar.Use
sudo fdisk -l
odmesg
para averiguar la ubicación del dispositivo, por ejemplo:,/dev/sdb
luego ejecute un comando comoHay muchas opciones para
ddrescue
, y es posible que desee leer lasman
páginas. Además, no estoy seguro de por qué su hardware está fallando y volcandodd
. Un bloqueo defectuoso podría dejar dedd
fumar, pero también podrían fallas intermitentes.dmesg
puede darle más información sobre fallas de hardware que pueda estar experimentando.¡ASEGÚRESE de que el dispositivo no esté montado! cuando intenta hacer recuperación de datos, imágenes, etc. Esto puede causar problemas.
Hay muchas cosas que pueden salir mal en la recuperación de datos. Publica de nuevo si tienes problemas.
testdisk
es una buena utilidad para recuperar datos una vez que tienes una imagen.Solo por claridad, ¿se trata de un disco duro USB o un dispositivo USB (memoria de estado sólido)?
Los errores de E / S son típicamente indicativos de mal funcionamiento del hardware en lugar de daños en el sistema de archivos.
Intente también obtener el análisis de datos SMART del dispositivo, si está disponible. Esto puede decirle cosas como si el dispositivo ha estado sobrecalentado, encendido durante mucho tiempo, tiene sectores defectuosos y está expuesto a más de X no. de Gs etc.
fuente
sudo
paraddrescue
, * donde dd simplemente fallará * no es cierto, ya que puede configurarlodd
para ignorar los errores de lectura.testdisk
Es increíble cuando puedes leer los sectores de datos perdidos , no cuando la unidad está muerta.gddrescue
contraddrescue
ya quegddrescue
es más nuevo y más capaz de hacer el trabajo queddrescue
hace.Puede crear una imagen de una memoria USB (u otro dispositivo) mediante
dd
.P.ej
Puede agregar más parámetros
dd
para optimizar el comando (por ejemplobs
).fuente
dd
, como se mencionó en un póster anterior, es la forma nativa de hacerlo. Sin embargo, querrá que continúe con los errores, por lo que debería comenzar con:La parte importante es la última:
conv=sync
le dice a dd que rellene todos esos bloques que podría leer solo parcialmente con ceros, por lo que la imagen resultante puede tener unos pocos ceros demasiados, pero estructuralmente será igual al disco escamoso, menos sus errores de lectura.conv=noerror
se ocupó de esos errores de lectura, diciéndole a dd que continuara con el siguiente bloque. En este punto, el tamaño del bloque es importante, ya que si es más grande de lo necesario para omitir el error, los datos legibles se perderán aquí. El tamaño de bloque siempre debe ser un factor de dos; si tiene dudas,512k
debería ser el truco.Entonces sugeriría:
(Parcialmente citando un artículo escrito en 2010)
Si no necesita permanecer nativo, siempre puede probar las herramientas que intentan facilitar un poco el proceso, como ddrescue (paquete
gddrescue
) y su compañeroddrescueview
( sourceforge ) para visualizar los errores.fuente
Con respecto a la segunda mitad de su pregunta "Este es el error que obtengo al usar dd": puedo ver un par de posibilidades.
~
frente de/USB_image
. En otras palabras, está intentando generar la raíz de su sistema de archivos en lugar de su directorio de inicio./dev/sdd
puede no ser la unidad correcta. Ejecutesudo fdisk -l
y compare el tamaño de la unidad con el tamaño conocido de la memoria USB. Por ejemplo, sé que esto es mi memoria USB, ya que está cerca de 16 GB:Disk /dev/sdf: 15.8 GB, 15805186048 bytes
.fuente