Destacados

Más
Miércoles, 4 de marzo, 2009

Recuperar el arranque de Linux

12 +20K
Publicidad

Uno de los principales problemas que suelen tener los usuarios que utilizan linux y windows (en el mismo ordenador), es que si se ven en la necesidad de reinstalar windows, se suelen «cargar el arranque» que hace posible la elección del sistema operativo.

La tarea de estos gestores de arranque, es arrancarse al iniciar el equipo, y mostrar un menú donde el usuario puede elegir el sistema operativo (windows, linux, beos, unix...) que quiere utilizar.

Existen varios gestores como lilo o syslinux, pero sin duda el más utilizado y extendido es el grub, algo similar a esta imagen:

Así, varios sistemas operativos diferentes (o varias versiones iguales) pueden coexistir en el mismo ordenador como sistemas independientes.

Para instalar varios sistemas operativos en un mismo disco, debemos realizar las llamadas particiones en el disco duro, unas divisiones más pequeñas donde instalaremos los diferentes sistemas por separado.

El grub se «activa» en el sector de arranque (MBR) del disco duro (primera zona del disco que se lee), y así, al arrancar el equipo, se lee este sector (que redirige a donde está realmente instalado) para luego iniciar el sistema seleccionado.

He perdido el arranque de Linux


Si tenemos linux instalado en nuestro equipo, e instalamos (o reinstalamos) windows, este último instala su propio cargador en el MBR (en el caso de tener un sólo windows es transparente al usuario), sobreescribiendo por lo tanto, el gestor de arranque grub de linux, y evitando la posibilidad de entrar a los demás sistemas operativos.

Para recuperar el grub sólo tenemos que arrancar desde un live CD de linux como Ubuntu y restaurar el MBR para que vuelva a dirigir a donde está instalado grub.

Recuperar el grub de Linux


Arrancamos desde el live CD de Ubuntu. Vamos al menú Aplicaciones / Accesorios / Terminal para abrir una consola y comenzar. En un live CD no tenemos password de root, así que con escribir sudo su basta para acceder con privilegios de administrador.

Lo primero es conocer la estructura de nuestro disco. Para ello utilizamos el siguiente comando:

fdisk -l

Con él se puede ver la lista de particiones del disco. En linux, los dispositivos físicos (ratón, tarjeta sonido, disco duro, etc...) se almacenan en la carpeta /dev/ (devices).

Los discos duros se suelen denominar /dev/hdaX (IDE) o /dev/sdaX (SATA o USB), donde X es el número de la partición del disco.

Usaremos las columnas dispositivo, inicio y sistema para identificar las particiones.

Si nos fijamos, en nuestro ejemplo, tenemos -entre otras- las siguientes particiones:

  • /dev/sda1: Una partición Compaq diagnostics. La clásica partición para restaurar sistema que utilizan algunas marcas como Acer.
  • /dev/sda2: La partición donde está instalado Windows (marcada como partición de inicio), en este caso con sistema de ficheros FAT32, aunque también puede estar en NTFS.
  • /dev/sda5: La partición donde tenemos instalado linux. No confundir con /dev/sda6, que es la partición swap (intercambio).

La partición que nos interesa es /dev/sda5, pues es donde tenemos instalado nuestro linux. Nos dirigimos al directorio /media/, que es donde se suelen montar las particiones, y creamos el directorio linux:

cd /media/
mkdir linux

Una vez creado, montamos la partición linux del disco duro en ese directorio, especificando el sistema de ficheros ext2 (el más usual, aunque no el único):

mount -t ext2 /dev/sda5 /media/linux

Hay que tener en cuenta que actualmente estamos trabajando sobre un linux live (en CD), la idea es montar el linux del disco duro y comenzar a utilizar su estructura, en lugar del linux de CD (actual).

Pero aún nos falta tener en cuenta una cosa: Las rutas /dev/ (dispositivos físicos) y /proc/ (información del kernel, sistema, etc...) se montan una sola vez al iniciar el sistema (montado en la estructura del CD), necesitamos montarlo ahora en la partición linux del disco duro.

mount -t proc none /media/linux/proc
mount -o bind /dev /media/linux/dev

Con esto, montamos la ruta /proc/ y la ruta /dev/ (con bind, hacemos un montaje de un directorio ya existente y montado). Ahora sólo queda establecer el linux del disco duro como raiz con chroot:

chroot /media/linux

Perfecto. La estructura actual es ahora la del disco duro en lugar de la del CD. Ahora sólo falta reestructurar el grub, así que entramos en su entorno de control:

grub
find /boot/grub/stage1

Al buscar el fichero /boot/grub/stage1, nos devuelve algo similar a esto: (hdA,B), donde A es el disco duro (en el caso de tener varios) y B es la partición.

root (hdA,B)
setup (hdA)
quit

Al realizar estos pasos, hemos reestablecido el grub como gestor de arranque.

En el caso de que al seleccionar un sistema operativo en el menú del grub, nos de un error, nos quedaría modificar el menú (/boot/grub/menu.lst) para cambiar las particiones que están mal configuradas.

Comparte este artículo
Sobre el autor de Emezeta

Escrito por , más conocido como Manz. Es Ingeniero-Técnico en Informática de Gestión por la Universidad de La Laguna y residente en Santa Cruz de Tenerife.

12 comentarios de lectores
Interesante
Alfonso Alfonso Miércoles, 4 de marzo de 2009, 14:04
1
Yo cuando reinstalo Windows y se carga el MBR hago lo siguiente: Arranco con un CD live o USB live y montar la partición que contiene el arranque mount /dev/hdXX /mnt Después ejecuto grub-install que me reinstala el grub. grub-install --root-directory=/mnt /dev/hdXX Y finalmente reinicio, no sin antes modificar /boot/grub/menu.lst si se desea cambiar algo o incluir Windor en la lista de opciones de arranque.
Responder Permalink URL · Mozilla Firefox 3.0.6 · Windows XP ·
Jose Jose Miércoles, 4 de marzo de 2009, 15:05
2
Otra opción sería usar el super grub disk :wink:
Responder Permalink URL · Mozilla Firefox 3.0.6 · Ubuntu Linux ·
Manz Manz Miércoles, 4 de marzo de 2009, 15:22
3
@Alfonso: Buena puntualización. El comando grub-install puede ser una buena y sencilla forma de restaurarlo, sin embargo, en algunos casos puede dar problemas con el montado de dispositivos /dev o /proc. Aplicaciones como super grub disk -que comenta Jose- o wingrub o grub4dos pueden realizar esta tarea desde un software adicional.
Responder Permalink URL · Mozilla Firefox 3.0.6 · Ubuntu Linux ·
Capsule2 Capsule2 Miércoles, 4 de marzo de 2009, 18:24
4
Estoy con Jose. Super Grub Disk es de lo mejor que he usado ;)
Responder Permalink URL · Mozilla Firefox 3.0.6 · Macintosh ·
Stick Boy Stick Boy Miércoles, 4 de marzo de 2009, 23:10
5
Ah, sí, pero al final en el momento crítico nadie tiene el maldito Super Grub Disk, o está rayado, o... yo me guardo el apunte por si acaso, que formas de cargarse el sistema hay muchas pero de recuperarlo no tantas...
Responder Permalink Mozilla Firefox 3.0.6 · Linux ·
geaman geaman Jueves, 5 de marzo de 2009, 09:49
6
Buen post. El próximo que sea para sistemas Mac (OS X). No veas la de gente que anda perdida con el Dual Boot Win - OS X y los problemas que ello deriva. Saludos.
Responder Permalink Mozilla Firefox 3.0.6 · Windows XP ·
Brayan Habid Brayan Habid Viernes, 6 de marzo de 2009, 02:26
7
me uno a la del super grub disk ... lo llevo en el mismo sobre que ubuntu, por si acaso.
Responder Permalink URL · Mozilla Firefox 3.0.6 · Windows XP ·
Sanbor Sanbor Lunes, 16 de marzo de 2009, 05:47
8
Los temerarios tambien pueden intentar cargar linux desde el gestor de arranque de Windows http://oreilly.com/pub/h/2337
Responder Permalink URL · Mozilla Firefox 3.0.7 · Windows 7 ·
Rosenberg Lunes, 30 de marzo de 2009, 05:42
9
utilicen supergrub solo grabenlo y escogen la opcion a arrancar sin tanto lio y sin saber nada de programacion o commando, etc http://supergrub.forjamari.linex.org/?section=download
Responder Permalink Mozilla Firefox 3.0.6 · CentOS Linux ·
Seichi Nakayama Seichi Nakayama Domingo, 17 de octubre de 2010, 10:49
10
yo tengo un disco particionado, uno tiene WinVista Ultimate y el otro Linux Mint9, me compre una Toshiba X02T (tg01 enotros lados ), y no puedo instalar nada, me pide el activesybc y el vista no funca, quiero instalar el WinXP en vez del vista, pero se vaa ir a la merd el grub, vere eso a ver que pasa
Responder Permalink URL · Chrome 6.0.472.63 · Windows Vista ·
pepe pepe Lunes, 25 de octubre de 2010, 11:51
11
hola seichi, te sugiero que hagas una copia de seguridad del gestor de arranque en este caso usas grub y lo almacenes en un dispositivo, luego formatees la particion que contiene windows vista e instales windows xp, esto solo te volvera a cargar el ntldr en mbr y el gestor de arranque boot.ini, como te interesa cargar linux , tienes que indicarle en el cd de instalacion de linux que te vuelva a instalar el grub en la primera particion activa y luego sobreescribirlo con tu grub original.Saludos
Responder Permalink Mozilla Firefox 3.6.11 · Windows 7 ·
potrilium potrilium Jueves, 11 de noviembre de 2010, 16:24
12
buenos dias mzeta muy bueno lo que postiaste sobre los aranques , tenia un problemita con ubuntu 9.04 y pude resolver mi problema soy de venezuela y voy agregar tu direcfcion en mi blog para que mis amigos tengan conocimiento de ti y te visiten feliz dia y gracias por tu gran ayuda.
Responder Permalink URL · Chrome 6.0.472.62 · Linux ·
Publica tu opinión



Acepto las condiciones y políticas de privacidad de este sitio web.
Suscribirme a través de FeedBurner a los nuevos artículos del blog por email.

Previsualización

Aquí se previsualizará su comentario. Revise que sea correcto antes de publicarlo.