Restauracion MBR
Restauracion MBR
Restauracion MBR
DE UN SISTEMA OPERATIVO
En este manual vamos a explicar cómo hacer para recuperar el gestor de arranque
y volver a poder arrancar los sistemas operativos que tengamos instalados en nuestro
ordenador.
Normalmente el gestor de arranque visualiza en pantalla una lista con los nombres
de los distintos sistemas operativos instalados, permitiéndo al usuario seleccionar el que
desea ejecutar para ese encendido de la máquina.
El gestor de arranque, como todo programa, tiene que estar instalado en algún
sitio accesible en disco duro. Este sitio puede ser o bien el MBR (Master Boot Record) o
bien en el primer sector de una partición dada. Los gestores de arranque disponibles son
LILO (LInux LOader) o GRUB (GRand Unified Bootloader) entre otros.
Como hemos dicho antes, el gestor de arranque debe poder iniciar un sistema
operativo, necesitando para ello cierta información, como por ejemplo, en qué partición
está instalado, los parámetros de arranque... Estos parámetros son los que se deben
especificar en el fichero de configuración del gestor de arranque. La sintáxis de éste y
por ejemplo su localización, dependerán de qué gestor tengamos instalado (GRUB o
LILO). Para poder restaurar el gestor de arranque, primero deberemos de conocer
nosotros esa información. En los siguientes puntos iremos explicando cómo recuperar
esa información, para después “reescribir” el fichero de configuración, y así, en cualquier
momento que sea necesario, seamos capaces de restaurar un gestor de arranque.
Restauración del gestor de arranque en ordenadores con Sistema Operativo GNU/Linux. 1-7
¿Por dónde empiezo?
Hay algunas distribuciones, como por ejemplo las RedHat o las versiones de
Fedora Core que arrancando desde el CD1, aparece una ventanita en la que da la opción
de restaurar el gestor de arranque. En caso de tener instalada alguna de estas
distribuciones, se puede usar esa opción y por tanto, todo lo que contamos en el resto de
este manual no será necesario.
Una vez que hemos arrancado con la distribución live tenemos que acceder a
nuestro disco duro, el cual sigue teniendo todos los datos.
Como dijimos antes, para poder restaurar el gestor de arranque necesitamos saber
en qué partición está cada sistema operativo. Para ello abriremos una terminal y como
superusuario (*1), ejecutaremos cualquiera de los dos siguientes comandos:
fdisk -l
cfdisk
Ambos hacen lo mismo, con la salvedad de que el segundo lo hace “de forma gráfica”. El
comando fdisk sirve para trabajar con particiones, ya sea para crearlas, formatearlas o
como en este caso, con el parámetro -l, para listar las particiones de un disco duro.
> fdisk -l
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/hda1 * 1 1287 10337796 7 HPFS/NTFS
/dev/hda2 1288 1353 530145 82 Linux swap / Solaris
/dev/hda3 1354 2628 10241437+ 83 Linux
/dev/hda4 2629 4864 17960670 83 Linux
Este comandos nos está indicando que tenemos un único disco duro con 4
particiones. ¿Cómo sé que sólo hay un disco duro? Aunque ahora no sea necesario
conocerlo, los discos duros, como dispositivos que son, se localizan en /dev/. Los discos
duros, normalmente, se nombran como hd<letra> (hard disk, para discos IDE) o como
sd<letra> (serial disk, para discos USB...). La letra que va a continuación indica si el slot
(ranura) en el que está conectado el disco (hda será el primer disco del primer
controlador IDE, hdb será el segundo disco del primer IDE, hdc el primer disco del
segundo IDE ...). El número que acompaña al dispositivo indica la partición. Así hda1 es la
primera partición del disco hda. Por tanto, viendo la salida del comando anterior, vemos
que sólo hay un /dev/hdX, por tanto es un único disco duro y vemos que el número de
particiones va hasta 4.
Restauración del gestor de arranque en ordenadores con Sistema Operativo GNU/Linux. 2-7
La última columna de la salida del comando nos da información acerca del formato
de la partición en cuestión. Vemos por tanto, que la primera partición es un Windows, la
segunda es la swap de Linux y las dos restantes son particiones de datos Linux.
> cfdisk
Si ejecutamos este otro comando vemos además que de las dos particiones linux
que teníamos antes, la segunda de ellas se corresponde con el /home (por tanto la otra
se debe de corresponder con la partición raíz o “/”), ambas con formato ext3. Es muy
importante conocer el tipo de partición y el “nombre” de la partición /.
Una vez que tengamos toda la información del paso anterior, podemos pasar a dar
el primer paso para “rescatar” el disco duro. Para poder recuperar el gestor de arranque,
primero tenemos que decirle al sistema operativo que todo lo que realicemos se debe de
hacer sobre ese disco duro en particular y no sobre el sistema Live. Esto se hace por
medio de un comando llamado “chroot” (change root, es decir, cambiar raíz “/”). Con
esto lo que haremos será, por decirlo de alguna manera, entrar en el disco duro que
queremos recuperar y dejar de referirnos al sistema operativo en live.
Restauración del gestor de arranque en ordenadores con Sistema Operativo GNU/Linux. 3-7
Para poder ejecutar el chroot, tenemos que tener montada la partición raíz, es
decir, tenemos que dar acceso a esa partición, al igual que cuando intentamos leer un
disquete o un lápiz USB.
Ejecutaremos por tanto los siguientes comandos (siempre, claro está, como
superusuario):
> mkdir /mnt/disco
> mount -t <formato> <particion_raiz> /mnt/disco
> chroot /mnt/disco
> cd /mnt/disco
A partir de este momento, todo los comandos que ejecutemos se referirán siempre
a nuestro disco duro físico y no al sistema de la live.
Ya estamos en el disco duro que nos interesa, ahora tenemos que escribir toda la
información que hemos recopilado en el fichero de configuración del gestor de arranque.
Hasta el momento todo lo que hemos ido haciendo era igualmente válido tanto
para sistemas con LILO como para sistemas con GRUB, pero a partir de este punto,
vamos a separar lo que debe de hacer aquel que tenga un LILO instalado y aquel que
tenga un GRUB instalado, aunque lo pimero del todo será averiguar si en su momento
instalamos un LILO o un GRUB.
Si nuestro Linux es medianamente reciente, casi al 90% podemos decir que llevará
GRUB. Por ejemplo las instalaciones de Fedora Core (tanto 1, 2, como 3) llevan como
gestor de arranque GRUB, al igual que las versions de SuSE desde la versión 8 y
Mandrake desde hace también un par de años. Debian por el contrario (la versión estable
por ejemplo) suele optar por LILO siendo una excepción Sarge aún siendo Debian, debido
a que Sarge es la versión “inestable”. Visualmente también se pueden diferenciar pero
tampoco es éste un factor determinante. GRUB se ejecuta en pantalla completa,
normalmente sobre un fondo azul (normalmente, puesto que se puede cambiar). LILO por
el contrario suele presentar un menú sobre un cuadro, en modo texto, poniendo en la
mayoría de los casos la palabra “Boot” debajo.
Para comprobar realmente qué sistema de arranque tenemos, una forma es buscar
los respectivos ficheros de configuración, así si encontramos los ficheros de LILO
entonces es que teníamos instalados un LILO y si encontramos los de GRUB pues será
este nuestro gestor. Otra forma más sencilla es buscar, en vez de los ficheros de
configuración, el propio ejecutable del gestor de arranque. Para ello haremos:
> whereis lilo
Restauración del gestor de arranque en ordenadores con Sistema Operativo GNU/Linux. 4-7
Ese comando busca el ejecutable LILO en el disco duro. Si nuestro resultado es
únicamente la palabra “lilo” entonces es que no ha encontrado el ejecutable de LILO, por
tanto nuestro gestor es GRUB.
Ejemplo:
> whereis lilo
lilo:
– Abrir el fichero /etc/lilo.conf (con el editor que más cómodo os parezca, en el ejemplo
se usará el editor vim).
> vim /etc/lilo.conf
– Modificar el parámetro “root” (para escribir pulsar la tecla insert) para que ponga el
nombre de la partición / (lo mismo que pusimos en el chroot anterior). PULSAR
ESCAPE. En nuestro ejemplo habría que poner /dev/hda3
– Modificar el parámetro “default” (para volver a escribir, pulsar insertar) para que
ponga “Linux” (sin comillas) si queremos que por defecto se arranque Linux, o
Windows si queremos lo contrario. PULSAR ESCAPE DE NUEVO.
Restauración del gestor de arranque en ordenadores con Sistema Operativo GNU/Linux. 5-7
– Modificar dicha línea (pulsar insertar primero) de forma que ponga lo siguiente:
image=/vmlinuz
label=Linux
initrd=/initrd.img
read-only
MUY IMPORTANTE: LAS 3 LÍNEAS QUE VAN DEBAJO DE “image=/...” EMPIEZAN POR
TABULACIÓN, NO POR ESPACIOS.
En el recuadro anterior, lo que hemos hecho ha sido decirle dónde está Linux y
cómo se debe de arrancar. Ahora haremos lo mismo para Windows, aunque la forma de
hacerlo es un poco distinta.
– Ejecutar lilo para decirle al gestor de arranque que use esa nueva información
> lilo
Restauración del gestor de arranque en ordenadores con Sistema Operativo GNU/Linux. 6-7
Si hemos hecho todo correctamente, podemos reiniciar el ordenador sin problemas
y a la vuelta tendremos nuestros sistemas operativos funcionando.
Restauración del gestor de arranque en ordenadores con Sistema Operativo GNU/Linux. 7-7