victtaum
(usa OpenSuSE)
Enviado em 21/03/2011 - 17:28h
eu tive esse mesmo problema, eu tenho 2 hds o sda e o sdb o sda eu particionei, a ultima eu instalei o windows xp na segunda eu instalei o windows 7 (esperando que ele reconhecesse o sistema do xp pra ficar dual boot, oq não adiantou nada!). No meu outro hd eu instalei o suse 11.3.
no meu grub tinha 3 boots do linux (o padrão, o failsafe e o XEN) e 3 boots do windows (o primeiro é referente à primeira partição de 100mb que o win 7 cria pra colocar o boot, o segundo é o proprio sistema do win 7 e o terceiro era pra ser o meu xp) o boot do xp como o de vcs deu problema no NTLDR e pedia pra apertar ctrl+alt+del pra reinicia como todos já sabemos.
pois bem para resolver eu fui não mexi no menu.lst (/boot/grub/menu.list) pq não é necessário, a menos que não houvesse no menu de boot do grub uma entrada referente ao xp, ou seja, se no seu grub aparece o boot do seu windows xp não é necessário mexer no arquivo menu.lst. Dessa forma o meu menu.lst está assim:
"# Modified by YaST2. Last modification on Dom Mar 20 23:48:03 BRT 2011
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader
default 0
timeout 8
gfxmenu (hd1,1)/boot/message
###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.3 - 2.6.34-12
root (hd1,1)
kernel /boot/vmlinuz-2.6.34-12-desktop root=/dev/disk/by-id/ata-WDC_WD400BB-00JKC0_WD-WMAMF1577388-part2 resume=/dev/disk/by-id/ata-WDC_WD400BB-00JKC0_WD-WMAMF1577388-part1 splash=silent quiet showopts vga=0x317
initrd /boot/initrd-2.6.34-12-desktop
###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.3 - 2.6.34-12
root (hd1,1)
kernel /boot/vmlinuz-2.6.34-12-desktop root=/dev/disk/by-id/ata-WDC_WD400BB-00JKC0_WD-WMAMF1577388-part2 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x317
initrd /boot/initrd-2.6.34-12-desktop
###Don't change this comment - YaST2 identifier: Original name: xen###
title Xen -- openSUSE 11.3 - 2.6.34-12
root (hd1,1)
kernel /boot/xen.gz vgamode=0x317 vgamode=0x317
module /boot/vmlinuz-2.6.34-12-xen root=/dev/disk/by-id/ata-WDC_WD400BB-00JKC0_WD-WMAMF1577388-part2 resume=/dev/disk/by-id/ata-WDC_WD400BB-00JKC0_WD-WMAMF1577388-part1 splash=silent quiet showopts vga=0x317
module /boot/initrd-2.6.34-12-xen
###Don't change this comment - YaST2 identifier: Original name: windows 1###
title windows 1
rootnoverify (hd0,0)
chainloader +1
###Don't change this comment - YaST2 identifier: Original name: windows 2###
title windows 2
rootnoverify (hd0,1)
chainloader +1
###Don't change this comment - YaST2 identifier: Original name: windows 3###
title windows 3
rootnoverify (hd0,2)
chainloader +1"
Note que existem 7 entradas que são as sete entradas, já citadas, do meu grub a ultima delas é o windows xp ou como esta ali windows 3. Se observamos a configuração da entrado do windows 3 vamos ver que ele está buscando o boot no primeiro hd na terceira partição ("rootnoverify (hd0,2)"). Isso explica o motivo de não precisamos mexer no menu.lst.
Quando eu vi que o arquivo de boot do grub estava buscando o sistema na partição certa mas que, por sua vez, não estava encontrando um sistema comprovei a ideia de que o problema se devia à falta de arquivos referentes a inicialização da própria partição, que nesse caso continha o windows xp. O boot do windows xp funciona com basicamente 3 arquivos (pelo menos foi com esses tres que eu obtive sucesso) o "ntldr" (que eu carinhosamente apelidei de mardito), o "ntdetec.com" e o "boot.ini". Pra minha felicidade o ntldr e o ntdetec.com estão dentro do cd do windows xp na pasta i386, ou seja é só copiá-los pra dentro da partição que o xp está instalado, porém ainda falta o boot.ini pra resolver isso abra o seu editor de texto e cole o que se segue (sem as chaves "{}"):
{
[boot loader]
timeout=1
default= multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS= "Microsoft Windows XP Professional" /noexecute=optin /fastdetect
}
esse arquivo é o cara que contém as informaçoes do boot, ou seja o sistema que vai ser carregado, nele encontra-se as informações do dico (dsik(0)) e da partição (partition(3)) essas são, basicamente, as unicas coisas que vc precisa adaptar segundo a sua necessidade. No meu caso o windows xp estava dentro da terceira partição do disco, ou seja partition(3) mudei tando o partition(3) tanto no "default" (que como o nome sugere é o boot padrão dessa partição) e o local que o sistema se localiza na ultima linha. Salve esse arquivo com o nome boot.ini e cole ele, o ntdetec.com e o ntldr dentro do diretório raiz da partição que está o seu windows xp, depois disso seja feliz :D
qualquer dúvida só me consultar, manda pm que eu respondo, ou então... seila :D mas dá certo hehehe boa sorte cambada