Restaurando XP virtual

La semana pasada mi hermana me pidió ayuda con un trabajo, por lo que para facilitarle las cosas le preste una maquina virtual con Windows XP, sin embargo por alguna extraña razón luego de un extraño fallo en el sistema  mi maquina virtual dejo de funcionar (cosa muy común tratándose de Windows, pero raro porque nunca me había fallado una máquina virtualizada), en fin me decidí a recuperar mi sistema, porque la verdad es que le tengo cierto aprecio a esa maquina virtual (aunque no use como SO de base Windows, todavía me es útil).

El primer síntoma es un reinicio constante que seguramente muchos recordarán, bueno como dudo que con el poco tiempo que dura este mensaje alguien sea capaz de leerlo, lo primero que debemos de hacer es precisamente evitar que se reinicie constantemente para eso oprimimos F8 durante el inicio y seleccionamos la opción "Deshabilitar el reinicio automático si hay error en el sistema", a continuación seleccionar el SO con el que vamos a arrancar, ahora a esperar nuestra pitufi pantalla.



Luego de un rato nuestra querida y hermosa pantalla azul del recuerdo, ya sabemos que algo esta podrido ahora la cuestión es repararlo, como en este caso dispongo de otra maquina virtual con XP instalado, resultará demasiado sencillo repararla, pero voy a poner un par de ejemplos usando tanto otra maquina virtual como un LiveCD para la restauración a fin de que ustedes vean cual es el procedimiento, este procedimiento es perfectamente valido para los errores:

No se puede iniciar Windows XP porque el siguiente archivo está dañado o no se encuentra: \WINDOWS\SYSTEM32\CONFIG\SYSTEM

No se puede iniciar Windows XP porque el siguiente archivo está dañado o no se encuentra: \WINDOWS\SYSTEM32\CONFIG\SOFTWARE

Stop: c0000218 {Error del archivo de Registro} El Registro no puede cargar la sección (archivo): \SystemRoot\System32\Config\SOFTWARE o su registro o alternativo

Bueno si tenemos otra maquina virtual con SO a la mano haremos uso de ella, por lo que debemos configurar nuestro disco duro virtual dañado como esclavo y arrancar el sistema.


Una vez iniciado nos vamos a "Mi PC" y buscamos el disco duro que tiene fallas en el registro, antes de comenzar vamos a habilitar las opciones de "Ver todos los archivos" y desmarcar las opciones de "Ocultar archivos protegidos del sistema operativo", "Ocultar las extensiones de archivo para tipos de archivo conocido" y "Utilizar uso compartido simple de archivos".



Nota: estas opciones normalmente están habilitadas a fin de que un usuario no toquetee cosas que puedan dañar el sistema (léase Microsoft piensa que somos pendejos XD, mejor dicho nos quiere hacer pendejos jajajajajaja)

Bueno una vez cambiadas las opciones vamos buscar la carpeta "System Volume Information", pero al intentar ingresar a ella:


Esto es porque no es nuestra! (ya se lo que están pensando "como chingados no, que no esta en mi disco?"), esto es un tema un tanto complejo pero no me voy a enrollar con eso, baste decir por ahora que existen al menos dos usuarios aparte del suyo en todo SO XP, que tienen más privilegios que cualquiera, pero eso es otro cuento, les dejo las tradicionales capturas:







Una vez que nos dimos permisos, vamos por esta chin...

Entramos a la carpeta, seleccionamos la vista detallada a fin de saber cual es la fecha de modificación de los archivos y carpetas, en mi caso el error ocurrió el veintiuno por lo que usaré la del dieciocho "RP90" adentro encontraremos varios archivos que por el momento no importan, vamos a la carpeta "snapshot", de ahí los archivos que nos interesan son (solo los archivos):


Por lo que vamos a la raíz creamos una carpeta (nombrenla como les venga en mi caso use "nreg", ahora y ya teniendo esto listo vamos a la consola del sistema y ejecutamos el siguiente script (para ejecutarlo basta con renombrar el archivo a "registro.bat" y ejecutarlo desde con "Win + R" en mi caso "E:\" corresponde a la unidad donde guarde el script, hay que cambiar eso por la que corresponda al suyo). Con esto debería de bastar para realizar una copia de los archivos recuperados a la carpeta correspondiente, solo me resta aclarar dos cosas, la primera que el script debe estar directamente en la raíz donde se encuentran dañados los archivos, la segunda que los nombres de las carpetas "nreg" y "Windows" deben ser los que correspondan a los archivos recién copiados y al directorio dañado respectivamente.


Ahora una vez terminada nuestra pequeña aventura, hay que asegurarnos de restaurar los permisos que movimos, para ello seleccionamos al usuario/grupo al que le habíamos concedido privilegios y damos click en eliminar, para que quede como muestra la segunda imagen.



Lo siguiente es iniciar en modo seguro y restaurar el sistema a un punto anterior, en mi caso usaré el día diecisiete (Inicio/ Todos los programas/ Accesorios/ Herramientas del sistema/ Restaurar sistema).




Y luego de un par de "Siguiente"s, habrá terminado todo y estará como nuevo nuestro sistema, ahora que ya conocen la magia lo haré usando un LiveCD de Ubuntu, ustedes pueden usar el que les venga en gana ya sea Linux (Hay muchas distros) o Windows (Pilitos, UBootCD, etc), no pienso dar explicaciones de porque use esa pero la seleccionamos como muestra la imagen:


luego de un rato, aparece la pantalla que nos muestra pide seleccionar nuestro idioma y seleccionar si queremos instalar o probar, usamos la opción probar, luego damos click en la carpeta "Home" y del lado superior derecho nos muestra nuestro disco duro le damos click y automáticamente lo montara (no!, no se trata del hipódromo ni nada por el estilo) bueno una vez adentro buscamos la carpeta de "System Volume Information" como se podrán dar cuenta los dejará entrar sin ningún problema (sorprendidos!!!? no deberían).



Bueno el siguiente paso si es algo complejo de este lado, hay que averiguar cual es la carpeta más reciente XD, eso si que es sencillo en Windows...

Bueno realmente no es tan complicado, ya que hemos llegado hasta este punto, vamos por ese maldito registro!!!. Presionen "Ctrl + L" ahora los dejara seleccionar la ruta en donde están (lo seleccionamos todo y lo copiamos), ahora abrimos una terminal, como?, dándole click al logo de Ubuntu y escribimos terminal, les resulta familiar (otro plagio de los ventanucos XD!!!) 


Es el primer icono luego escribimos cd e iniciamos comillas dobles, y con el botón derecho le damos pegar, por último cerramos las comillas dobles y damos un enter, una vez ahí escribimos "ls -lA" y:

Interesante no?, lo extraño son las fechas que muestra porque si lo recuerdan Windows decía que la carpeta RP89 se modifico el 17, la RP90 el 18 y la RP91 el 21, mientras que aquí nos dice que la RP89 y RP90 se modificaron el 18 y la RP91 el 22, como sea, usaré la de en medio para no romperme las pelotas (ustedes pueden usar la que quieran, no lo había mencionado antes?) lo demás es ya historia damos "Ctrl + T" para una nueva pestaña luego navegamos hasta donde esta instalado nuestro sistema, copiamos los archivos ahí, eliminamos los otros y finalmente renombramos las copias por los nombres originales, reiniciamos y listo).

Seguro que si son observadores se habrán dado cuenta de un par de cosas interesantes al usar este método, la primera de ellas es que pudimos ver e ingresar de manera sencilla a un directorio de sistema de Windows (seguro que a muchos se les ocurre un buen uso para eso XD!!), por otra parte el icono del archivo dañado es diferente al resto de los iconos de los archivos ahí, no voy a dar todos los detalles, eso ya les toca a los curiosos investigar, por otra si alguien se esta preguntando "puedo conservar una copia de ese archivo dañado y remplazarla usando Linux para joder a (AQUÍ EL NOMBRE DEL PROFE, NOVIO, ETC)?", bueno eso ya se los dejo a su criterio, no sin antes recomendarles hacer una copia de los archivos, para luego salvar su trasero (o el del nombre del paréntesis anterior XD!), por último como seguramente ya lo intuyeron este método aplica perfectamente para hardware convencional, solo que es más sencillo experimentar con maquinas virtuales, aunque sigo preguntándome como fue que la daño mi hermana!?

Nota casi final: No siempre es necesario restaurar el sistema a un punto anterior, con copiar los archivos de registro necesarios debería ser suficiente, pero pueden hacerlo si no les funciona.

Ahora si la nota final: Durante la realización de este post no se daño a ningún equipo virtual (eso lo hizo mi hermana), el autor del post no se hace responsable de los daños que pueda sufrir su equipo convencional o virtual, los experimentos realizados deben ser supervisados por un adulto, el que escribe todo este choro es un experto en chorear no tanto en asuntos de informática, por lo que, niños: EXPERIMENTEN!!!!!!!

SaluDoS hermanita!!!

Comentarios

Entradas populares de este blog

Detener la sincronización de tiempo/fechas entre Host y Guest en Virtual Box

Extraer datos de un archivo.mdb (Access) con python

Solución al problema con odbc pgsql (postgresql) en Windows 7 de 64 bits