hacer que GRUB me identifique partición con WinXP

Comentarios sobre el buen funcionamiento del sistema y como personalizarlo a tus necesidades.

Moderadores: doc, mcun

Responder
zikaziz
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Lun Dic 13, 2010 5:06 pm

hacer que GRUB me identifique partición con WinXP

Mensaje por zikaziz » Lun Dic 13, 2010 5:37 pm

Saludos, soy nuevo por aquí.
Solicito ayuda para un problema que he tenido 1000 veces de 1000 formas diferentes, y siempre acabo solucionándolo a lo cazurro (formateo-reinstalación total).

En mi PC han convivido Ubuntu, WinXP y Win7. Los 3 aparecían en el GRUB al inicio, sin problemas.
Una reinstalación del XP hace tiempo, me hizo desaparecer el Win7 del GRUB. Sí aparecía su nombre, pero abría WinXP, y éste desapareció de la lista.
Ahora, una reinstalación del Win7, me ha hecho lo contrario: tengo Win7 pero no WinXP. ¡No consigo que convivan!

Los S.O. los tengo distribuídos así:
1er disco duro, por IDE, 1 partición con Windows7.
2º disco duro, por SATA, particiones para UBUNTU 10.10 y Windows XP.

El GRUB, según indiqué en la instalación de Ubuntu10.10, está instalado en el primer disco duro, /dev/sda (sin indicar partición: en otro lugar, no me arrancaba).

haciendo fdisk -l obtengo:
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: 0x12ecf648

Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 38913 312568641 7 HPFS/NTFS

Disco /dev/sdb: 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: 0x009c009c

Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 2432 19531250 83 Linux
/dev/sdb2 3443 15805 99305767 5 Extendida
/dev/sdb3 * 15806 38912 185606977+ 7 HPFS/NTFS ------> AQUÍ EL WINDOWS XP DESAPARECIDO
/dev/sdb5 3443 15562 97353868+ 83 Linux
/dev/sdb6 15563 15805 1951866 82 Linux swap / Solaris
En negrita, la partición con WINDOWS XP que no me aparece en GRUB. El sistema de archivos de esa partición está tal y como cuando lo detectaba.
Éstos son las que me aparecen al iniciar (copio haciendo update-grub2):
Found linux image: /boot/vmlinuz-2.6.35-23-generic
Found initrd image: /boot/initrd.img-2.6.35-23-generic
Found linux image: /boot/vmlinuz-2.6.35-22-generic
Found initrd image: /boot/initrd.img-2.6.35-22-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1


Sé que puedes añadir a manubrio S.O.s al GRUB editando /etc/grub.d/40_custom, asi que he añadido a éste:
menuentry "WIN XP (en DEV/SDB3)" {
insmod hfsplus
set root=(hd1,2)
multiboot /boot
}
Y ahora me aparece "WIN XP (en DEV/SDB3)" en el GRUB, pero si lo elijo obtengo "file not found".
Estoy totalmente atrancado.
Si según fdisk, tengo el WindowsXP en /DEV/SDB3, ¿qué equivalencia tiene para "set root=/hdX,Y)? ¿He ahí el fallo?
¿Qué puede fallar para que no me detecte WindowsXP automáticamente?

Mil gracias anticipadas.
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1802
Registrado: Dom Oct 10, 2004 7:00 am

Re: hacer que GRUB me identifique partición con WinXP

Mensaje por neurus » Lun Dic 13, 2010 5:50 pm

La solución fácil, como root (o utilizando sudo):

#grub-mkconfig -o /root/grub

Eso debería generar un archivo "grub" en la home de root. Ahora, para no correr riesgos, te aconsejo probarla.

1) reinicia la máquina.
2) cuando aparezca el menú de grub, presiona "c".
3) Escribe (sin comillas, claro) "configfile /root/grub" . Enter. Ten en cuenta que es probable que en el menú de grub, la distribución de teclado sea distinta. La barra estará, en ese caso, en alguna otra tecla. En mi caso, aparece en lugar de "-", abajo de "ñ".
4) Debería aparecer, al final de todo, el ítem "Windows." Prueba iniciarlo.

Si todo salió bien, vuelve a iniciar Linux (verás que grub no ha cambiado todavía).
Ahora intercambia los archivos de configuración:

#cp /boot/grub/grub.cfg /root
#cp /root/grub /boot/grub/grub.cfg


Saludos.
zikaziz
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Lun Dic 13, 2010 5:06 pm

Re: hacer que GRUB me identifique partición con WinXP

Mensaje por zikaziz » Lun Dic 13, 2010 10:18 pm

Gracias.
Lo hice, aunque no parece que ocurriera nada tras meter el comando configfile /root/grub.

Gracias a un retoque en el grub.cfg conseguí que apareciera el XP, aunque al darle se quedaba un guión parpadeante en una esquina... no me lo explico pero para mí significa malas noticias.

Tras seguir estos pasos obtengo el mismo resultado, pero sin guión. Vamos se me queda en negro.
Voy a seguir haciendo pruebas con los truquis que he ido leyendo, a ver si saco el fallo. Cuando lo consiga dejo constancia aquí, por lo visto es un quebradero de cabeza para "beginners"! Gracias de nuevo, un saludo.
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1802
Registrado: Dom Oct 10, 2004 7:00 am

Re: hacer que GRUB me identifique partición con WinXP

Mensaje por neurus » Lun Dic 13, 2010 10:51 pm

¿Pero al menos te da algún resultado el comando grub-mkconfig -o /root/grub?

Porque si no funciona eso, no funcionará otra cosa. Puedes probar el comando también sin las opciones, lo que te dará en pantalla la configuración adecuada para arrancar la partición Windows:

#grub-mkconfig
Avatar de Usuario
quierolinux
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Lun Feb 11, 2008 8:00 am

Re: hacer que GRUB me identifique partición con WinXP

Mensaje por quierolinux » Mar Dic 14, 2010 3:16 am

Yo instalaría GRUB2 en un par de minutos con Hirens Boot CD y chau problema :D. Está bien aprender, pero en casos de urgencia hay que ser práctico. Mi opinión :D
Avatar de Usuario
niky45
Forista Ancestral
Forista Ancestral
Mensajes: 9186
Registrado: Jue Abr 12, 2007 7:00 am
Ubicación: tras la pantalla (...)
Contactar:

Re: hacer que GRUB me identifique partición con WinXP

Mensaje por niky45 » Mar Dic 14, 2010 5:48 pm

instala el os-prober , y lanzalo (desde consola como root). deberia detectarte todo sin problemas
set root=(hd1,2)
hmmm... en grub2 habian cambiado la notacion.. tambien puedes probar con variantes logicas:

Código: Seleccionar todo

hd1,3
hd2,2
hd2,3
a ver si te detecta alguna de ellas...

pero la mejor opcion es el os-prober. :)
#446716
>>"Linux: the operating system with a CLUE... Command Line User Environment".
(seen in a posting in comp.software.testing)

[ DNFD ] - [ F4A ] - [ dotfiles ]
zikaziz
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Lun Dic 13, 2010 5:06 pm

Re: hacer que GRUB me identifique partición con WinXP

Mensaje por zikaziz » Mié Dic 15, 2010 1:27 am

Muchas gracias por toda la ayuda.
Esta noche me pondré con todo esto, si consigo arrancarlo pondré aquí cómo, para la posteridad.
Si no, ya estoy preparando megacopia de seguridad y a reorganizar particiones desde 0 -_-'' espero poder evitarlo!

EDITO:
Prueba de os-prober:
****@****-System-Product-Name:~$ sudo os-prober
[sudo] password for ****:
/dev/sda1:Windows 7 (loader):Windows:chain
Nada, voy a probar esas variantes.

Editado -- Mar Dic 14, 2010 5:27 pm --

Bueno, casi puedo dictar sentencia.

A base de prueba y falla, todas las combinaciones me daban el mismo resultado (guión parpadeante) salvo la de hd 1,3
menuentry "Microsoft Windows XP Professional (on /dev/sdb3)" {
insmod part_msdos
insmod ntfs
set root='(hd1,msdos3)'
search --no-floppy --fs-uuid --set 4434C0F734C0ED4C
drivemap -s (hd1) ${root}
chainloader +1
Con esta, pantalla en negro y nada más. Queda claro que es la correcta,pues en el código de la partición Windows7 (por fin lo veo) vemos
set root='(hd0,msdos1)'
asi que coincide con su homónima, dev/sda1. ¡Noobs del mundo, si podéis leerme, apuntáos en la mano que HD->a=0 y Part.>1=1 en GRUB!

Ahora que sé que el GRUB marca la partición adecuada, sólo me cabe esperar que el problema está en el S.O. WindowsXP. Puede que el 7 me lo haya inutilizado (puesto que en el C:\ de WinXP me había desaparecido el archivo boot.ini), puede que haya dejado las particiones "perdiditas" de GRUBS al instalar Ubuntu10.10 (le indiqué 3 distintas hasta que funcionó en sda)... haré algún intento por repararlo o fusilaré a ambos discos duros.
Gracias por todo que he aprendido cantidá.
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje