[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

upgrade-from-grub-legacy total schiefgegangen



Hallo,

Manchmal sind es die kleinen Jobs die man gründlich versemmelt. Aber ok,
mal von Anfang an.

Es war einmal ein Rechner, der bekam eine Festplatte mit Windows XP,
weil die Nutzerin (Ehefrau) das so wollte. Weil aber der Mann auch ein
richtiges Betriebssystem haben wollte bekam der Rechner noch eine zweite
Platte (beides SATA) auf der dann ein Debian-Lenny installiert wurde.

Beide Systeme liefen in friedlicher Koexistenz ohne viel voneinander
mitzubekommen, man konnte in Grub ja schön auswählen was man wollte.

Dann kam der Upgrade auf Squeeze. Soweit so gut, es ging problemlos und
der alte Grub hat dann den Grub2 nachgeladen und darauf hingewiesen,
dass man doch wenn alles tut das Kommando upgrade-from-grub-legacy
anwenden solle.

Das habe ich gestern gemacht. Und prompt das falsche Laufwerk
ausgewählt, und so wurde der Grub in den MBR der Windows-Platte
geschrieben und wahrscheinlich noch mehr gekillt, denn der Versuch den
Bootsektor aus einem Plattenimage wieder einzuspielen ging gründlich
schief.

Der aus der Verzweiflung geborene Versuch, den alten Zustand durch
Überpinseln des Linux-Platten-MBRs wieder herzustellen ging natürlich
ebenso in die Hose, wenn man schon was vermurkst, dann aber bitte
richtig. ;-)

Ok, da stand ich nun mit dem System was weder Windows noch Linux booten
wollte. Na ja, alles kein Problem, erst mal Linux mit einer frisch
gebrannten Debian-Netinstall-CD im rescue mode reparieren. Ging auch
problemlos und schon konnte ich Linux wieder booten.

Dann der Versuch, Windows XP irgendwie in die grub.cfg zu bringen. Dafür
habe ich schön brav unter /etc/grub.d/ die 40_custom editiert und alles
mögliche versucht, aber nix ging.

Also Kiste auf, Linux-Platte abgestöpselt um mal zu sehen, ob Windows
wenigstens so bootet. Denkste, natürlich nicht, ich sehe nur einen Grub
der sofort in den Recovery-Modus rennt. Also Windows-Recovery-Konsole
und fixmbr und fixboot gemacht. Reboot, Windows XP bootet wieder.

Linux Platte hingehängt und weiter probiert. Ergebnis: Ich kriegs nicht
gebacken, XP über Grub2 zu booten.

XP liegt auf der ersten Platte in der ersten Partition die ntfs-Format
hat. also sollte doch
  set root=(hd0,1)
  chainloader +1
das tun. Denkste, wenn ich das mache kriege ich nur "invalid signature"

Alles was mir Google bis jetzt serviert hat habe ich erfolglos
ausprobiert, also wahlweise "insmod chain" oder "insmod ntfs" oder was
auch immer.

Etliche Foreneinträge und Bugreports sagen, dass das alles kein Problem
ist, os-prober sollte ja alles erkennen und in /etc/grub.d/ gibt es auch
ein 30_os-prober das aber keinen Output in die grub.cfg schreibt.

Was kann ich noch machen? So schwierig kann es doch nicht sein von Grub2
aus dem System zu sagen, nimm die Platte und boote das Windows was da
drauf ist.

Aktuell kann ich Windows booten wenn ich im BIOS die Bootreihnefolge so
stelle, dass die Windows-Platte die erste ist. Normal sollte er aber die
2. Platte booten, also (hd1) auf der Linux ist und wenn das im BIOS so
eingestellt ist komm ich auch problemlos in Grub2 und Linux raus.

Was eben genau nicht geht ist Windows XP von Grub2 aus zu booten. Also
dem Ding irgendiwe zu sagen, nimm die erste Partition auf der ersten
Platte und boote.

Ich bin langsam am verzweifeln, denn irgendwie habe ich eine
Denkblockade und komm nicht drauf was ich verkehrt mache.

Irgendwelche Hinweise?

Danke und Gruß
Rainer
-- 
Rainer König, Diplom-Informatiker (FH), Augsburg, Germany


Reply to: