12 de septiembre de 2012

[BSOD] Stop 0x000000ED (Unmountable_Boot_Volume)

Me ha tocado solucionar el problema escrito en el enunciado y fuera de las soluciones estándar que el gigante Google nos ofrece, me gustaría comentar mi experiencia con este error y la curiosa manera de solucionarlo.

Fuente: http://kamalsalem.wordpress.com/2010/04/08/unmountable_boot_device/
Entrando en detalles, el error Stop 0x000000ED se produce debido a cómo Windows escribe los datos en disco duro utilizando almacenamiento cache para aumentar la velocidad. Como podemos leer en la página de Microsoft:
"Debido a la optimización del modelo de escritura de las unidades de disco IDE, las rutinas de almacenamiento en caché a veces escriben los datos desordenados para mantener las velocidades de escritura lo más rápidas posible en función de dónde se encuentren los datos en el disco. Esto abre un lapso de tiempo en el que las tablas cruciales del sistema de discos NTFS podrían dañarse si una operación de escritura no se completara.[...]"
Tal y como comentan en la misma página del fabricante al igual que en otros blogs y otras páginas Web, como por ejemplo la siguiente página de soporte de HP. Se soluciona tras ejecutar el comando chkdsk con la opción /r para comprobar la integridad de los sectores dañados del disco duro e intentar solucionarlos:
"Locates bad sectors and recovers readable information. Implies /p."
Pero qué podemos hacer cuando el instalador de Windows no nos reconoce la partición y no tenemos acceso a la consola de recuperación. En mi caso he probado con varios Service Packs y cambiando las opciones de compatibilidad SATA en la BIOS pero con el mismo resultado.

Fuente: http://www.linux-noob.com/forums/index.php?/topic/3986-install-xp-from-fedora/
Cuando me dispuse a copiar la información del usuario en cuestión para asegurar no perderlos y tras intentos varios de copiar la información sin comprimir, comprimida, en un disco duro, en otro... Al final acabé montando el disco duro en mi portatil con Debian Squeeze instalado utilizando el paquete ntfs-3g incluido en los repositorios. Como superusuario, es decir root, escribimos:
mount [-t ntfs-3g] /dev/sdX /ruta/final
A mi me ha tocado montar, desmontar y volver a montar la unidad y ha cambiado el nombre de /dev/sdb1 a /dev/sdc1. Podéis verlo en la siguiente captura obtenida del archivo /var/log/syslog:

"Sep 12 14:50:45 Brixton ntfs-3g[2583]: Mounted /dev/sdb1 (Read-Write, label "", NTFS 3.1)
[...]
Sep 12 14:51:25 Brixton ntfs-3g[2583]: ntfs_attr_pread_i: ntfs_pread failed: Error de entrada/salida
Sep 12 14:51:25 Brixton ntfs-3g[2583]: Failed to read index block: Error de entrada/salida
[..]
Sep 12 14:52:09 Brixton ntfs-3g[2583]: ntfs_attr_pread_i: ntfs_pread failed: Error de entrada/salida
Sep 12 14:52:09 Brixton ntfs-3g[2583]: Failed to read index block: Error de entrada/salida
Sep 12 14:52:21 Brixton ntfs-3g[2583]: Unmounting /dev/sdb1 ()
Sep 12 14:52:54 Brixton ntfs-3g[2916]: Version 2010.3.6 integrated FUSE 27
Sep 12 14:52:54 Brixton ntfs-3g[2916]: Mounted /dev/sdc1 (Read-Write, label "", NTFS 3.1)
[...]
Sep 12 16:17:42 Brixton ntfs-3g[2916]: Unmounting /dev/sdc1 ()"

Cuando he montado los anteriores volúmenes, me apareció un mensaje informando que se solucionaban algunos problemas con el arranque del dispositivo ([...] fix boot [...]). No he capturado el mensaje porque no creía que tendría relación pero si ha alguien le aparece que me mande una captura.

Otra cosa de la que no he encontrado información es porqué se ha solucionado. He visto algo de información sobre ntfsfix para solucionar algunos problemas pero nada relacionado al montar unidades NTFS.

Al final, tras varias horas de comprimir la información útil del disco duro y volver a arrancar el portátil con el disco original se ejecuta un chkdsk automáticamente:

Fuente: http://www.techiwarehouse.com/engine/ce9db812/Disable-Automatic-CHKDSK-Option
Y tras el reinicio que le acompaña se recupera la estructura del disco duro y el normal funcionamiento del sistema operativo. Comentarios jocosos se me ocurren varios pero una solución lógica y documentada? Si alguien la tiene...

Un saludo, Brixton Cat.