¿Cómo determino qué archivo ocupa un sector determinado?

34

Tengo un disco duro con 3 sectores defectuosos. Sé los números de sector y la computadora aún puede arrancar en Windows. Quiero ejecutar la reparación del sector desde una herramienta de diagnóstico de HDD del fabricante, pero antes de hacerlo, me gustaría saber qué archivos están afectados. ¿Hay alguna manera de averiguar qué archivo o archivos están ocupando esos sectores?

Jens Erat
fuente
1
El editor del sector de roadkil podría ir en parte, simplemente no enumera los programas.
barlop
Vea también Cómo averiguar qué archivo está en un sector en particular : la misma pregunta, pero para un sistema de archivos NTFS al que se accede desde Linux.
sleske

Respuestas:

22

Aquí está el proceso usando WinHex , un práctico editor hexadecimal que puede examinar y editar unidades directamente. Ten mucho cuidado; Esta herramienta puede dañar su sistema si se usa de manera inapropiada. Abra los discos de solo lectura siempre que sea posible.

  1. Como ya tiene las ubicaciones de sectores defectuosos, puede abrir la unidad en WinHex directamente ( botón de la barra de herramientas "Abrir disco" ) y luego navegar al sector para ver los datos ( botón de la barra de herramientas "Ir al sector" ). Suponiendo que las ubicaciones de su sector son direcciones del sector físico, debe abrir su unidad física en este paso.

    Esto no identificará el archivo directamente, pero el panel izquierdo debería identificar la partición que contiene este sector y su correspondiente dirección de sector relativo .

  2. Si la partición que ha identificado es una partición NTFS o FAT, podemos abrir la partición directamente ( "Abrir disco" nuevamente). Esto abrirá la partición en una nueva pestaña, por lo que puede cambiar de un lado a otro según sea necesario. En la pestaña de partición, use la función "Ir al sector" nuevamente, pero esta vez ingrese el sector traducido (el "sector relativo" identificado en la vista de la unidad).

    Ahora, en el panel de la izquierda, debería ver una sección sobre "Asignación de espacio visible en la unidad" . Debajo de esto está el # de clúster, el # de sector físico, el # de sector lógico (relativo) y el nombre de archivo si este sector realmente pertenece a un archivo.

Si estos pasos no le dan una respuesta inmediata, sus sectores defectuosos pueden no estar en uso. Si los resultados no son claros, es posible que deba investigar un poco más para encontrar su respuesta.

quijote curandero
fuente
1
La versión descargable dice ser una versión de evaluación, pero parece muy capaz. No estoy seguro de cuál es el período de prueba. consulte aquí las opciones de licencia: x-ways.net/winhex/order.html
quack quixote
WinHex fue la bomba ... Encontró qué archivos fueron afectados por los sectores defectuosos (sectores absolutos del escaneo de superficie) en minutos. Impresionante tutorial. Gracias Votaría u arriba "cuac quijote" pero no tienen la reputación necesaria ...... 15
¿Se puede obligar a la interfaz de usuario a revelar esta información sin leer el sector? Estoy realizando la recuperación en un disco que se apaga (se desconecta y se apaga) cuando leo sectores particulares.
sheldonh
El sitio web de winhex aparece inactivo / no disponible ( i.imgur.com/1FAX5cN.png ) pruebe la siguiente solución nfi. Recto y simple. gratis. "respuesta inmediata";)
Costin Gușă
21

Pruebe nfi.exe: utilidad de información del sector de archivos del sistema de archivos de Windows NT (NTFS). Descargar desde Microsoft OEM Support Tools Phase 3 SR2 .

> nfi.exe
Dumps information about an NTFS volume, and optionally determines
which volume and file contains a particular sector.

Usage: nfi drive-letter [logical-sector-number]

        Drive-letter can be a single character or a character followed
        by a colon (i.e., C or C: are acceptable).

        Logical-sector-number is a decimal or 0x-prefixed hex
        number, specifying a sector number relative to the volume
        whose drive letter is given by drive-letter. If not
        specified, then information about every file on the volume
        is dumped.

   nfi NT-device-path physical-sector-number

        Determines which volume a given physical sector on a drive is
        within, and then which file on the volume it is in.

        NT-device-path is the NT-style path to a physical device.
        It must not include a partition specification.

        Physical-sector-number is a decimal or 0x-prefixed hex
        number, specifying a sector number relative to the physical
        drive whose device path is given by NT-device-path.

    nfi full-win32-path

        Dumps information about a particular file. full-win32-path
        must start with a drive letter and a colon.

Tenga en cuenta que debe omitir el "\\?" prefijo de la ruta del dispositivo de bloque. Ejemplo:

C:\Users\admin\Downloads>nfi \Device\Harddisk0\DR0 28521816
NTFS File Sector Information Utility.
Copyright (C) Microsoft Corporation 1999. All rights reserved.


***Physical sector 28521816 (0x1b33558) is in file number 5766 on drive C.
\IMAGES\win7HDD.vhd
    $DATA (nonresident)
        physical sectors 32863720-34098663 (0x1f575e8-0x2084de7)
        physical sectors 28519912-32863719 (0x1b32de8-0x1f575e7)
        physical sectors 25727944-26291143 (0x18893c8-0x1912bc7)
        physical sectors 95163976-115106143 (0x5ac1648-0x6dc615f)
Robert Collier
fuente
Me conecté solo para votar esto. Esto debe ser marcado como respuesta!
Costin Gușă
Si no lo sabe NT-device-path, puede intentar encontrarlo con dd --list. (Atención a los usuarios con herramientas Unix en PATH: ddaquí está C:\WINDOWS\system32\dd.exe, es posible que deba usar la ruta completa)
usuario
Windows 10 no tiene esta utilidad en system32. c:\Windows\System32>dd.exe 'dd.exe' is not recognized as an internal or external command, operable program or batch file.
Aen Sidhe
1
El enlace de descarga en el sitio de Microsoft está muerto
cuenca
1
También se puede encontrar en la máquina wayback web.archive.org/web/20150329185738/http://…
mkey
8

La mayoría de los programas de desfragmentación muestran un mapa de disco que muestra todos los grupos en el disco en el que puede hacer clic (busque los marcados como incorrectos ) para ver los archivos ubicados en ese grupo.

Como dijo Walter, cualquier combinación de disco y sistema operativo de la última década se asegurará de reubicar archivos de sectores defectuosos automáticamente (el firmware de la unidad generalmente maneja esto, pero las herramientas de disco como los chkdskdesfragmentadores generalmente también lo harán).


Desfragmentador:

ingrese la descripción de la imagen aquí

Defrag-a-File:

ingrese la descripción de la imagen aquí

Vopt:

ingrese la descripción de la imagen aquí

Synetech
fuente
Parece prometedor, lo intentaré.
ChrisWue
6

DiskView de Sysinternals realiza exactamente esta función: mostrar un mapa de disco de la unidad y permitirle ver qué archivos ocupan qué clústeres.

Desafortunadamente, no parece haber una forma de mostrar los nombres de los archivos del sistema.

Ventana principal de DiskView Archivo de sistema DiskView

Synetech
fuente
Es por eso que lo publiqué como una respuesta por separado, porque es una herramienta hecha específicamente para este propósito, por lo que responde a la pregunta, pero es limitada (todavía uso FAT32 ampliamente), por lo que no es el objetivo final. Toda solución. (¿Todavía?)
Synetech
5

Puede usarlo fsutildesde el símbolo del sistema del administrador. El subcomando volumetiene subcomando querycluster. Consulte la referencia de línea de comandos de Windows Fsutil .

Fsutil toma el número de clúster en la unidad lógica como argumento de entrada, en lugar del número de sector. Pero debería ser fácil calcular este número:
cluster # = (absolute_sector - start_of_partition_sector) / sector_per_cluster.

Salida de ejemplo:

c:\tmp> fsutil volume querycluster C: 5235
Cluster 0x0000000000001473, verwendet von
 ----D \Program Filesx86)\LibreOffice 4\program\fwilo.dll::$DATA
NorbertM
fuente
3

Por lo que sé, cuando una unidad alcanza un cierto número de errores de lectura en un sector, se marca como defectuosa y su contenido se copia en otro lugar de la unidad. Esto suele suceder antes de que los datos de ese sector se vuelvan completamente ilegibles.

Intento desenterrar una fuente para eso, solo lo leí ayer pero no recuerdo dónde.

del hombre hdparm (8)

Tenga en cuenta también que el indicador --repair-sector se puede usar para restaurar (cualquier) sector defectuoso cuando ya no se necesite, incluidos los sectores que fueron realmente defectuosos (es probable que la unidad los reasigne a un área nueva en los medios).

En pocas palabras: no tiene que preocuparse por los sectores defectuosos, el firmware de los discos duros lo hace por usted. lo único que tiene que hacer es obtener una nueva unidad antes de que haya demasiados y su unidad muera.

Baarn
fuente
Estoy bastante seguro de que la reasignación ocurre en escritura y no en lectura. Los datos SMART de la unidad parecen confirmar eso. El número de sectores pendientes es alto (mayor que 0), mientras que el recuento de reasignación de sectores es 0. Para mí eso significa: hay sectores defectuosos marcados para la reasignación pero aún no se han reasignado.
ChrisWue
¿Has probado CHKDSK? en.wikipedia.org/wiki/CHKDSK
Baarn
mira la opción / r
Baarn
Sin embargo, no es posible obtener información sobre los archivos almacenados en ese sector.
Baarn el
2

DiskExplorer de RunTime le permite examinar una unidad por sector. Es payware ($ 70 para la versión NTFS) pero gratis para probar. Tienen versiones para NTFS, FAT y Linux (ext2 / 3).

texto alternativo

quijote curandero
fuente
Esto parecía prometedor, pero lamentablemente no funciona. DiskExplorer muestra "Entrada MFT no válida" para cada sector de la unidad.
Espero que falte un paso de configuración si muestra eso para todos los sectores, pero no he usado esta herramienta en mucho tiempo, así que no puedo darle instrucciones directas con ella. agregaré otra respuesta con una herramienta separada; quizás alguien más intervenga con el uso adecuado de este.
quack quijote
No es un problema de configuración, es que Disk Explorer es muy complicado y difícil de usar. No es lo suficientemente automático. (El viejo programa de DOS Norton Disk Doctor fue similar, pero mucho más fácil de usar, ya que lee y se ajusta a las estructuras del sistema de archivos de forma automática una pena que no es compatible con NTFS y se suspendió..)
Synetech
0

Sé que el hilo es antiguo, pero para el registro de todos los que tienen ese problema, hay forma de verificarlo desde Linux. Siempre se puede usar Linux en vivo en una unidad de CD / USB, como Slax, que es muy fácil de ejecutar. De todos modos, de vuelta a los negocios.

Encontré hoy algunos registros de smartd deamon con advertencias de sectores ilegibles y decidí investigar eso. Después de la investigación, finalmente ejecuto (# es un indicador que indica privilegios de root, sudo se puede usar en su lugar si uno se ejecuta como usuario normal):

# smartctl -H /dev/sda2

SMART overall-health self-assessment test result: PASSED

Lo que indica que esa unidad es algo saludable, lo cual es bueno. Pero seguí e investigué más y corrí badblocks.

# badblocks -v /dev/sda2 > ~/log/sda2.badsectors
# cat ~/log/sda2.badsectors

271521948

Así que había algo badblock la que quería saber qué archivo al que pertenece y descubrí que se podía hacer con debugfs, el problema era que mi partición NTFS fue así que utilicé ntfstools que es la clave:

# ntfscluster -s 271521948 /dev/sda2 > 271521948.secinfo 2>&1
# cat 271521948.secinfo | grep -v "extent"

Searching for sector 271521948
Inode 142427 /tmp/dl/setup_torch_2.exe/$DATA
* one inode found

/ grep -v "extent"es deshacerse de mucha información inútil mostrada por ntfscluster/

Entonces, en caso de NTFS, todo lo que uno necesita es ntfscluster -s $SECTOR.

tansy
fuente