17 votos

¿Desde el sector malo "archivo dañado" - lo hizo para Linux/ext3, puedo hacerlo para Windows/NTFS?

Cuando un control INTELIGENTE en un disco reporta un mal sector, es importante ser capaz de identificar el archivo que tiene la mala sector y restauración de copias de seguridad. A continuación, muestro cómo hice esto para mi Linux/ext3 VMWARE server - pero ¿alguien sabe si esto se puede hacer para Windows/NTFS?

He aquí cómo la hice para Linux/ext3: me preguntó por primera vez la unidad para hacer un hardware de la exploración de superficie (por debajo del nivel del sistema operativo, con el drive SMART circuitos):

vserver:~# smartctl -t long /dev/sdc

Me miró a los resultados:

vserver:~# smartctl -a /dev/sdc
...
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       1
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       9
...
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       90%     27679         591363172

Así, un sector que ya estaba marcado malo, 9 fueron marcados para la sustitución de la "puesta en escena" del sector espacial. Lo que es más importante, la primera dirección de bloque lógico (LBA) que es ilegible, se 591363172.

He encontrado la partición (y el desplazamiento dentro de él) que este número "traducido" a:

vserver:~# fdisk -lu /dev/sdc
Device Boot      Start         End      Blocks   Id  System
/dev/sdc1           32   976773119   488386544   83  Linux

La partición se inició en el sector 32. Así, el sector malo fue...

vserver:~# bc -l
591363172-32+1
591363141

...en un desplazamiento de 591363141 los sectores, desde el principio de la partición.

Ahora he podido encontrar el archivo "manguera":

vserver:~# tune2fs -l /dev/sdc1 | grep Block\ size
Block size:               4096

El tamaño de bloque de este sistema de ficheros EXT3 fue 4096 bytes, por lo que el sector malo destruido este bloque en el sistema de ficheros:

vserver:~# bc -l
591363141*512/4096
73920392.62500000000000000000

Y el número de bloque (73920392) correspondieron a este archivo:

vserver:~# debugfs
debugfs 1.41.3 (12-Oct-2008)
debugfs:  open /dev/sdc1
testb 73920392
debugfs:  testb 73920392
Block 73920392 marked in use
debugfs:  icheck 73920392
Block           Inode number
73920392        18472967
debugfs:  ncheck 18472967
Inode           Pathname
18472967        /path/to/filewithbadsector

Y he restaurado el archivo de mis copias de seguridad.

Hay un procedimiento equivalente que puedo seguir para Windows/NTFS?

7voto

TechZilla Puntos 998

Sé que tengo un FS NTFS y ejecuta windows en el FS. No sé si "puede" arrancar un Linux live para trabajar en ese conductor o no.

Si puede arrancar Linux desde un CD o USB, puede utilizar ntfsprogs. Mira-

ntfscluster 

ntfsinfo 

Creo que ntfscluster decirte qué archivo almacena un grupo particular. Espero que esto te pone en la dirección correcta.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: