Añadir Windows al menú de Grub

Uno de los problemas más comunes relacionados con Grub es perder Grub al instalar Windows, problema que podéis solucionar, por ejemplo, con Super Grub Disk. Pero, ¿qué ocurre si al instalar Linux, Grub no detecta Windows? Añadir Windows al menú de Grub es muy sencillo.

Vamos a editar el archivo de configuración de Grub /boot/grub/menu.lst y a añadir la entrada correspondiente. Primero abrimos el archivo con nuestro editor preferido con permisos de root:

sudo gedit /boot/grub/menu.lst

Y añadimos algo parecido a esto:

title Windows XP
root (hd0,0)
chainloader +1

El texto a continuación de title indica el nombre con el que queremos que aparezca el sistema operativo en el menú de Grub.

El texto a continuación de root indica la partición en la que se encuentra Windows; este valor lo tendréis que cambiar para reflejar la configuración de vuestro sistema. En este caso, hd0,0 indica que Windows está instalado en mi máquina en la primera partición del primer disco duro. Si se encontrara en la segunda partición usaríamos hd0,1; si fuera la primera partición del segundo disco duro, hd1,0, y así sucesivamente. Si no sabéis en qué partición se encuentra Windows podéis ver una lista de las particiones usando el comando

sudo fdisk -l

Por último chainloader +1 indica que queremos que se cargue el primer sector de la partición al seleccionar esta opción en el menú (el cargador de Windows).

Para configurar cualquier otra cosa relacionada con Grub, como mostrar o no el menú (opción hiddenmenu), seleccionar el sistema a cargar por defecto, modificar el tiempo a mostrar el menú, añadir una contraseña, seleccionar la resolución y muchas cosas más, os recomiendo el programa Start-Up Manager, que podeis encontrar en los repositorios:

sudo aptitude install startupmanager

Comentarios
  1. fires

    me diste una gran ayuda hermano..muchas gracias y segui adelante..aguante paraguay..eje;)

    Responder

  2. Nelson

    Hola .
    Soy nuevo en esto de linux y mi pregunta es esta mi disco duro sata me da la siguiente informacion
    Disposit. Inicio Comienzo Fin Bloques Id Sistema
    /dev/sda1 * 1 6079 48829536 83 Linux
    /dev/sda2 6080 6322 1951897+ 82 Linux swap / Solaris
    /dev/sda3 6323 12158 46877670 f W95 Ext’d (LBA)
    /dev/sda4 12159 77825 527470177+ b W95 FAT32
    /dev/sda5 6323 12158 46877638+ 7 HPFS/NTFS
    que deberia escribir en consola para recuperar windows .
    Espero que puedas constestar de antemano muchas gracias

    Responder

    • Esko Kuroi

      deberias poner hd0,5.
      /dev/sda5 seria eso y HPFS/NTFS significa que es la particion de windows. espero te sirva

      Responder

  3. pachi

    por favor el sudo gedit con KDE no funciona cual seria el comando???

    Responder

    • gedit es el editor de texto por defecto de Gnome. Sustitúyelo por el editor que quieras, por ejemplo kedit.

      Responder

  4. Francisco

    Abre una terminal
    su
    (tu password)
    gedit /boot/grub/menu.lst (GNOME)
    kedit /boot/grub/menu.lst (KDE)
    nano /boot/grub/menu.lst (Cualkier GUI y CLI)

    Saludos

    Responder

  5. Francisco

    Nelson es bien facil saber cual es

    Primero identifica el disco que estas usando ejemplo:

    tengo 2 disco ATA y uno es el que esta en el IDE pricipal en el caso de tener 2 discos en un mismo IDE el Master seria el principal y por ende 0,0 el segundo digito en este caso 0 indica el orden de la particion por ejemplo en tu caso por deduccion linux 0.0 swap 0.1 y LBA 0,2 asi sonsecutivamente linux al montar automaticamente los disopsitivos los ordena numericamente por lo tanto es facil saber cual es cual, si tu estas seguro de el numero de disco duro procedemos a verificar el numero de particion de de tu disco duro procedes con los pasos indicados arriba puedes tratar con diferences combinaciones no es muy dificil encontrar la correcta

    Saludos

    Responder

  6. Javier

    Hola.

    Perdón por no ser una pregunta relacionada con el tema, pero me decidí a enviarlo por que veo que estas bastante enterado en GRUB.

    He estado mirando la configuración del GRUB pero en ningún caso he podido encontrar un comando de escritura de mensajes.

    ¿Sabes como poner un mensaje/aviso en el GRUB?

    Responder

    • mart

      Hola, no está muy clara tu pregunta, pero supongo que quieres modificar el GRUB, asi que te vas en consola a /boot/grub/ y abres el menu list con el editor de texto, como indican los chicos arriba. P.e. sudo gedit menu.lst. Yo por ejemplo suelo utilizar el vi. Así lo modificas sin problemas, lo guardas y reinicias.Un saludo

      Responder

  7. Santiago

    Graciassssss, me salvaste la vida, antes formateé el pc dos veces xq no sabia esto.

    Gracias de nuevo!!!

    Responder

  8. pablo

    Gracias por tu ayuda, estaba supermareado pero tu propuesta me ha ayudado a solucionar el problema. Muchas gracias, los inutiles agradecemos la buena disposicion a ayudar de la gente lista 😉

    Responder

  9. RM

    DIsculen soi nuevo en linux, y me sale Gtk-WARNING **: cannot open display:

    Responder

  10. Martin

    oigan pero yo estoy intentando instalar Ubuntu con Wubi y no pude ya que cuando terminaba la instalacion me da el grub que solo detecta a windows

    Responder

  11. Bueno tengo 2 discos duros, 1 disco duro esta como segundo maestro el cd rom es el maestro 1, bueno
    disco duro 1 segundo maestro,
    disco duro 2 segundo esclavo.

    entonces tenia 2 windows, en el primer disco duro, el segundo lo deje solo para debian, entonces en el grub solo me sale 1 windows, escribi unas lineas en el grub segun lo de el tuto pero no logro hacer que el segundo windows me arranque siempre sale algun error, no entiendo que esta mal ya cambie numeros y nada a ver cual me da el numero correcto..

    debian:/home/caos# sudo fdisk -l

    Disco /dev/hdc: 80.0 GB, 80060424192 bytes
    255 heads, 63 sectors/track, 9733 cylinders
    Units = cilindros of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x000bf392

    Disposit. Inicio Comienzo Fin Bloques Id Sistema
    /dev/hdc1 * 1 5227 41985846 7 HPFS/NTFS
    /dev/hdc2 5228 9732 36186412+ f W95 Ext’d (LBA)
    /dev/hdc5 5228 9732 36186381 7 HPFS/NTFS

    Disco /dev/hdd: 10.1 GB, 10110320640 bytes
    255 heads, 63 sectors/track, 1229 cylinders
    Units = cilindros of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x3655f219

    Disposit. Inicio Comienzo Fin Bloques Id Sistema
    /dev/hdd1 * 1 1171 9406026 83 Linux
    /dev/hdd2 1172 1229 465885 5 Extendida
    /dev/hdd5 1172 1229 465853+ 82 Linux swap / Solaris

    y el gdit..

    # menu.lst – See: grub(8), info grub, update-grub(8)
    # grub-install(8), grub-floppy(8),
    # grub-md5-crypt, /usr/share/doc/grub
    # and /usr/share/doc/grub-legacy-doc/.

    ## default num
    # Set the default entry to the entry number NUM. Numbering starts from 0, and
    # the entry number 0 is the default if the command is not used.
    #
    # You can specify ‘saved’ instead of a number. In this case, the default entry
    # is the entry saved with the command ‘savedefault’.
    # WARNING: If you are using dmraid do not change this entry to ‘saved’ or your
    # array will desync and will not let you boot your system.
    default 4

    ## timeout sec
    # Set a timeout, in SEC seconds, before automatically booting the default entry
    # (normally the first entry defined).
    timeout 5

    # Pretty colours
    color cyan/blue white/blue

    ## password [‘–md5’] passwd
    # If used in the first section of a menu file, disable all interactive editing
    # control (menu entry editor and command-line) and entries protected by the
    # command ‘lock’
    # e.g. password topsecret
    # password –md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
    # password topsecret

    #
    # examples
    #
    # title Windows 95/98/NT/2000
    # root (hd0,0)
    # makeactive
    # chainloader +1
    #
    # title Linux
    # root (hd0,1)
    # kernel /vmlinuz root=/dev/hda2 ro
    #

    #
    # Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

    ### BEGIN AUTOMAGIC KERNELS LIST
    ## lines between the AUTOMAGIC KERNELS LIST markers will be modified
    ## by the debian update-grub script except for the default options below

    ## DO NOT UNCOMMENT THEM, Just edit them to your needs

    ## ## Start Default Options ##
    ## default kernel options
    ## default kernel options for automagic boot options
    ## If you want special options for specific kernels use kopt_x_y_z
    ## where x.y.z is kernel version. Minor versions can be omitted.
    ## e.g. kopt=root=/dev/hda1 ro
    ## kopt_2_6_8=root=/dev/hdc1 ro
    ## kopt_2_6_8_2_686=root=/dev/hdc2 ro
    # kopt=root=/dev/hdd1 ro

    ## default grub root device
    ## e.g. groot=(hd0,0)
    # groot=(hd1,0)

    ## should update-grub create alternative automagic boot options
    ## e.g. alternative=true
    ## alternative=false
    # alternative=true

    ## should update-grub lock alternative automagic boot options
    ## e.g. lockalternative=true
    ## lockalternative=false
    # lockalternative=false

    ## additional options to use with the default boot option, but not with the
    ## alternatives
    ## e.g. defoptions=vga=791 resume=/dev/hda5
    # defoptions=quiet

    ## should update-grub lock old automagic boot options
    ## e.g. lockold=false
    ## lockold=true
    # lockold=false

    ## Xen hypervisor options to use with the default Xen boot option
    # xenhopt=

    ## Xen Linux kernel options to use with the default Xen boot option
    # xenkopt=console=tty0

    ## altoption boot targets option
    ## multiple altoptions lines are allowed
    ## e.g. altoptions=(extra menu suffix) extra boot options
    ## altoptions=(single-user) single
    # altoptions=(single-user mode) single

    ## controls how many kernels should be put into the menu.lst
    ## only counts the first occurence of a kernel, not the
    ## alternative kernel options
    ## e.g. howmany=all
    ## howmany=7
    # howmany=all

    ## should update-grub create memtest86 boot option
    ## e.g. memtest86=true
    ## memtest86=false
    # memtest86=true

    ## should update-grub adjust the value of the default booted system
    ## can be true or false
    # updatedefaultentry=false

    ## should update-grub add savedefault to the default options
    ## can be true or false
    # savedefault=false

    ## ## End Default Options ##

    title Debian GNU/Linux, kernel 2.6.26-2-686
    root (hd1,0)
    kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/hdd1 ro quiet
    initrd /boot/initrd.img-2.6.26-2-686

    title Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
    root (hd1,0)
    kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/hdd1 ro single
    initrd /boot/initrd.img-2.6.26-2-686

    ### END DEBIAN AUTOMAGIC KERNELS LIST

    # This is a divider, added to separate the menu items below from the Debian
    # ones.
    title Other operating systems:
    root

    # This entry automatically added by the Debian installer for a non-linux OS
    # on /dev/hdc1
    title Fenix Team (loader)
    root (hd0,0)
    savedefault
    makeactive
    chainloader +1

    title Fenix Team Clean Light (Limpio)
    root (hd0,1)
    savedefault
    makeactive
    chainloader +3

    Responder

  12. lukas

    Hola!soy nuevo en linux, tengo instalado linux mint 10, pero tambien win xp en una particion diferente a la de linux.
    el problema es que al inciar el ordenador solo me carga linux, y no me da la opcion de elegir con que sistema iniciar.
    eh tratado de modificar el menu.lst pero me aparece un texto en blanco!
    por favor si alguien me pudiera ayudar! se lo agradeceria

    Responder

  13. hans

    HOLA tengo un problema cuando arranco me sale xp y win 7 y no tengo instalado xp como lo elimino

    Responder

  14. gnomo

    Dispositivo Inicio Comienzo Fin Bloques Id Sistema
    /dev/sda1 2 7770 62403713 f W95 Ext’d (LBA)
    /dev/sda2 * 7771 19456 93867795 7 HPFS/NTFS
    /dev/sda5 2 3886 31206231 7 HPFS/NTFS
    /dev/sda6 3887 7646 30196736 83 Linux
    /dev/sda7 7646 7770 999424 82 Linux swap / Solaris

    como seriia ??

    cuando pongo sudo gedit /boot/grub/menu.lst
    me sale :
    (gedit:2090): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel’, but failed: Falló al crear el archivo «/root/.local/share/recently-used.xbel.5PQU0V»: No existe el fichero o el directorio

    (gedit:2090): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel’, but failed: No existe el fichero o el directorio

    es correcto ??

    Responder

  15. Gustavo

    Hola la pregunta es la siguiente : tengo instalado Mint , version 12 lisa , y en el menu de arranque le quiero borrar unas entradas y no consigo el menu.lst . Voy a /boot/grub/grub menu.lst y aparece vacio . Instale el administrador de arranque y no me deja borrar las lineas , Aclaro que Lisa usa la versión de Ubuntu o Debian . Gracias

    Responder

  16. javier

    gracias …muchas gracias si vieras cuanto habia batallado con esto de cargar windows en el grub.

    Responder

  17. Gracias! me sirvió para recuperar el inicio de Windows junto a Arch.

    Saludos!

    Responder

  18. Muchas gracias amigo, a ver si me sirve el programita 🙂

    Responder

  19. Fran

    hola, tengo instalado ubuntu 12.04 lts y a parte windows xp, he intentado lo de el menu.lst pero he puesto la particion de windows que es hd0,0 pero el grub sigue sin detectarlo. que puedo hacer para que me salga windows y ubuntu en el grub

    Responder

Deja un comentario