No se puede acceder al disco duro externo. "La estructura del disco está dañada e ilegible"

11

Tengo un disco duro externo AgentGoFlex Seagate de 1 TB.

Últimamente estaba causando algunos problemas, como algunas carpetas que tenían datos que no mostraban ningún archivo. Algunas carpetas no se abrían, etc.

Así que intenté ejecutar chkdsken Windows 8, pero no se completó con éxito. Así que desconecté el HDD. Ahora, cuando conecto el HDD al sistema, no se reconoce. En Linux no se reconoce en absoluto.

Mientras estoy en Win8 cuando intento acceder al disco desde el símbolo del sistema, dice "La estructura del disco está dañada e ilegible".

Even chkdskestá fallando ahora con el error: "El sistema de archivos es NTFS. No se puede determinar la versión y el estado del volumen. Chkdsk abortado".

Al intentar ejecutar la "utilidad de verificación" desde F: → haga clic con el botón derecho → Propiedades → Herramientas → Verificar, da el siguiente error.

Captura de pantalla de error: no se pudo realizar la comprobación del disco porque Windows no puede acceder al disco

Formatear el disco no es una opción, ya que tengo datos muy importantes.

Sugiera qué se puede hacer para habilitar el acceso al disco duro.

Anurag Rana
fuente
1
Si no puede enviar su disco a una empresa profesional de recuperación de datos, la siguiente mejor solución sería intentar hacer una imagen de sus discos en su estado actual (antes de que el disco falle por completo). Luego puede mantener el archivo de imagen como una "copia segura", intente recuperar el disco o un archivo de imagen duplicado. Estoy seguro de que Linux, al menos en algún nivel, reconoce su unidad, ¡así que intente obtener algunas herramientas de imagen de disco gratuitas y escriba primero la imagen en otro disco!
Waxhead
1
Me temo que Ramhound puede estar en lo cierto, su unidad puede estar muerta. Los datos pueden ser recuperables, pero hacerlo en casa puede resultar en la pérdida de aún más archivos; algunos profesionales pueden ayudarlo. Y recuerde, solo hay dos tipos de personas: las que hacen copias de seguridad y las que lo hacen.
gronostaj

Respuestas:

10

En primer lugar, no haga nada más en el disco (al menos, nunca escriba en él). El disco que no se reconoce (en lugar de "ser reconocido y encontrado vacío o con datos ilegibles") parece indicar un disco completamente arruinado, que chkdskno se suele hacer, o algo mal con la tabla de particiones o la geometría del disco , o la forma en que la carcasa USB lo maneja. También es posible una falla de hardware.

Esto puede y sucederá cuando los gabinetes USB intenten negociar entre el disco y la computadora a la que están conectados. Entonces, lo primero que debería hacer sería tomar una imagen del disco en un disco (obviamente más grande) en el nivel más cercano al físico posible, utilizando ddLinux. Luego, puede jugar con una copia de la imagen al contenido de su corazón, sin riesgo de dañar aún más el disco real.

Actualización: reconocimiento de dispositivos en Linux

No tenemos menos de tres entidades en nuestro "disco externo". El hardware del gabinete USB, que se expone como un dispositivo de bloque. El disco físico dentro del recinto. El dispositivo físico, es decir, la secuencia de sectores LBA de primero a último. Y finalmente cero o más particiones de datos, que alojan los sistemas de archivos. Para ser "reconocido" y mostrado en un escritorio, todos los enlaces de las cadenas deben estar funcionando. Pero para tomar una imagen del dispositivo físico solo necesita los dos primeros. Si conecta el dispositivo y ejecuta la línea de comandos dmesg(como root), debería ver algo como esto:

[4984939.028491] usb 8-6: new high speed USB device using ehci_hcd and address 3
[4984939.166658] usb 8-6: configuration #1 chosen from 1 choice
[4984939.170660] scsi7 : SCSI emulation for USB Mass Storage devices
[4984939.172003] usb-storage: device found at 3
[4984939.172005] usb-storage: waiting for device to settle before scanning

... que es el recinto que se reconoce y luego se identifica a sí mismo y a su contenido:

[4984939.170660] usb 8-6: New USB device found, idVendor=1058, idProduct=1021
[4984939.170660] usb 8-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[4984939.170660] usb 8-6: Product: Ext HDD 1021
[4984939.170660] usb 8-6: Manufacturer: Western Digital
[4984939.170660] usb 8-6: SerialNumber: 574D43305431303831303734
[4984944.400970] usb-storage: device scan complete

A continuación, verá el controlador informando de su geometría, naturaleza e implícitamente su nodo de dispositivo, aquí sdd(para SCSI Disk Four, desde entonces sda, sdby sdcya se tomaron):

[4984944.404739] scsi 7:0:0:0: Direct-Access     WD      Ext HDD 1021    2021 PQ: 0 ANSI: 4
[4984944.404739] sd 7:0:0:0: [sdd] 1953519616 512-byte hardware sectors (1000202 MB)
[4984944.407367] sd 7:0:0:0: [sdd] Write Protect is off
[4984944.407369] sd 7:0:0:0: [sdd] Mode Sense: 17 00 10 08
[4984944.407371] sd 7:0:0:0: [sdd] Assuming drive cache: write through
[4984944.408741] sd 7:0:0:0: [sdd] 1953519616 512-byte hardware sectors (1000202 MB)

Luego, el núcleo reconoce que hay una partición (si no ve esto, la partición no está allí o no es válida):

[4984944.411497]  sdd: sdd1

Ahora Linux tiene todo lo que necesita e informa un archivo adjunto exitoso:

[4984944.416739] sd 7:0:0:0: [sdd] Attached SCSI disk
[4984944.416739] sd 7:0:0:0: Attached scsi generic sg4 type 0

Y así comienza la búsqueda de la partición de datos, es decir, está bien sdd1, pero ¿qué hay allí? , y la respuesta es:

[4984997.498613] NTFS driver 2.1.29 [Flags: R/W MODULE].
[4984997.554613] NTFS volume version 3.1.
[4984997.568859] NTFS-fs error (device sdd1): load_system_files(): $LogFile is not clean.  Mounting read-only.  Mount in Windows.
[4985390.027808] NTFS-fs error (device sdd1): ntfs_remount(): Volume has errors and is read-only.  Cannot remount read-write.
[4985442.423299] NTFS volume version 3.1.
[4985442.425032] NTFS-fs error (device sdd1): load_system_files(): $LogFile is not clean.  Mounting read-only.  Mount in Windows.

Esto de arriba fue una "buena" montura. Sin embargo, el hecho de saber que el dispositivo es sdd, o sdc, o sdb, me permite hacer una copia binaria (suponiendo que tengo suficiente espacio libre en /mnt/backupdisk): archivo de entrada /dev/sdd, archivo de salida DiskImage.raw, tamaño de bloque 1 MB :

# dd if=/dev/sdd of=/mnt/backupdisk/DiskImage.raw bs=1M

Tenga en cuenta que el archivo de entrada es /dev/sdd y no /dev/sdd1 (o cualquier otro número). Ahora, si quisiera, podría encontrar el desplazamiento de la partición de datos dentro DiskImage.rawy montarlo con la ayuda de un dispositivo de bucle. Aquí encontrarás los detalles sucios.

Primer intento de recuperación

Lo segundo que debe hacer es colocar el disco físico en otro gabinete, asegurando así que el gabinete sea bueno y tener la oportunidad de que el nuevo gabinete interprete correctamente el disco. Si el disco vuelve a aparecer, podría haber sido el gabinete anterior que está roto. Por si acaso, haga una copia de seguridad de todos los contenidos de la unidad recién descubierta, verifique la copia de seguridad, ponga a cero el disco con una utilidad de sobrescritura de disco para que quede completamente tonto (no puede tener dos dispositivos con opiniones diferentes en una cadena de dispositivos), vuelva a formatearlo nativamente desde Windows y restaurar los datos. Es un tiro afortunado, pero lo vi suceder; y el intento no es demasiado caro, buenos gabinetes cuestan alrededor de US $ 19,99 nuevos.

En caso de que el gabinete original fuera malo, no podrá volver a formatear el disco o no podrá acceder al disco. Puede volver a intentar el nuevo gabinete, y si funciona, reemplace el viejo gabinete o siga usando el nuevo (pero esto vale la pena si el nuevo gabinete es bastante mejor que un El Cheapo de US $ 19.99).

Recuperación profesional

Servicios de recuperación profesional, aquellos que puede encontrar con Google. Una forma no muy honesta de hacerlo sería enviar el disco físico y, en caso de que obtenga un "Sí, no hay daños en el hardware y podemos recuperar todos sus datos por solo US $ $$$, $ $$! " respuesta: bueno, entonces sabrías que los datos todavía son recuperables. Por lo tanto, podría intentar hacerlo usted mismo de forma gratuita en la copia de seguridad de la imagen que tomó, y solo pagará el diagnóstico y el S&H del disco. Si falla, la opción de toser la masa solicitada aún estaría allí. Si no es daños en el hardware, el servicio profesional es, básicamente, su única opción. Hay varios trucos de vudú que revivirán (temporalmente) un disco "muerto", a menudo el tiempo suficiente para recuperar los datos más importantes al menos,ninguno que esté garantizado para funcionar cada vez (calentar el disco, enfriarlo, "girarlo", incluso vi sugerido golpearlo inteligentemente contra una superficie dura). Todos harán más daño, es decir, debes asegurarte de usar el único truco que funcionará la primera vez, o habrás matado el disco para siempre. Acabo de añadir esto a explicar por qué verá casos de éxito acerca de los discos revividos: no son tales historias. Pero si quiere estar (mayormente) seguro de que le sucederá a usted , bueno, contrate a un profesional.

Si está seguro de que el hardware está bien: giros de disco, sin ruidos, sin ruidos extraños o zumbidos, sin recalibraciones cliché-clackety, entonces "todo" que sucedió es que chkdskestropeó algunos datos.

Recuperación de bricolaje

La recuperación de "Inicio" generalmente sería así (básicamente lo mismo que harían los profesionales una vez que se haya descontado el daño de hardware), trabajando en la copia de la imagen del disco:

  • compruebe si el primer sector de la imagen del disco es una tabla de partición válida. De lo contrario, escanee la imagen del disco buscando una tabla de partición válida o un sector de arranque NTFS o FAT32 reconocible, dependiendo de qué FS estaba en la unidad (para una unidad de 1 TB, NTFS parece la única posibilidad lógica). De cualquier manera, deberías encontrar algo dentro de los primeros megabytes.

  • si se encuentra la tabla de particiones, verifique que la partición de datos esté donde la tabla de particiones dice que debería estar. Si no es así, esta es una muy buena noticia: probablemente la tabla de particiones es todo lo que está mal. Arreglarlo es fácil (varios editores de particiones de Linux lo harán), y se espera que el disco tenga una recuperación del 100%. Solo para estar seguro, intente montar la partición de datos en Linux con un dispositivo de bucle en modo de solo lectura para ver si es legible. Si es así, se confirma el borking de la partición, y el disco puede pronunciarse en su camino para una recuperación segura y completa. Si no es así, posiblemente la partición sea correcta y se haya reescrito una (parte de) una partición de datos. Esto es malo; ver más abajo en "las cosas se ponen feas".

  • si se encuentra y es válido, compárelo con la geometría de la unidad y, si no coinciden, eso también es algo bueno , ya que puede haber encontrado la causa raíz del problema. Puede forzar la geometría física al kernel (y obtenerla en el arranque de Linux ). Vea si la nueva geometría lleva al disco a ser reconocido en Linux. Si lo hace, haga una copia de seguridad de los datos, verifique que la copia de seguridad sea correcta y ponga a cero el disco con dd(un par de megabytes de ceros en el sddispositivo apropiado son suficientes). Apague la computadora (no solo reinicie; OK, es paranoico, pero cuesta poco y puede lograr algo), luego inicie Windows y haga que formatee el disco ahora despistado en lo que cree que es el mejor formato. Esto asegura que no haya conflictos con Windows. Restaurar datos en el disco. Disfrutar.

  • Si el truco de geometría no funciona, o la partición no se puede encontrar, o una vez que se encuentra parece estar vacía, las cosas se ponen feas. Necesita alguna herramienta de recuperación capaz de escanear la imagen del disco en busca de las áreas de datos (MFT, etc.) de los datos perdidos. Y una vez encontrado, inténtelos para obtener los datos. Este es un trabajo difícil y no siempre se puede automatizar por completo. En un nivel inferior y más desesperado, esto implica escanear las firmas de los archivos individuales , con la esperanza de que se encuentren en bloques contiguos en el disco. Sin embargo, este tipo de operación con mucho gusto lo dejaría a los profesionales. Lo hice varias veces, siempre con éxito, con viejos discos FAT. Lo volví a hacer, aproximadamente un 50% de éxito, con discos FAT32 más nuevos, más grandes y más fragmentados. yo intenté un par de veces, con malos resultados (pero tenía copias de seguridad completas y realmente no lo estaba dando todo), en los sistemas de archivos NTFS y ext4 mucho más complicados.

Recuperación manual de Linux

OK, entonces intentas montar la partición en Linux y obtienes errores ( fíjate en eso /dev/sdc y son cosas diferentes: la imagen hace referencia )./dev/sdcN /dev/sdc

# mount -t ntfs /dev/sdc1 /mnt/recovery
ntfs_mst_post_read_fixup_warn: magic: 0x00000000  size: 1024   usa_ofs: 0  usa_count: 65535: Invalid argument
Record 1 has no FILE magic (0x0)
Failed to open inode $MFTMirr: Input/output error

... esto parece indicar que la partición, como el sistema cree que es , está mal o muy dañada. Veamos primero la primera opción:

# fdisk /dev/sdc

Obtienes algo como esto:

Disk /dev/sdc: 1000.2 GB, 1000204885504 bytes
1 heads, 63 sectors/track, 31008335 cylinders, total 1953525167 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9d2b7596

Device       Boot      Start    End          Blocks       Id  System
/dev/sdc1              63       1953520127   976760032+   7   HPFS/NTFS/exFAT

El siguiente paso será verificar el inicio real de la partición. Al buscar en el archivo de imagen (o /dev/sdc) buscaremos la firma NTFS:

  00000000:EB 52 90 4E 54 46 53 20 -20 20 20 00 02 08 00 00 .R.NTFS ........ 
  00000010:00 00 00 00 00 F8 00 00 -3F 00 FF 00 3F 00 00 00 ........?...?... 
  00000020:00 00 00 00 80 00 80 00 -4A F5 7F 00 00 00 00 00 ........J....... 

# dd if=/dev/sdc bs=512 count=1 skip=63 2>/dev/null | hexdump -C | head -n 1

... con los datos anteriores, esperamos que el arranque NTFS esté en el sector 63, por eso lo configuramos skip. Además, intentaremos con cada sector en el primer (digamos) megabyte ...

# dd if=/dev/sdc bs=512 count=2000000 2>/dev/null | hexdump -C | grep "00:EB 52 90 4E 54 46 53"

... solo para asegurarme de que solo hay un sector de arranque (me sucedió esto. En un disco FAT32, pero aún así ) y que no hay errores de lectura en ninguna parte.

Tu resultado

00007e00  eb 52 90 4e 54 46 53 20  20 20 20 00 02 08 00 00  |.R.NTFS    .....|

es exactamente lo que esperaríamos: el sector 63 da un desplazamiento de 63 × 512 = 32256 = 7e00 hexadecimal. El sector de arranque NTFS está allí y la tabla de particiones parece ser correcta .

Así que ahora podemos copiar una gran parte de /dev/sdc1, digamos, /tmp/mydisk.imge intentar arreglarlo desde Linux. Esto no dañará el disco físico, que seguirá estando disponible sin cambios para otros intentos. Y como ahora sabemos que el PT es correcto, podemos usarlo /dev/sdc1para la copia y albergar esperanzas que antes no podíamos:

# dd if=/dev/sdc1 of=/tmp/mydisk.img bs=1G count=10
...after copying 10 gigabytes...

# ntfsfix /tmp/mydisk.img

Si NTFSfix no funciona, bueno, estamos en problemas. Sin embargo, hay utilidades más precisas que se pueden probar. Y si necesita recuperar archivos de imagen JPEG y el sistema de archivos no estaba fragmentado, esto puede hacerse automáticamente buscando los encabezados JPEG. Mismo, casi, va para documentos PDF, TIFF y de oficina, excepto que yo no sé cómo reconocerlos (para archivos JPEG, yo :-)). Como última opción, he encontrado a estos tipos : no los conozco, no estoy relacionado con ellos y no aceptaré ninguna culpa. Sin embargo, como van estas cosas, el precio es muy razonable.

LSerni
fuente
@ Iserni - Gracias por la información. Aunque el primer problema conmigo es que no puedo hacer la imagen de HDD en Linux porque no se reconoce en absoluto. En Windows se detecta al menos pero no es accesible.
Anurag Rana
actualización de respuesta re: "no reconocido"
LSerni
@Isreni - Muchas gracias por la ayuda. Puedo crear imágenes de datos en el disco, sin embargo, los datos en mi disco son de 400 GB y el tamaño máximo disponible en mi computadora portátil es de 200 GB. Por lo tanto, no podré hacer una imagen completa. Abortará en el medio. ¿Hay alguna manera de que solo pueda copiar 200 GB de 400 GB a mi computadora portátil y luego recuperar esa información de esa imagen de 200 GB?
Anurag Rana
Sí, se puede utilizar ddcon el countparámetro para obtener sólo un determinado número de gigabytes (dd considerar que los vendedores y de disco no están de acuerdo de lo grande que es un GB - "200 GB" a uno que podría significar "190 GB" a la otra. Pero también tenga en cuenta que un nuevo disco USB de 500 GB cuesta alrededor de USD 59,99; tal vez valdría la pena el gasto. El hecho de que pueda crear una imagen del disco significa que con toda probabilidad el hardware es perfecto. Estamos viendo un software mal funcionamiento aquí (a menos que tuviera la mala suerte con sangre de un mal funcionamiento del hardware sector en un área crítica).
LSerni
@Isreni -Gracias :) Hoy utilicé un software de recuperación de Seagate (versión gratuita) y es capaz de leer el HDD, enumerar toda la carpeta (como estaban) y puede recuperar todos los archivos de menos de 64kb (su versión gratuita). Eso significa que HDD seguramente no tiene ningún error de hardware. Después de copiar datos de 200GB en mi computadora portátil usando dd, ¿puedo acceder a ese volcado como accedemos a los directorios normales? No ... bien ... Porque el volcado creado es un archivo que no se puede abrir con ninguna aplicación normal instalada. Entonces, ¿cómo podemos extraer / copiar la carpeta / archivo requerido de ese volcado?
Anurag Rana
-2

simplemente vaya a cmd como un privilegio administrativo y escriba chkdsk X: / f ("X" es el nombre del volumen del controlador, "/ f" es fijo)

electroxeon
fuente
Respuesta @Iserni dejó el nivel de respuesta demasiado alto, lo siento, pero debe downvote
Francisco Tapia
Desde OP: "Incluso chkdsk falla ahora con el error:" El sistema de archivos es NTFS. No se puede determinar la versión y el estado del volumen. chkdsk abortado. ""
Ƭᴇcʜιᴇ007
-3

Una solución más simple que para mí y para mis colegas fue montar el disco y usarlo chkdsken Windows 7.

Raynor
fuente