¿Qué hacer en caso de que alguna actualización de Windows nos impida arrancar el equipo?
Pese a que Microsoft dedica bastante tiempo a probar sus actualizaciones en un enorme número de configuraciones diferentes, es posible que nos encontremos con un sistema al que le hemos intentado instalar una actualización pero el proceso falla por algún motivo, entrando el sistema en un bucle sin fín y por lo tanto no se puede arrancar el equipo.
Para solucionar este tipo de problemas, debemos tener en cuenta que lo más complicado no es conseguir arrancar el equipo, sino dejarlo en un estado consistente. Básicamente esto quiere decir que la información que mantiene el sistema operativo sobre cada uno de sus componentes se corresponda con lo que existe en realidad, números de versión incluidos. Así pues, lo primero que recomiendo si nos encontramos con un problema de este tipo es intentar restaurar el sistema. Para ello, arrancamos con el DVD de Windows 7 en la unidad y seleccionamos la opción “Reparar el equipo”. Cuando se nos presente el cuadro de diálogo con las opciones de reparación, seleccionamos Restaurar sistema y seleccionamos un punto anterior a la instalación de la actualización problemática. Este procedimiento deja el sistema en un estado consistente.
¿Qué hacer si Restaurar sistema no consigue solucionar el problema o bien no hay un punto de restauración disponible (Windows crea un punto de restauración automático antes de cada instalación de actualización)?
En esta situación mi consejo es que, debido al diseño actual y la arquitectura de componentes de Windows, pese a que consigamos arrancar el sistema va a ser tarea casi imposible dejarlo en un estado consistente. Este hecho probablemente causará problemas similares con actualizaciones futuras. Por tanto, debemos centrarnos en conseguir arrancar el sistema y salvaguardar los datos de importancia antes de proceder a reinstalar el sistema operativo.
Para conseguir iniciar el sistema, podemos probar a arrancar nuevamente con el DVD de Windows 7, seleccionamos “Reparar el equipo” y abrimos una ventana de comandos. En ella, teclearemos el siguiente comando:
Dism.exe /Image:X:\ /Cleanup-Image /RevertPendingActions
(Donde “X” es la unidad del sistema que no puede arrancar).
Este comando lo que hace es revertir todas las acciones pendientes que se hayan generado durante la instalación de la actualización. Estas acciones pendientes se ejecutan tras el reinicio de la máquina y los eventos relacionados quedan registrados en los ficheros %windir%\winsxs\poqexec.log, %windir%\winsxs\pending.xml y %windir%\winsxs\pending.xml.bad. Para que un paquete de actualización se instale correctamente, deben ejecutarse y finalizar con éxito todas las acciones que tenga pendientes, por lo que si alguna falla podemos encontrarnos en una situación de bucle infinito. En actualizaciones grandes como puede ser un service pack, hay un periodo de la instalación durante el cual no puede producirse ningún fallo o corte de energía. Si ocurriera, casi con total probabilidad el sistema entrará en un bucle infinito tras el reinicio. En Windows 7 esta “ventana fatídica” de tiempo se ha reducido bastante, lo que unido a la estabilidad del servicio de componentes y del instalador de actualizaciones han conseguido reducir enormemente este tipo de problemas. Si nos enfrentamos a un equipo con estos síntomas deberíamos sospechar siempre de alguna inconsistencia de base en el servicio de componentes de Windows, corrupción en el disco o algún otro tipo de fallo de hardware.
Actualización (15/6/2011): Si se quiere evitar reinstalar el sistema una vez recuperado el arranque correcto de la máquina, el Windows Server Core Team de Microsoft nos presenta un método para devolver el sistema a un estado consistente de nuevo, usando la herramienta Dism.exe para instalar y posteriormente desinstalar el paquete fallido. Aquí puede encontrar más información (en inglés): http://blogs.technet.com/b/askcore/archive/2011/05/10/supported-workaround-for-torn-state-installations-on-windows-7-sp1.aspx