Mi portal profesional donde publico mis prácticas y trabajos además de artículos relacionados con las artes, el diseño gráfico y la ilustración, centrándome en especial en la cartelería y la publicidad. También encontraréis información sobre recursos para diseñadores, referencias e inspiración

martes, 27 de diciembre de 2011

Reparar el Grub o el boot de Windows y no morirte en el intento

Esta entrada es larga muy larga. Pero después de los días que me he echado intentando solucionar el problema sin necesidad de un DVD de Windows 7 (que al final me han prestado) y leyendo ciento de cosas sin casi que me sirva ninguna... me he animado a contar mi experiencia. Y espero que le sirvan a muchos desesperados que siguen habiendo por estos mundos sin resolver su problema. Así que empecemos desde el principio.

1-Síntomas del ordenador

Como bien sabrán quienes hacemos particiones de disco duro, por lo general con Windows/Linux aunque he leído a alguno usando Windows 7 y XP, para elegir uno de los SO sale un menú que en Linux se conoce como Grub.

Al parecer, en las recientes versiones de distribuciones de Linux, el Grub (Legacy) ha sido sustituido por Grub 2. Parece ser que Windows Vista y 7 (a veces el XP) son incompatibles con este Grub y los resultados pueden ser diversos:

-Enciendes el ordenador y se quede la pantalla en negro a excepción de un guión que parpadea. Es lo que me pasó a mí y como el disco duro no parece reaccionar, llegué a creer que se me había jodido el disco duro.

-Te carga el Grub, si elijes la distribución de Linux te funciona pero si elijes la de Windows te pueden ocurrir varias cosas y no te funciona. O bien te pasa como antes, que se quede la pantalla en negro y un guión parpadeante o bien te devuelve diferentes mensajes de error, los cuales varía según lo que haya provocado esta situación.

2-Posibles causas

Como acabo de decir, al instalar distribuciones como Ubuntu 9.04 o superiores, openSUSE 11 o superiores y otras distribuciones de la misma época (es decir de hace un año o dos hasta ahora) puede ocurrir que rompamos el Boot de Windows.
Obviamente esto lo sé una vez he resuelto el problema, si a alguien que no sabe esto le ocurre alguna de las cosas que antes he mencionado, primero tiene que preguntarse ¿qué ha hecho para provocar esta situación?

Una de esas causas, según he leído en los muchos foros y algunos blogs, es que la gente haya formateado y eliminado la partición de Linux, que con toda lógica, hace que desaparezca Grub y Windows no arranque, claro. El Grub como he dicho, es de Linux, si pensamos en formatear esa partición para eliminarla, hay que hacer antes algo que describo en el punto 8 de esta guía.

Suponiendo que el mayor cambio tenga simplemente que ver con la instalación de nuevas distribuciones, como me pasó a mí, la causa es la del Grub.

3-El problema es del Grub y/o del boot, no de la partición.

Cuando el fallo que te da, es el de la pantalla en negro, es fácil entrar en pánico y pensar que te ha petado el disco duro. Bien, si os ocurre así y contais con algún CD Live de una distribución de Linux, usadlo. Yo ya tenía configurada la BIOS para que, en caso de introducir un CD/DVD me lo cargase. Si no es así, al menos a mí me salía la pantalla de Packard Bell, el punto donde puedo acceder la BIOS y poder cambiar la configuración para que cargue un CD.

Bien, una vez accedemos al Live podemos comprobar si el problema es del disco duro o no. Si el problema está relacionado con el arranque, podréis acceder desde el Live a la partición de Windows y ver las carpetas que tengáis. Si no, pues es momento de dejar de leer porque está claro que puede ser un fallo físico o cualquier otro problema.

Si leéis la partición, pues podéis empezar por hacer una copia de seguridad de vuestras cosas para luego empezar a seguir una serie de pasos para poder recuperar el boot del sistema Windows o el grub.

Es importante tener muy clara esta idea porque he encontrado en muchos sitios donde decían que el problema es que te has cargado la partición y que tienes que formatear. Uno de los primeros enlaces que leí fue éste en el que da a entender que el boot de Windows se puede romper solito. Si además contamos con la posibilidad de que el Grub2 se cargue de todos modos el boot... pues ya tenemos para rato. O al menos yo he tenido para rato.

4-Buscando soluciones: las diferentes posibilidades

Bien, una vez sabes qué ha pasado, empiezas a buscar soluciones con los medios que tengas. Yo me he llegado a leer bastantes páginas de Google buscando una solución y en principio, tuve que empezar a solucionarlo por mi cuenta porque ninguna de las cosas que leí, me valían o las probé y no me sirvieron. Un ejemplo fue una descripción para recuperar el arranque usando un CD Live cualquiera a través de comandos.

La conclusiones que he sacado de mis lecturas son variadas:

-Están aún muy verdes con el tema del Grub y Windows: hay soluciones para recuperar el grub desde un cd Live, hay soluciones para recuperar el boot de Windows a través de los CD/DVD de instalación y hay soluciones para volver a recuperar el grub después de recuperar el arranque de Windows. Pero no hay una manera eficaz de editar el Grub y recuperar Windows sin necesidad de CD/DVD. A mí por ejemplo me lo han tenido que dejar porque no cuento con un DVD y no me fío de la partición que tengo llamada “recovery mode”.

-La solución no tiene por que ser el empezar de cero: he leído a menudo eso de formatear o reinstalar Windows como medida para resolver el tema del arranque. Si he leído en millones de sitios que se puede recuperar ¿por qué tengo que formatear? Cuando tienes tantas cosas en tu partición de Windows, ya sea por estudios o trabajos, aunque hagas una copia de seguridad... sigue siendo una pérdida de tiempo empezar de cero por algo como el fallo en el arranque del sistema

-Hay personas que no saben hacer un tutorial en condiciones: se agradece la información pero he visto muchos temas muertos porque o las soluciones dadas no han servido o como me he dado cuenta a última hora... las explicaciones están mal dadas porque faltan pasos intermedios.

Dicho esto, enumeraré y describiré los pasos que he ido siguiendo después de varios días probando de todo. Si tu problema es que has perdido el arranque al completo (no ves nada) pasa al paso número 6, si no, continúa leyendo.

5-Recuperando el Grub al completo

Bien, cuando tienes el ordenador en el estado que he mencionado antes, en el que nada arranca y tienes que tirar de un CD Live, tienes dos posibles soluciones. La que he mencionado antes no funciona pero después encontré otro enlace que da unos comandos que sí que funcionan. Esa sería la solución idónea puesto que lo que no quieres es perder lo que tienes en Linux. Lo que ha provocado esta situación puede ser una actualización de Linux, algo repentino o como en mi caso, instalación de cero. Llevaba tiempo probando distribuciones nuevas y por tanto en algún momento se jodió todo. No al instante pero si al poco tiempo. Con los comandos que se describen en el enlace, tienes suficiente para recuperar el Grub pero si acabas de instalar Linux y no te importa reinstalar... puedes hacerlo. Yo lo hice y recuperé tanto el Grub como Windows... al menos durante 24 horas.

En cualquier caso, si este era tu problema y recuperas el arranque de ambos sistemas, recomiendo leer el punto 8 sobre el uso de EasyBCD o SuperGrub Disk. Si el problema era que simplemente no carga Windows o después de hacer lo anterior, recuperas el Grub pero no carga Windows, sigue leyendo.

5.1-openSUSE como alternativa

No es que quiera hacer publicidad de una distribución concreta si no que quiero hablar de ella por diferentes motivos. Una vez que me vuelve a pasar lo de la desaparición del Grub me planteo abandonar definitivamente Ubuntu, viendo que la mayoría de problemas estaban relacionados con Ubuntu y viendo que KDE como alternativa a Unity o GNOME... en el caso de Ubuntu no es buena idea... pues decidí instalar openSUSE

No llevo mucho tiempo usándola pero si la recomiendo es por su instalador, que sí que lo recomiendo y ojalá que las demás distribuciones tomen nota. Por lo sencilla y por lo clara a la hora de editar las particiones (por lo general, formatear la correspondiente a Linux y montar la partición de Windows) y a la hora de editar el gestor de arranque. Esto último creo que ya lo incluyen otros Live o DVD de las demás distribuciones pero creo que no llega al punto de openSUSE en el que puedes editar muchísimas más opciones, no sólo el indicar por ejemplo que sea Windows el primero que cargue y no Linux (algo muy típico por otra parte) o el tiempo de espera.

Por eso, lo recomiendo como una buena distribución más estable y mejor que Ubuntu. Tal vez un usuario nuevo se pierda, pero alguien que lleva ya algunos años... se lo puede plantear.

6-Recuperando el boot de Windows con Linux (si no te interesa esta opción, puedes pasar al siguiente punto)

Hay otro motivo por el que he hablado de openSUSE y es que ha sido gracias a esta distribución que empecé a ver las cosas un poco más claras con respecto al Boot.
Cuando estás instalando y llegas al resumen de todas las operaciones que se van a llevar a cabo, en la parte del booteo aparece el siguiente mensaje de advertencia en color rojo

"The bootloader is installed on a partition that does not lie entierly below 128 gb. The system might not boot if BIOS support only lba24(result is error 18 during install grub MBR)".

En los foros ingleses explican más o menos cómo se debe configurar el Boot en el momento de instalación y lo que significa esa advertencia. Es otra posibilidad, un problema con las BIOS de nuestros equipos que es muy antigua y el Grub nuevo no es compatible con ella, lo que puede provocar que no arranque el ordenador.

Bajé una versión reciente de mi BIOS, me la guardé y seguí buscando información porque una vez instalado openSUSE había avanzando un poquito más: me cargaba el grub pero no Windows 7. Seguía viendo que la solución por excelencia era recuperar el boot de Windows con su correspondiente DVD pero no hay nada como no rendirse para encontrar una solución desde Linux para recuperar Windows 7 sin necesidad de usar las herramientas que éste brinda.

Para mí Windows 7 es un sistema con una estabilidad aproximada a la de XP. Es decir, para el uso del usuario, una vez consigue deshacerte de ciertas molestias, está bien. Como sistema profesional es terrorífico porque en el momento en que empieza a fallar te tienes que romper la cabeza. Para colmo, es muy habitual (por lo que he leído) que tú te hagas unos discos de recuperación que directamente te reinstala el sistema de cero o con las opciones de fábrica (no te da opción a más) y te instalan además, dos particiones más con las herramientas de recuperación del sistema y las del servicio técnico, cuyo uso también es dudoso.

Es por eso que quería dejar la recuperación mediante DVD de Windows como último recurso. Pensaba que si el problema partía principalmente del Grub, tenía que haber solución mediante Linux. Y sí la hay, justo en este tema en los foros de openSUSE.

-Parte positiva: viene bastante bien detallado y hay quienes dicen que le han funcionado.

-Parte negativa: habla en todo momento de openSUSE e ignoro si se puede aplicar desde otras distribuciones o hacer los primeros pasos con el Live de openSUSE y editar el resto con nuestra distribución porque creo que la mayor parte de pasos se pueden aplicar en todas.

Otro punto negativo: que no está del todo completo o no bien explicado. Yo probé a hacerlo tal y como describían, el problema está en que cuando sigo los pasos, en vez de salirme las herramientas de recuperación, me sale directamente la consola con un “Rescue Login”. Escribí en el foro preguntando y comentando el tema pero por ahora, no he conseguido respuesta.

Aún así, tengo esperanza de que a alguien le sirva, ya sea porque le funcione, ya sea porque pueda lograrlo, ya sea porque pueda completar el tutorial. Será muy de agradecer para muchísimos usuarios en esta situación. Yo probé una alternativa, siguiendo algunos de los pasos a la hora de reinstalar openSUSE, editando el grub pero no funcionó. Finalmente tuve que usar mi último recurso y porque estaba ya cansada de buscar...

7-Recuperando el boot de Windows con el DVD de instalación

Esta es la solución de la que todos hablan pero pocos, muy pocos, hablan debidamente de ella. En todos sitios, como el enlace que pasé más arriba, te explican los pasos de forma express:

a) Metes DVD de instalación (en este caso Windows 7) y sigues los pasos de elegir idioma y elegir reparar equipo. Después, elijes símbolo de sistema (vamos, para que salga consola)

b) Metes los códigos posibles: bootrec/fixmbr o /fixboot (estas dos son las más dichas), o rebuilbcd

c) Reinicias el ordenador y ya está todo listo.

Alguno me preguntará: si es así de fácil ¿por qué no lo has hechos? Yo respondo: porque NO es tan sencillo.

Cuando buscas concretamente recuperar el boot de Windows, sí que puedes encontrar algún blog que lo explique en condiciones e incluyendo capturas de pantalla, Eso ayuda mucho. Pero la mayoría de sitios donde buscas recuperar Windows a partir del mensaje de Grub rescue que a mí por ejemplo me devolvía, te enumeraban todos los pasos que yo describo. Yo probé y me desesperé al no encontrar dónde activar el símbolo de sistema, aceptar una recuperación automática del inicio, ver que no detectaba la partición de Windows... y evidentemente, no recuperar nada.

En esta entrada de blog se explican muy bien los pasos a seguir con capturas de pantalla. Yo añadiré un par de cosas que a mí me han ocurrido y que os pueden ocurrir a los demás igualmente.

Cuando sale la pantalla de la segunda captura, en la que se pone a detectar nuestro sistema y a decirte que ha encontrado (es lo lógico) problemas de inicio, yo lo que veía es que detectaba un Windows pero la partición era desconocida y el espacio que ocupaba era 0 megas. Como dije más arriba de esta entrada, a menos que hayáis tocado algo de la partición... no os preocupéis. Es normal.

Seguid los pasos hasta que abrís la consola. Si escribís bootrec.ex/? os saldrán los distintos comandos posibles para utilizar y una explicación en español de cada uno. Para el caso que nos concierne, nos puede valer con los que menciono antes, fixmbr y fixboot. En el blog te recomiendan los dos. Yo en cambio diré lo siguiente:

Si el sistema de recuperación os ha detectado, en la ventana de antes, la partición de Windows 7 con normalidad, simplemente usad fixboot. El motivo es que si no se ha detectado la partición y usas el comando de fixboot... te mandará un mensaje de elemento no encontrado. Yo lo que hice fue usar el comando de fixmbr. Como no funcionaba el fixboot y al usar rebuildbcd me decía de incluir la unidad D (cuando mi partición es C), salí de la consola y reinicié.

Hecho esto y teniendo en cuenta que había leído que el primer efecto, es cargarse el Grub de Linux, lo que pensé cuando cargó el ordenador, es que no me sirvió de nada porque seguía el Grub y Windows no cargaba.

La apariencia es esa pero la realidad es otra. Vuelve a meter el DVD y vuelve de nuevo a la consola. Esta vez sí, usar el comando de fixboot, sales, reinicias... y te saldrá el mensaje que te informa de que Windows se ha cerrado de mala forma y si quieres iniciar en modo seguro o con normalidad. Inicia con normalidad porque todo vuelve a ser como antes.

Antes de cantar victoria, aún queda un paso más si deseas seguir poder utilizando Linux y es que hay que recuperar el Grub

8-Supergrub disk o EasyBcd para recuperación de menú de arranque

Como lo de recuperar primero el Boot de Windows y luego el Grub es muy típico, hay alternativas para recuperar el Grub y son más numerosas y fáciles que Windows. Una de las más recomendadas es utilizar el programa Super Grub Disk.

Yo sin embargo, hablaré de lo que he utilizado debido a mi experiencia. Como lo que a mí me ha pasado es que después de una primera recuperación, el arranque volvió a fallar solo al cabo de unas horas, he decidido usar una medida de Windows para garantizar a largo plazo que el ordenador siga funcionando durante un tiempo: el programa Easybcd.

Es un programa libre para uso personal que te puedes descargar sin problemas e instalar en Windows. Por eso, a los que hayan recuperado el sistema de arranque mediante comandos desde un cd Live o reinstalando Linux, los he mandado aquí. Para evitar la posibilidad de que el ordenador vuelva a quedarse sin arranque, recomiendo instalar el programa en el mismo momento en que accedáis a Windows.

Os describo paso a paso lo que yo he hecho para volver a utilizar tanto Linux como Windows.

Cuando abrís el programa, veréis la siguiente ventana (pinchad en la imagen para verlo mejor)


En teoría sólo debéis de ver sólo parte de lo que a mí me aparece (A) y para añadir al arranque una partición más, en este caso Linux, debéis de iros a añadir una entrada nueva (C) y luego ya terminaremos de editar el Boot (B).


Veréis que hay muchas opciones para añadir al menú de arranque y lo suyo es irse a la pestaña de Linux. Las opciones que vienen por defecto son éstas:



Pues bien, en Type podéis elegir el tipo de arranque que queráis, desde Grub hasta Wubi


En nombre, podéis elegir el nombre que tendrá Linux en el menú de arranque y en Device, podeís elegir la partición que se va a utilizar. Se ve bastante claro ¿verdad?


Las opciones que yo he utilizado han sido las siguientes:


Sólo falta que en Device volváis a elegir la partición y a continuación pulsáis Añadir entrada y os vais ahora a editar el Boot (B)



De quienes hayan editado el Grub desde el gestor de arranque en Linux reconocerá algunas opciones, como las de poner primero uno u otro sistema, pudiendo aquí además el renombrarlo... o eliminarlo (D) y elegir el tiempo que debe de pasar antes de que arranque automáticamente el sistema por defecto (E) elegido arriba.

Si no se van a hacer más cambios, salvamos los cambios (Save Settings), salimos del programa y reiniciamos.

Si todo ha funcionado, veréis un menú con la misma interfaz básica que cuando te dicen que Windows ha cerrado mal. Os saldrán ambos sistemas y os garantizo que ambos siguen funcionando.

¿Por qué activé antes la opción de Use EasyBCD´s copy of Grube? Con la primera configuración que elegí, no me cargó openSUSE y al hacerlo con esa opción seleccionada, lo que ocurre al elegir desde el menú de Windows, que cargue Linux... es que te redirige al Grub de Linux. Sí, como su nombre indica y funciona a la perfección, el programa conserva o copia el Grub que utilice Linux y es lo que arranca cuando seleccionas ese SO para arrancar. Si pruebas además a cargar Windows desde el Grub, hace la misma acción, te devuelve al menú de EasyBCD. Basta con poner bastantes segundos de espera para tener tiempo de elegir el sistema que queramos en ese momento.

Espero de verdad que esta entrada sirva de mucho a quienes tengan un problema parecido o igual al que yo he descrito y se ahorren bastante más tiempo del que he invertido ya para llegar donde yo he llegado.

No suelo ser de pedirlo, pero agradecería la difusión de esta entrada si os interesa :)















No hay comentarios:

Publicar un comentario