Ir al contenido principal

Cómo reparar el menú de arranque (GRUB) en Linux.



Si eres usuario de Ubuntu Linux y algunas otras distribuciones, estarás un tanto familiarizado con el menú de arranque GRUB que se muestra al arrancar el sistema, sobre todo si tienes una especie de dual boot para seleccionar si inicias en uno u otro sistema, generalmente el otro es Windows.

Lo recomendable al momento de contar con 2 sistemas operativos en el equipo, por ejemplo, Ubuntu y Windows, es instalar primeramente Windows (ya que se adueña del MBR) y posteriormente Ubuntu, para que el gestor de arranque por defecto sea el GRUB y puedas seleccionar el sistema que quieres utilizar en dado momento. En algunas ocasiones, por alguna u otra razón, no es posible realizarlo de esta manera o en su defecto (por alguna extrañísima razón no muy habitual, jajajaja) es necesario reparar Windows y nuevamente este sistema se adueña del sector de arranque, lo que hace imposible ingresar a otro sistema aún cuando este se encuentre en el disco duro sin ningún problema.

En estos casos es necesario reparar el GRUB como se muestra a continuación:

Requerimientos:
  • Live Cd de Linux, ya sea Knoppix, Ubuntu, etc.
Conceptos:
  • Terminal: Línea de comandos. En Ubuntu la encuentras desde el menú Aplicaciones > Accesorios > Terminal, o presionando Alt + F2 y escribiendo gnome-terminal seguido de un enter.
  • root: Superusuario del sistema Linux, el equivalente al administrador en Windows, es la cuenta de usuario que por defecto posee todos los privilegios de escritura, lectura y ejecución.
  • sudo: Significa SUperusuario DO, es decir, ejecutar un comando con privilegios de superusuario o root.
  • MBR: Master Boot Record, en español Sector de Arranque Maestro, es una parte del disco duro donde se encuentra la información de arranque del sistema(s) operativo instalado.
Procedimiento:

  1. Ingresa al sistema a través del Live Cd, esto lo haces insertando el cd de Ubuntu o Knoppix en la unidad de cd y reiniciando el equipo. En Ubuntu, en la pantalla inicial selecciona 'Start or Install Ubuntu'.
  2. Abre un terminal y verifíca la partición en la cual está instalada Linux con el siguiente comando:

    sudo fdisk -l

    El comando arrojará una lista de particiones existentes en los discos duros instalados más o menos de la siguiente forma:

    Disco /dev/sda: 118.5 GB, 118526284800 bytes
    255 cabezas, 63 sectores/pista, 14410 cilindros
    Unidades = cilindros de 16065 * 512 = 8225280 bytes

    Disposit. Inicio Comienzo Fin Bloques Id Sistema
    /dev/sda1 1 6 48163+ de Utilidad Dell
    /dev/sda2 * 7 2556 20482875 7 HPFS/NTFS
    /dev/sda3 2557 14410 95217255 f W95 Ext'd (LBA)
    /dev/sda5 2557 13234 85770972 7 HPFS/NTFS
    /dev/sda6 13235 13416 1461883+ 82 Linux swap / Solaris
    /dev/sda7 13417 14410 7984273+ 83 Linux

    donde Linux aparecerá en la columna de sistema, anota el primer parámetro de dispositivo, en el caso anterior sería /dev/sda7
  3. Posteriormente accede al GRUB con el siguiente comando:

    sudo grub

    el comando te arrojará una línea de escritura más o menos así grub>_
  4. Ahora se instala el GRUB en el MBR con el siguiente comando:

    grub> root (hd0,6)
    grub> setup (hd0)

    Explicación:

    El primer parámetro es el disco duro en el cual tienes instalado Linux, en mi caso es sda7, en este parámetro -> hd (hard drive) a (a=0, b=1, c=2, etc) y a 7 se le disminuye un número (1=0, 2=1, ... 7=6 etc). Por lo tanto sda7 = hd0,6

    El segundo parámetro es el disco duro en el cual está el MBR, normalmente es el mismo que el anterior, en caso contrario tienes que establecerlo según lo explicado del primer parámetro.
  5. Posteriormente escribe quit para salir de la edición del GRUB.
  6. Ahora se debe de editar lo que aparece en el menú de arranque que se muestra al encender, para ello escribe lo siguiente en la terminal:

    sudo gedit /boot/grub/menu.lst

  7. Muestro lo que aparece en mi equipo y explico lo relevante con comentarios marcados después de #:

    timeout 5 #tiempo de espera antes de cargar el sistema si no se elige otra opción

    title Ubuntu, kernel 2.6.20-16-generic #nombre del sistema que aparece hasta arriba
    root (hd0,6) #ubicación del sistema en el disco duro
    kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=d53e6466-22ca-4de5-84b8-ba74a35df785 ro quiet splash locale=es_ES
    initrd /boot/initrd.img-2.6.20-16-generic
    quiet
    savedefault

    title Ubuntu, kernel 2.6.20-16-generic (recovery mode)
    root (hd0,6)
    kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=d53e6466-22ca-4de5-84b8-ba74a35df785 ro single
    initrd /boot/initrd.img-2.6.20-16-generic

    title Ubuntu, kernel 2.6.20-15-generic
    root (hd0,6)
    kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=d53e6466-22ca-4de5-84b8-ba74a35df785 ro quiet splash locale=es_ES
    initrd /boot/initrd.img-2.6.20-15-generic
    quiet
    savedefault

    title Ubuntu, kernel 2.6.20-15-generic (recovery mode)
    root (hd0,6)
    kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=d53e6466-22ca-4de5-84b8-ba74a35df785 ro single
    initrd /boot/initrd.img-2.6.20-15-generic

    title Ubuntu, memtest86+
    root (hd0,6)
    kernel /boot/memtest86+.bin
    quiet

    # Un separador para sistemas distintos a Linux.
    title Otros sistemas:
    root


    # Aquí aparece el de las ventanitas
    title Microsoft Windows XP Home Edition
    root (hd0,1)
    savedefault
    makeactive
    chainloader +1

    Importante: Verifíca que los parámetros del disco duro como hd0 estén correctos de acuerdo a la distribución de particiones de tu equipo.
  8. Existe un parámetro que oculta el menú de arranque e ingresa en el sistema operativo por defecto, el parámetro es hiddenmenu si está escrito en el archivo anterior no se verá el menú, a menos que esté comentado como #hiddenmenu.
  9. Por último debes dar clic en Guardar para que los cambios hagan efecto, reinicia y listo! tienes el menú nuevamente al encender.
Existe una versión del manual anterior en formato PDF disponible para su descarga desde Aquí por si deseas descargarla, imprimirla o almacenarla para consultas posteriores.

Vínculo de descarga: http://www.hotshare.net/file/7766-22797143c8.html

Espero que te sirva. Saludox.

Comentarios

  1. Muchas gracias!
    Me ha servido de mucha ayuda.
    Todo correcto, salvo lo de editar el menu list, que te falta especificar que se debe hacer en la partición donde está instalado el linux que no arranca.
    Abur!

    ResponderBorrar
  2. Luego de eliminar XP y reparticionar el DD, instale slacware, hasta ahi todo bien. Despues instale Kubuntu Feisty , todo OK hasta que reinicie para retomar Slack pero grub da un informe Nº2 Bad file or "algo mas".
    He tratado de modificar el menu.list pero todo sigue igual ¿alguna pista ? por favor....

    ResponderBorrar
  3. Estaba a punto de volver a instalar todo, puesto que no sabía como solucionar el arranque con el Grub (se me reiniciaba constantemente el PC al entrar en el Grub). Muchas gracias, me ha servido de mucha ayuda

    ResponderBorrar
  4. Muy bueno tu aporte. Me fue muy util.
    Gracias,
    CesarIII

    ResponderBorrar
  5. Hola jovenes? me podian ayudar a reconfigurar el video de mi PC no pasa de 800x600 y tengo tarjeta grafica Radeon theater 64 3d Pc en modo recovery lo tengo actualizado y no quisiera volver a reinstalar todo.... muchas gracias y saludos a todos (a)


    Desde Valencia Venezuela un Pure Inquieto con la CyberTecnologia Moderna

    ResponderBorrar
  6. Eres mi héroe! aunque sólo he llegado al punto 5.. el archivo menu.lst me salía en blanco, pero he reiniciado trás hacer el punto 5 y ya iba :D

    he compartido este enlace vía twitter/facebook jeje

    gracias ;)

    ResponderBorrar
  7. Buenísimo tutorial, yo tengo el Grub en orden, pero no me aparece una pantalla como la tuya, si no que es algo de lo más sencillo, donde yo puedo optar por mi ubuntu 9.04 o XP, alguna manera de que aparezca ese tipo de menú?
    Un saludo

    ResponderBorrar
  8. Muchas gracias hermano me acabas de salvar la vida, en serrio muchas gracias por ayudar a gente como nosotros que no es tan experta en esto de linux

    ResponderBorrar
  9. Lo he hecho todo. Pero ahora al meterme en win7, me sale que me falta el archivo "bootmgr" y solo me deja reiniciar. He leido por ahí que con el disco del vista se puede solucionar, pero yo no lo tengo. Alguna otra solución?

    ResponderBorrar
  10. Excelente el documento, me sirvio de una... Muchas gracias.

    ResponderBorrar
  11. Muy claro y útil,
    muchas gracias.

    ResponderBorrar
  12. lo siento, pero no sirve para mi, dice que no encuentra el grub cuando digito: sudo grub.
    Que tengo que hacer???

    ResponderBorrar

Publicar un comentario

Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos:

1.- Lo que escribas esté relacionado con el post, si gustas contactarme puedes hacerlo aqui.

2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario.

3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas.

4.- Los comentarios son una forma de discusión abierta, por lo que al publicar uno, implícitamente entras a una discusión, con todo lo que esto representa.

5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente.

Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.

Entradas más populares de este blog

3 sencillos pasos para tramitar la ayuda por desempleo de la AFORE

¿Tienes dinero ahorrado en tu AFORE y en este momento no estás trabajando o estás trabajando pero no tienes seguro social? Si respondiste sí a la pregunta anterior entonces hay una buena noticia para ti: puedes retirar una parte del dinero que tienes ahorrado. Y lo mejor, es muy sencillo. En este artículo te diré paso a paso qué hacer para obtener ese dinero, sin tecnicismos legales ni nada por el estilo, simple y sencillamente lo que necesitas saber. Paso Número 1: Obtener los últimos 2 estados de cuenta de tu Afore Esto en la mayoría de los casos es sumamente sencillo ya que dichos estados de cuenta llegan directamente al domicilio del ahorrador, si este es tu caso puedes saltar lo restante en este punto y continuar con el paso número 2, en caso contrario sigue leyendo… Si no tienes tus estados de cuenta debes ponerte en contacto con la empresa encargada de administrar tu ahorro para que te los proporcione, normalmente te van a pedir una identificación oficial, comprobante de

Conectar una base de datos en MySQL con NetBeans

NetBeans es una plataforma para el desarrollo de aplicaciones de escritorio usando Java y a un Entorno integrado de desarrollo (IDE) desarrollado usando la Plataforma NetBeans. Si eres un programador y desarrollas tus aplicaciones en Java seguramente necesitarás conectar una base de datos tipo MySQL a este entorno algún día, bueno, si lo necesitas ahora, he aquí una explicación paso a paso de cómo conectar ambas herramientas.

4 extraordinarias aplicaciones espía para Android

Le andas haciendo al James Bond y necesitas grabar video, voz o tomar fotos desde tu dispositivo Android sin ser notado? Aquí 4 excelentes aplicaciones que facilitarán tus hazañas de 007 en menos de lo que canta un gallo.

c606 c6nf5g4r6 e3 tec3ad6 [Como configurar el teclado]

¿Problemas al escribir con el teclado? ¿Tratas de escribir la letra ‘o’ y sale el número ‘6’ o algo por el estilo? La solución puede ser más simple de lo que parece. La solución a tu problema tras el salto...

Conexión, consulta y ejecución de sentencias en MySQL con Java

Anteriormente escribí este mismo artículo pero para bases de datos en Oracle . En este artículo prácticamente me copio y pego para explicar paso a paso cómo realizar la conexión a MySQL en Java, así como la forma de realizar consultas a los registros existentes y ejecutar sentencias de inserción, borrado y actualización de datos. Al final del artículo tendremos una clase que encapsulará todos los procedimientos necesarios para trabajar con la base de datos.