jueves, 29 de marzo de 2012

El maldito Grub...

Digo lo de 'maldito' porque, en algunos foros que visito (particularmente donde suelen entran muchos 'novatos' que instalan (habitualmente el Ubuntu) por las buenas, sin tener claros los 'fundamentos'') una de los temas recurrentes es postear cosas como 'Problema en el grub', 'Error en grub' 'El grub no encuentra...''No arranca el grub' etc, etc.
Y no se qué líos se organizan: la cosa es muy sencilla, y recuperar (o reinstalar) el grub para que te reconozca todo... es enormemente sencillo.

¿Y qué es el GRUB? Pues lo de grub viene de 'GRand Unified Bootloader', y no es más que un 'gestor de arranque múltiple' del Proyecto GNU. Hay otros, pero este es el más usado. El grub es 'demócrata de toda la vida', y reconoce otros sistemas operativos que haya en tu ordenador, no pasa como con el 'gestor de arranque' del Windows, el famoso MBR (Master Boot Record), que es muy suyo y solo reconoce los sistemas operativos de Microsoft. Por eso se recomienda siempre instalar un Linux después del Windows... si también quieres tenerlo: para poder tener el famoso 'arranque dual'.

Cuando instalas un Linux, lo único que tienes que tener en cuanta es que el Grub se te instale en el disco primario, o sea en el que primero lee la BIOS. Esto se identifica porque ese disco tiene, al menos, una partición primaria 'booteable' (que es, por cierto, es donde se instala el MBR de Windows, si tienes también ese S.O). Así 'lo machaca' y solo actúa el Grub.
Lo único que tienes que tener en cuenta, en el caso de tener dos (o más) 'discos duros físicos' (NO particiones), porque leerás que algunos recomiendan instalar en uno el Windows y en el otro el Linux (cosa que yo no hago), es que GRUB se te instale en el que está el Windwos, para que sustituya al MBR y pueda reconocer todos los S.O.

¿Y si no es así? ¿Y si, como decía al principio, tienes algún problema con el Grub? 
Mira, hay varios métodos para restaurar el grub o reinstalarlo. Yo uso uno muy sencillo: Arrancando el Linux (Debian, o el que sea), no tienes más que abrir una consola de Root (ya sabes: abres una consola (terminal) de usuario, escribes 'su' (sin las comillas, claro) te pide, e introduces, la contraseña, ENTER... y ya estás en la consola de root, identificada por el 'prompt '#'. Y, ahí, escribes
# update-grub
y te dice los sistemas operativos que ha reconocido en tu disco. Y, luego...
# grub-install /dev/sda
que te reinstala el grub en el sector de inicio del disco principal (suele ser el /dev/sda). Y si fuese otro, le pones el nombre que sea: /dev/sdb, o lo que te salga si lo miras con Gparted o, en al propia pantalla, escribiendo
# fdisk -l
NOTA: puedes ejecutar, antes, el paquete 'os-prober', que al parece facilita el reconocimiento de los sistemas operativos instalados ('y viables', es decir, que no tienen ningún problema que les impida funcionar): Por si no lo tienes instalado, la secuencia completa sería
# apt-get install os-prober
# os-prober

Bueno pero ¿Y si lo que pasa es que no puedo arrancar ningún Linux?
Bien si, por ejemplo, tienes también un Windows y, porque lo has instalado después, o simplemente porque no has 'matado' su MBR, no puedes arrancar con tu Debian, Ubuntu... etc, también hay solución

Yo, personalmente, uso esto: Tengo creado un CD de inicio con una  herramienta que se llama Supergrub2 Disk, que lo encuentras fácilmente con Google, por ejemplo aquí
Y con él arranco el ordenador. Arrancado, vas a 'Detect any Operating System' y desde ahí puedes iniciar cualquier SO que tengas instalado... y funcione bien

Con lo cual inicias tu Linux, y restauras el Grub por el sistema que te decía antes. Y si no te inicia... es que tienes otro problema, y lo mejor que puedes hacer es reinstalar el Linux.
El Supergrub2 (no lo confundas con el 'Supergrub', que solo sirve para el Grub legacy, o Grub1, y ahora casi todas las distros llevan el Grub2) solo tiene un inconveniente: que hay problemas (o no se han preocupado sus creadores) para meterlo en un pendrive de inicio, lo cual sería mucho más cómodo, y hay que quemar su ISO en un CD (y la ISO es, además, ridícula: apenas 2 megas. Pero hay otra solución, la herramienta Rescatux, del mismo fabricante, que si lo puedes usar desde pendrive... aunque es una herramienta mucho más compleja, incluso, de momento, bastante 'poco amigable': Pero tiene, entre muchas más, la función de restaurar el Grub.

Bueno, pues con todo esto, espero que ya no tengas más problemas para restaurar tu Grub.

Y me quedan un par de cosillas mas sobre el Grub

Una, que si instalas un segundo Linux (yo lo hago a veces, en un hueco del PC, para probar otra distro) una de dos: o a la segunda, durante la instalación, le dices que no cree su Grub, o le dejas que lo haga, pero entonces en el Grub te aparecerá primero este segundo Linux. La solución, en ambos casos, es la misma: arrancas tu distro 'oficial' y haces lo de update-grub, seguido del grub-install /dev/sda que comentaba al principio... y arreglado.

Y otra: a veces, tras sucesivas actualizaciones, te pueden aparecen, en la pantalla del Grub, varios kernel de la misma distro, y a lo mejor te resulta incómodo. Para quitarlos no tienes más que entrar en Synaptic, buscar los paquetes 'linux-image' y 'linux-headers' y marcar “para desinstalar completamente” todos los que tengan número XXXX con versión obsoleta, dejando solo el más moderno (que se sepa que funcione bien, hay quien recomienda dejar los dos últimos, por si acaso).
Pero ATENCIÓN, salvo que lo indique Synaptic al marcar alguno de esos 'image' o 'headers', NO se deben marcar para desinstalar los que no contienen número detrás, que son genéricos y hay que mantener.
Y, como siempre... update-grub, etc... y reiniciar.

Y la última, y termino: ¿Cómo puedo modificar el tiempo que aparece la pantalla del Grub? Pues mira, lo más sencillo es que instales el paquete startupmanager, que está en los repositorios, y ahí puedes hacerlo (y también puedes elegir, con este 'Administrador de Arranque', el sistema operativo que te arranque, por defecto, si se te pasa ese tiempo)

O, más fácil, puesto que parece ser que startupmanager ha quedado desatendido (aunque funciona perfectamente), sin necesidad de instalar nada, abres una consola, editas, como root, por ejemplo con gedit
sudo gedit /etc/default/grub
y ahí, en la línea donde pone 'Grub_timeout=...' pones los segundos que quieras. 
Timeout=5 es bastante normal, te permite elegir cómodamente con qué arrancar, pero puedes poner los segundos que te apetezca. Si tienes un solo sistema puedes poner 1 (por no poner 0) y te arrancará de inmediato (hombre, pero siempre es bueno dar algo de tiempo, por si tienes más de un kernel, o quieres elegir un memtest, etc, etc, así que 4 o 5 segundos es un tiempo corto, y razonable)

¿Cómo que terminas...? ¿Y no vas a hablar de personalizar la pantalla del Grub, o cambiar los colores de las letras, etc, etc?
Pues mira, definitivamente, NO. Por dos razones: una, porque expresamente se recomienda tener mucho cuidado si se te ocurre trastear en los archivos del Grub2. Y otra, para mi definitiva... es que me importa un pimiento la pinta que pueda tener la pantalla del Grub... que solo aparece 2 o 3 segundos cuando arrancas el PC... y opino no vale la pena perder tiempo con eso.

Y tampoco voy a hablar sobre la típica pregunta... He desinstalado Linux y quiero volver al Windows, pero ahora no me arranca. ¿cómo hago para eliminar el Grub? Porque... 'Roma no paga a los traidores'. Bueno, en serio, porque no me apetece meter esto en este blog.
Pero como no soy tan malo... el que quiera saberlo no tiene más que buscar, con Google, por 'restaurar el MBR'

No hay comentarios:

Publicar un comentario