Grub a boot Win XP a Win 7

KoXz

Grub a boot Win XP a Win 7
« kdy: 10. 10. 2012, 23:27:35 »
Zdravím.
Mám jeden disk rozdělený na 3 partišny v pořadí Linux, Win 7 a Win XP.
Když spouštím XP, musím nejprve v grubu zadat Win 7 a z jeho zavaděče vybrat XP.

Chci přidat XP do grubu abych nemusel přez 7, ale nedaří se.
Když je tam přidám:
title Win XP
       root (hd0,1)
       chainloader +1

tak dostávám akorát hlášku NTLDR is missing.

Jak z toho ven, poradíte?
« Poslední změna: 11. 10. 2012, 09:43:53 od Petr Krčmář »


Trubicoid2

Re:Grub tripple boot problem
« Odpověď #1 kdy: 11. 10. 2012, 00:45:28 »
A xp je na jake partisne? Sda3? Pak ma byt hd0,2
A co je v boot.ini na te xp partisne?

KoXz

Re:Grub a boot Win XP a Win 7
« Odpověď #2 kdy: 11. 10. 2012, 11:37:48 »
Tedy pro úplnost:

Takže XP jsou na 4 oddíle, na začátku je nějakých 100MB co si vytvořil Linux.
V boot.ini mám:
.......
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT

Takže druhá partišna? Tomu nerozumím.

A v grub.conf mám:
.......
title CentOS
   root (hd0,2)
   kernel /vmlinuz-2.6.18-308.16.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
   initrd /initrd-2.6.18-308.16.1.el5.img
title Windows 7
   rootnoverify (hd0,0)
   chainloader +1

Win 7 se zavádí z nulté partišny? Mám v tom hokej, ale takhle to funguje, jen přidat ty XP se nedaří.
Zkoušel jsem přidat všechny možné kombinace (hd0,1) až (hd0,4) ale nic nefunguje, bude v tom nějaký háček


Re:Grub a boot Win XP a Win 7
« Odpověď #3 kdy: 11. 10. 2012, 15:11:04 »
Cau. Tohle je prinejmensim zajimava konfigurace oddilu ;) Nikdy si nejsem jistej, jak je to s tim cislovanim (jestli od 0, nebo od 1..) ale to je celkem nepodstatny, na to prijdes ;) Pojdme se rychle podivat, jak to bootovani cely funguje.

Jak masina nastartuje, spusti se kod BIOSu a ten kdyz ma hotovo, tak nabootuje ze zarizeni, ktere ma nastaveno. To je vetsinou systemovy HDD. Pokud to neni bios starsi jak rekneme 7 let, tak se jeste podiva, kterej oddil na danem disku ma nastaveny tzv. "boot flag" a pak nacte kod ze sameho zacatku toho oddilu a ten spusti. V tomhle miste (dlouheho zpravidla 512 B) se ocekava, ze bude prvni "stage" bootloaderu. Do 512 B kodu se toho vetsinou moc nevejde, takze tenhle kod akorat obsahuje informace, kde najit chytrejsi 2. stage daneho bootloaderu, tu nacist a spustit. V tehle chvili pak vetsinou vidis obrazuvku z linuxoveho GRUBu nebo z wokenniho NTLDR.

Nejcastejsi jednosystemova konfigurace je takova, ze stage 1 je zaroven v MBR (to je uplne prvnich 512 B na disku), kde je taky tabulka oddilu. Tam se nactou vsechny vitalni informace a pokracuje se do stage 2, ktera muze byt hned za MBR, nebo na zacatku nejakeho dalsiho oddilu. To nas tady asi bude zajimat.

Takze jestli chapu tvuj pripad dobre, tvuj linux partition (cislujem od 1) je na druhem miste. No vypada to jako pekna divocina ;) Takze u tebe BIOS skoci na 2. oddil a nacte GRUB, ty pak, kdyz chces win7, nechas nacist informace prave z MBR (kam se win pravdepodobne agresivne nacpaly pri instalaci), kde je prave wokenni bootloader...

GRUB sam jako takovej neumi nabootovat zadny windows, ale umi spustit jejich bootloader, tedy NTLDR. Ty kdyz se snazis o
   rootnoverify (hd0,4)
   chainloader +1
tak te to zakonite posle k sipku, protoze na zacatku XP oddilu zadnej bootloader urcite neni. Ruzny instalace systemu maj ze zjednodusujicich duvodu tendenci vsechno cpat do MBR a snadno dojde ke vzajemnymu prepsani. S windows je to navic vubec vselijaky.
Bejt tebou, zkusil bych nabootovat XP do recovery console a pustit fixboot. To by melo nahrat stage 1 na zacatek daneho oddilu, kam bys teoreticky moh uz pak "nachainloadovat". Nicmene mam strach, ze zrovna u XP narazis na problem, ze kdyz nebootujou z prvniho oddilu, nebo neco takovyho, tak na tebe kaslou. Takze je otazka, jestli za stavajiciho rozlozeni oddilu to je vubec mozny udelat.

Mozna bys moh to taky udelat obracene a bootovat GRUB/linux z NTLDR jako prvniho bootloaderu. Neco k tomu je treba tady http://jaeger.morpheus.net/linux/ntldr.php To by vlastne bylo asi uplne nejjednodussi ;)

trubicoid2

Re:Grub a boot Win XP a Win 7
« Odpověď #4 kdy: 11. 10. 2012, 19:38:52 »
to cislovani je ruzny, grub1 pouziva cislo partice -1 tedy sda2=hd0,1
grub2 pouziva cislo partice, tedy sda2=hd0,2

widle v boot ini nepouzivaji! cislo partice ale poradi na disku, tedy jestli nemas partice poporade, tak v tom muze byt hokej
dejme tomu na disku je sda4,sda3,sda2,sda1 pak sda2=3

napis, co rika fdisk -l, ja se v tom obrazku nevyznam
a jak rika kolega, mozna bude treba opravit bootsektor toho oddilu s xp, mozna on ted bootuje pres bootsektor oddilu s win7


KoXz

Re:Grub a boot Win XP a Win 7
« Odpověď #5 kdy: 18. 10. 2012, 16:57:56 »
Jop, bootuje přez win 7. Trochu jsem experimentoval, ale zničil jsem si veškerý bootování, dalo celkem práci to opět obnovit.
Už to asi nechám být, holt win xp budu zavádět z ntldr sedmiček, sice to ubírá na konfortu, ale žít se s tím dá

KoXz

Re:Grub a boot Win XP a Win 7
« Odpověď #6 kdy: 22. 10. 2012, 16:11:31 »
Tak mi to nedalo spát, jelikož XP jsou zrovna ten nejpotřebnější systém.
Udělal jsem to s takovou představou, že když odpojím všechny disky (včetně toho s grubem) a nechám tam jen jeden, na který nainstaluju XP separátně, tak nebude problém následně jen přidat v grubu na ně odkaz, ale vážně se nedaří.

Situace je tedy taková, že na prvním disku mám linux a win 7 a je to bez problémů.
Na druhém disku mám XP.
Když z něj nabootuji přímo z biosu, XP v pohodě naběhnou.

Přidám-li ale do grubu
title win xp
rootnoverify (hd1,0)
chainloader +1

tak se nic neděje, jen blikající kurzor

Přidal jsem ješte do device.map
(hd1) /dev/hdf
protože tam nebyl namapovaný, ale nejsem si jistý, jestli je to nutné. Nebo správné.

Už vážně nevím

Re:Grub a boot Win XP a Win 7
« Odpověď #7 kdy: 22. 10. 2012, 19:03:46 »
Keď bootoješ z BIOSu, vybratý disk je ako prvý, wxp asi "neprežije" zmenu poradia svojho disku. Ak sa dá vybrať disk pri štarte PC (F8, F10, F12 - ako kedy), je to asi najjednoduchšie riešenie.

KoXz

Re:Grub a boot Win XP a Win 7
« Odpověď #8 kdy: 22. 10. 2012, 20:49:02 »
Uff, tak už to funguje.
Bylo potřeba upravit grub takto:

title win xp
map (hd1) (hd0)
map (hd0) (hd1)
root (hd1)
chainloader +1

Takže už běží vše jak má :-)