Mi caso es el siguiente: tenía instalados windows7 y ubuntu 10.4.
El otro día tuve que instalar windows xp, y lo que ocurre al hacer esto es que el grub se pierde. Lo recuperé con el LiveCD de ubuntu. Hasta aquí todo bien.
Al hacer sudo update-grub2 debería detectar todos los sistemas operativos pero no lo hace. Solo me detectaba el propio ubuntu y el windows xp.
El reparto del disco duro es el siguiente:
Código:
teniendo en sda1 windows7, en sda5 ubuntu10.4, en sda7 windowsXP y sda8 es una partición para datos.Disco /dev/sda: 320.1 GB, 320072933376 bytes 255 cabezas, 63 sectores/pista, 38913 cilindros Unidades = cilindros de 16065 * 512 = 8225280 bytes Tamaño de sector (lógico / físico): 512 bytes / 512 bytes Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes Identificador de disco: 0x05750575 Dispositivo Inicio Comienzo Fin Bloques Id Sistema /dev/sda1 * 1 10199 81923436 7 HPFS/NTFS /dev/sda2 10200 38912 230637110 f W95 Ext'd (LBA) /dev/sda5 10200 11620 11414119+ 83 Linux /dev/sda6 11621 11754 1076323+ 82 Linux swap / Solaris /dev/sda7 11755 16225 35913276 7 HPFS/NTFS /dev/sda8 16226 38912 182233296 7 HPFS/NTFS
Al inciar el PC aparece esto:
Código:
y si seleccionabamos la entrada de windows7 iniciaba el windows xp.Ubuntu, con Linux 2.6.32-27-generic Ubuntu, con Linux 2.6.32-25-generic Ubuntu, con Linux 2.6.32-21-generic Windows 7 (loader) (on /dev/sda1)
Si lo hacíamos con el Super Grub Disk hacía lo mismo.
El archivo grub.cfg que genera es este:
Código:
Como se puede ver, en root='(hd0,1)' está el windows7 pero a min me iniciaba windows xp.# # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### if [ -s $prefix/grubenv ]; then load_env fi set default="0" if [ ${prev_saved_entry} ]; then set saved_entry=${prev_saved_entry} save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault { if [ -z ${boot_once} ]; then saved_entry=${chosen} save_env saved_entry fi } function recordfail { set recordfail=1 if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi } insmod ext2 set root='(hd0,5)' search --no-floppy --fs-uuid --set 43feb22b-aa14-4693-9cd3-7edd8a687ff4 if loadfont /usr/share/grub/unicode.pf2 ; then set gfxmode=1024x768 insmod gfxterm insmod vbe if terminal_output gfxterm ; then true ; else # For backward compatibility with versions of terminal.mod that don't # understand terminal_output terminal gfxterm fi fi insmod ext2 set root='(hd0,5)' search --no-floppy --fs-uuid --set 43feb22b-aa14-4693-9cd3-7edd8a687ff4 set locale_dir=($root)/boot/grub/locale set lang=es insmod gettext if [ ${recordfail} = 1 ]; then set timeout=-1 else set timeout=6 fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=white/black set menu_color_highlight=black/light-gray ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_linux ### menuentry 'Ubuntu, con Linux 2.6.32-27-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod ext2 set root='(hd0,5)' search --no-floppy --fs-uuid --set 43feb22b-aa14-4693-9cd3-7edd8a687ff4 linux /boot/vmlinuz-2.6.32-27-generic root=UUID=43feb22b-aa14-4693-9cd3-7edd8a687ff4 ro splash quiet vga=773 quiet splash initrd /boot/initrd.img-2.6.32-27-generic } menuentry 'Ubuntu, con Linux 2.6.32-25-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod ext2 set root='(hd0,5)' search --no-floppy --fs-uuid --set 43feb22b-aa14-4693-9cd3-7edd8a687ff4 linux /boot/vmlinuz-2.6.32-25-generic root=UUID=43feb22b-aa14-4693-9cd3-7edd8a687ff4 ro splash quiet vga=773 quiet splash initrd /boot/initrd.img-2.6.32-25-generic } menuentry 'Ubuntu, con Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod ext2 set root='(hd0,5)' search --no-floppy --fs-uuid --set 43feb22b-aa14-4693-9cd3-7edd8a687ff4 linux /boot/vmlinuz-2.6.32-21-generic root=UUID=43feb22b-aa14-4693-9cd3-7edd8a687ff4 ro splash quiet vga=773 quiet splash initrd /boot/initrd.img-2.6.32-21-generic } ### END /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/30_os-prober ### menuentry "Windows 7 (loader) (on /dev/sda1)" { insmod ntfs set root='(hd0,1)' search --no-floppy --fs-uuid --set 04a4f853a4f84926 chainloader +1 } ### END /etc/grub.d/30_os-prober ### ### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ###
Recuperé el inicio de windows7 con un CD de recuperación, y ahora en vez de iniciar el windowsxp inicia el windows7, como debería ser desde el principio. Pero ahora el problema es con el windowsxp.
He visto por aí que se puede modificar el 40_custom pero no se como hacerlo. He probado varias formas pero no me funcionan.
Yo lo edité de la siguiente forma:
Código:
pero no funciona. Al seleccionar la entrada del windowsxp queda un caracter "_" parpadeando.menuentry "Windows XP Professional" { insmod ntfs set root=(hd0,7) search --no-flopy --fs-uuid --set ea20306c2030423d chainloader +1 }
Si alguien me pudiese dar la solución a esto le estaría muy agradecido :)
Gracias