Eltein Lab

Electrónica, Informática, Telecomunicaciones

Tutorial de MHDD

MHDD es una herramienta libre que utilizamos para trabajar con los discos duros al mayor bajo nivel posible. Está diseñada por Dmitry Postrigan, un gurú en esto de la reparación de discos duros. Lo utilizamos para diagnosticar los discos, acceder a sectores raw, comprobar el SMART y otras características del disco como la seguridad, la Host Protected Area (HPA) y la gestión acústica. Es una herramienta que se jecuta desde un CD de autoarranque de MSDOS.

¿Cómo trabaja?

Cuando MSDOS necesita leer un sector de un disco, pregunta a la BIOS. La BIOS mira en sus tablas para averiguar dónde está esa unidad conectada, chequea los rangos y comienza a mandar comandos al disco. Después devuelve los resultados al MSDOS.

Este sería un diagrama típico del proceso:

Y este sería el diagrama de trabajo de MHDD:

MHDD no utiliza las funciones ni las interrupciones de la BIOS, por lo tanto ni siquiera es necesario que la Bios detecte el disco duro. Este software trabaja directamente a través del controlador IDE o SATA, por lo tanto no se preocupa de las particiones, tablas de archivos o la BIOS y sus limitaciones.

ATENCION: No es recomendable hacer funcionar MHDD desde el disco que está en el mismo IDE en el que se encuentra el disco que se quiere diagnosticar. Podría provocar la pérdida de datos, debido a esto MHDD no traba con el IDE primario.

En el arranque

En el primer arranque, MHDD crea un archivo en /cfg/mhdd.cfg
El IDE primario está deshabilitado por defecto.
Se ve un menú de selección de unidad, este menú aparecerá cada vez que se pulse Shift + F3
Pulsar F1

Los mejores comandos para familiarizarse con el manejo y el entorno de MHDD son EID, SCAN, STOP, CX yTOF. Es recomendable, debido a las posibilidades del software, realizar pruebas apra aprender a utilizarlo con un par de discos duros que funcionen ben y que… no contengan datos que sean importantes.

MHDD se puede descargar aquí.

Diagnóstico de discos duros. Lista de flags de estado y de error

El sistema de servicio de un disco almacena información en diferentes flags, comunes para todos los discos y recogidos en las especificaciones ATA/ATAPI.

En el caso de MHDD, podemos visualizar en pantalla lo siguientes flags:

BSY – Drive Busy (Ocupado)

DRDY – Drive Ready. El disco está listo para aceptar comandos.

ERR . El último resultado fue un error.

DREQ Intercambio de datos con el sistema

UNCR . error no-corregible

WRFT – Write Fault, perdida de escritura

AMNF – Address marker not found

IDNF – Sector ID Not Found

ABRT – Comando cancelado

TONF – Track 0 not found.

Es conveniente echar un vistazo a los flags cuando iniciamos el disco. Cualquier disco IDE / SATA responde DRIVE READY y DRIVE SEEK COMPLETE, entonces deberían verse los flags DRDY y DRSC en azul.

BUSY aparece cuando el disco tiene algo que ejecutar, o lo está ejecutando (por ejemplo, un comando de lectura / escritura).

Algunos flags como WRITE FAULT o TRACK 0 NOT FOUND están obsoletos y no deberían aparecer nunca.

INDEX también está obsoleto pero a veces parpadea.

DATA REQUEST (DREQ) se enciende cuando el disco manda o recibe un dato al PC.

ERROR (ERR): Si aparece este flag se puede buscar en el registro de errores el tipo de erro que ha dado el disco.

SCANEAR UN DISCO CON MHDD

Esto solo es posible si el disco es detectado cuando ejecutamos un comando ID o EID (F2) Para explorar el dicho debemos utilizar el comando SCAN o F4
El análisis comienza por defecto en el sector cero y acaba en el último sector y todas las funciones que pueden ser destructivas para los datos están deshabilitadas por defecto ( remap, erase delays,..)

MHDD escanea las unidades de disco por bloques (recordemos que par IDE SATA un bloque son 255 sectores o 130560 bytes)

Como realiza el escaneo:
– Envía un comando de verificación de sectores con el número del LBA y el número de sectores para verificar como parámetros.
– La unidad responde con el aviso BUSY
– MHDD comienza el temporizador.
– Después la unidad ejecuta el comando de verificación, baja el flag BUSY.
– MHH cuenta el tiempo y pone el bloque correspondiente en la pantalla, coloreados en función del tiempo de respuesta. Si ocurre algún erro, muestra la letra correspondiente a ese error.
MHDD repite estos pasos hasta el último sector, si fuera necesario un log del escaneo se guarda en log/ mhdd.log

Si el disco tiene errores, antes de nada se debería hacer un backup y entonces aplicar el comando ERASE que borra cada sector del disco y recalcula los campos ECC de cada sector. Esto equivale a deshacerse de los sectores defectuosos pro software. Si esto no ayuda, ejecutar SCAN con la opción REMAP habilitada.

Si se observa que todos los bloques contienen errores no se debe intentar un ERASE o REMAP. En este caso se trataría de un error en la Service Area que no puede ser recompuesto por los comandos estándar de MMHDD. S lo datos son necesarios lo mejor es acudir a otras herramientas como la PC3000)

Obtener los atributos SMART

Se puede ejecutar SMART ATT o F8 para obtener los atributos SMART. ¿Qué significan?
El más importante es el valor bruto del atributo «Reallocated Sectors Count» (cuenta de los sectores reasignados), que dice cuántos remaps hay en la unidad. Normalmente, debe ser cero. Si es más de 50 tenemos un problema. That means you have bad power supply, vibration, overheating or just broken hard disk drive. Eso significa que está mal la alimentación, la vibración, sobrecalentamiento o rota la unidad de disco duro.

Echar un vistazo a la temperatura. Los valores buenos se encuentran entre los 20 y los 40 grados centígrados, pero algunas unidades no informan de su temperatura.
UDMA CRC error rate attribute means how many errors have happened during transferring data through IDE/SATA cable.

El atributo UDMA CRC ratio de error muestra cuántos errores se han producido durante la transferencia de datos a través del cable IDE / SATA. Lo normal es que sea cero, si no lo es, es necesario cambiar el cable de inmediato. El overclocking puede dar lugar a una mayor tasa de error.

El resto de atributos, por lo general no son tan importantes. Se puede consultar el Estándar ATA / ATAPI estándar para obtener más información acerca de los atributos SMART.

Comandos de identificación de Dispositivos

Los comandos ID y EID nos dan información sobre la unidad.
Se puede consultar el estandar ATA / ATAPI para obtener más información acerca de las características y modos de HDD.

Borrado de sectores en toda la unidad

Se puede utilizar el comando ERASE para hacer esto. Si la unidad es reconocida por la BIOS, MHDD intenta utilizar las funciones de la BIOS para borrar la unidad. If you don’t want MHDD to use BIOS to erase drives then use /DISABLEBIOS command line switch. Si no quiere que MHDD utilice la BIOS para borrar discos entonces utilice la opción use / DISABLEBIOS como modificador del comando en línea de comandos.

Cortar la unidad (cambio de tamaño)

Se puede utilizar el comando HPA para limitar el tamaño de una unidad de disco. Se preguntará acerca del nuevo valor numérico para MaxLBA, introduzca el número de sectores que desea utilizar. Para realizar la operación contraria en la unidad, utilizar el comando NHPA. Por favor, reiniciar la unidad antes de utilizar NHPA. Según ATA / ATAPI estándar, se puede utilizar las funciones HPA sólo una vez por ciclo de alimentación de la unidad.

Comandos de Seguridad

Para bloquear una unidad con contraseña de usuario se puede utilizar el comando PWD. Según se recoge en el estándar ATA / ATAPI estándar, es necesario reiniciar la alimentación del disco para que el ajuste de la contraseña quede activado.

Hay dos comandos para desbloquear unidades: UNLOCK y DISPWD.
UNLOCK desbloquea el disco sólo hasta el siguiente ciclo d energía (hasta la siguiente vez que el disco sea reiniciado).

Para desactivar la contraseña se debe utilizar UNLOCK en primer lugar, a continuación, utilizar DISPWD para desactivar la contraseña.

Para utilizar cualquiera de estos dos comandos es necesario saber la contraseña previa.
Ambos preguntarán qué tipo de contraseña se quiere utilizar: master o el user. Por ejemplo, el comando PWD establece una contraseña de usuario (user).
La contraseña maestra (master) se fija por el fabricante y puede ser utilizada para desbloquear el disco.

Copiar sectores en un archivo

You can read several sectors or whole drive to a file or to set of files. Puede leer varios sectores o toda la unidad en un archivo o conjunto de archivos.
Es sencillo, basta con ejecutar el comando TOF.
MHDD skips bad sectors, if any.
MHDD se salta los sectores defectuosos, si los hubiera. Si se prevé que el archive va a ser de un tamaño superior a 1 GB, es mejor utilizar el comando ATOF comando (que crea varios archivos en lugar de uno).

Escribir sectores desde archivos al disco

Use FF command to write sectors to the drive. Se puede utilizar el comando FF para escribir sectores en el disco. It will ask you the number of the first LBA sector to write and how many sectors to write. El comando preguntará el número del primer sector de la LBA que se quiere escribir y el número de sectores a escribir.

Gestión Acústica

Casi todos los discos modernos permiten la Gestión Acústica. Con esta utilidad se puede reducir el ruido producido por las cabezas debido al aumento del tiempo de búsqueda. El comando AAM sirve para ajustar el ruido.

Configuración de dispositivos

Se puede ver y cambiar la configuración actual de la unidad utilizando el comando CONFIG. Le permitirá ver o establecer.
– maximum UDMA mode,
– Security support
– SMART support
– LBA48 mode support
– AAM and HPA support.
– Etc.

También es posible cortar o restablecer el tamaño de la unidad mediante el uso de este comando. Algunos fabricantes están usando la Device Configuration parar establecer el tamaño de un disco.

Batches

Se puede escribir un simple archivo por lotes .bat donde se puede describir «qué hacer». Presionar la tecla F5 para ejecutar un lote.

Otros comandos MHDD

Presione F1 para obtener más comandos con los que jugar. También es una muy buena idea usar el comando MAN para obtener más información detallada sobre cada comando.

SCANEAR UN DISCO CON MHDD

Esto solo es posible si el disco es detectado cuando ejecutamos un comando ID o EID (F2) Para explorar el dicho debemos utilizar el comando SCAN o F4
El análisis comienza por defecto en el sector cero y acaba en el último sector y todas las funciones que pueden ser destructivas para los datos están deshabilitadas por defecto ( remap, erase delays,..)

MHDD escanea las unidades de disco por bloques (recordemos que par IDE SATA un bloque son 255 sectores o 130560 bytes)

Como realiza el escaneo:
– Envía un comando de verificación de sectores con el número del LBA y el número de sectores para verificar como parámetros.
– La unidad responde con el aviso BUSY
– MHDD comienza el temporizador.
– Después la unidad ejecuta el comando de verificación, baja el flag BUSY.
– MHH cuenta el tiempo y pone el bloque correspondiente en la pantalla, coloreados en función del tiempo de respuesta. Si ocurre algún erro, muestra la letra correspondiente a ese error.
MHDD repite estos pasos hasta el último sector, si fuera necesario un log del escaneo se guarda en log/ mhdd.log

Si el disco tiene errores, antes de nada se debería hacer un backup y entonces aplicar el comando ERASE que borra cada sector del disco y recalcula los campos ECC de cada sector. Esto equivale a deshacerse de los sectores defectuosos pro software. Si esto no ayuda, ejecutar SCAN con la opción REMAP habilitada.

Si se observa que todos los bloques contienen errores no se debe intentar un ERASE o REMAP. En este caso se trataría de un error en la Service Area que no puede ser recompuesto por los comandos estándar de MMHDD. S lo datos son necesarios lo mejor es acudir a otras herramientas como la PC3000)

Obtener los atributos SMART

Se puede ejecutar SMART ATT o F8 para obtener los atributos SMART. ¿Qué significan?
El más importante es el valor bruto del atributo «Reallocated Sectors Count» (cuenta de los sectores reasignados), que dice cuántos remaps hay en la unidad. Normalmente, debe ser cero. Si es más de 50 tenemos un problema. That means you have bad power supply, vibration, overheating or just broken hard disk drive. Eso significa que está mal la alimentación, la vibración, sobrecalentamiento o rota la unidad de disco duro.

Echar un vistazo a la temperatura. Los valores buenos se encuentran entre los 20 y los 40 grados centígrados, pero algunas unidades no informan de su temperatura.
UDMA CRC error rate attribute means how many errors have happened during transferring data through IDE/SATA cable.

El atributo UDMA CRC ratio de error muestra cuántos errores se han producido durante la transferencia de datos a través del cable IDE / SATA. Lo normal es que sea cero, si no lo es, es necesario cambiar el cable de inmediato. El overclocking puede dar lugar a una mayor tasa de error.

El resto de atributos, por lo general no son tan importantes. Se puede consultar el Estándar ATA / ATAPI estándar para obtener más información acerca de los atributos SMART.

Comandos de identificación de Dispositivos

Los comandos ID y EID nos dan información sobre la unidad.
Se puede consultar el estandar ATA / ATAPI para obtener más información acerca de las características y modos de HDD.

Borrado de sectores en toda la unidad

Se puede utilizar el comando ERASE para hacer esto. Si la unidad es reconocida por la BIOS, MHDD intenta utilizar las funciones de la BIOS para borrar la unidad. If you don’t want MHDD to use BIOS to erase drives then use /DISABLEBIOS command line switch. Si no quiere que MHDD utilice la BIOS para borrar discos entonces utilice la opción use / DISABLEBIOS como modificador del comando en línea de comandos.

Cortar la unidad (cambio de tamaño)

Se puede utilizar el comando HPA para limitar el tamaño de una unidad de disco. Se preguntará acerca del nuevo valor numérico para MaxLBA, introduzca el número de sectores que desea utilizar. Para realizar la operación contraria en la unidad, utilizar el comando NHPA. Por favor, reiniciar la unidad antes de utilizar NHPA. Según ATA / ATAPI estándar, se puede utilizar las funciones HPA sólo una vez por ciclo de alimentación de la unidad.

Comandos de Seguridad

Para bloquear una unidad con contraseña de usuario se puede utilizar el comando PWD. Según se recoge en el estándar ATA / ATAPI estándar, es necesario reiniciar la alimentación del disco para que el ajuste de la contraseña quede activado.

Hay dos comandos para desbloquear unidades: UNLOCK y DISPWD.
UNLOCK desbloquea el disco sólo hasta el siguiente ciclo d energía (hasta la siguiente vez que el disco sea reiniciado).

Para desactivar la contraseña se debe utilizar UNLOCK en primer lugar, a continuación, utilizar DISPWD para desactivar la contraseña.

Para utilizar cualquiera de estos dos comandos es necesario saber la contraseña previa.
Ambos preguntarán qué tipo de contraseña se quiere utilizar: master o el user. Por ejemplo, el comando PWD establece una contraseña de usuario (user).
La contraseña maestra (master) se fija por el fabricante y puede ser utilizada para desbloquear el disco.

Copiar sectores en un archivo

You can read several sectors or whole drive to a file or to set of files. Puede leer varios sectores o toda la unidad en un archivo o conjunto de archivos.
Es sencillo, basta con ejecutar el comando TOF.
MHDD skips bad sectors, if any.
MHDD se salta los sectores defectuosos, si los hubiera. Si se prevé que el archive va a ser de un tamaño superior a 1 GB, es mejor utilizar el comando ATOF comando (que crea varios archivos en lugar de uno).

Escribir sectores desde archivos al disco

Use FF command to write sectors to the drive. Se puede utilizar el comando FF para escribir sectores en el disco. It will ask you the number of the first LBA sector to write and how many sectors to write. El comando preguntará el número del primer sector de la LBA que se quiere escribir y el número de sectores a escribir.

Gestión Acústica

Casi todos los discos modernos permiten la Gestión Acústica. Con esta utilidad se puede reducir el ruido producido por las cabezas debido al aumento del tiempo de búsqueda. El comando AAM sirve para ajustar el ruido.

Configuración de dispositivos

Se puede ver y cambiar la configuración actual de la unidad utilizando el comando CONFIG. Le permitirá ver o establecer.
– maximum UDMA mode,
– Security support
– SMART support
– LBA48 mode support
– AAM and HPA support.
– Etc.

También es posible cortar o restablecer el tamaño de la unidad mediante el uso de este comando. Algunos fabricantes están usando la Device Configuration parar establecer el tamaño de un disco.

Batches

Se puede escribir un simple archivo por lotes .bat donde se puede describir «qué hacer». Presionar la tecla F5 para ejecutar un lote.

Otros comandos MHDD

Presione F1 para obtener más comandos con los que jugar. También es una muy buena idea usar el comando MAN para obtener más información detallada sobre cada comando.

Anuncios

Información

Esta entrada fue publicada el enero 20, 2015 por en Almacenamiento de Datos, Manuales, Recuperacion de datos.
A %d blogueros les gusta esto: