Umstieg auf grub2, dualboot mit windows xp funzt nicht mehr

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
ZombB
Beiträge: 8
Registriert: 02.12.2007 15:27:01
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ingolstadt
Kontaktdaten:

Umstieg auf grub2, dualboot mit windows xp funzt nicht mehr

Beitrag von ZombB » 17.10.2009 20:33:31

Hallo zusammen,

mit grub2 funzt meine Dualbootkonfiguration mit Windows XP auf separater Festplatte nicht mehr. Mit grub legacy funktioniert es jedoch.

Hier gibt es dazu auch schon einen Thread: http://forums.debian.net/viewtopic.php? ... 79&start=0

bin hier aktuell wirklich am Verzweifeln! Folgende Situation im Detail:

Ich habe ein System mit 4 SATA Platten /dev/sda, /dev/sdb, /dev/sdc, /dev/sdd und einer IDE Platte (/dev/hda).

Der Linux MBR liegt auf /dev/sdd, /boot liegt auf /dev/sdd1, der Rest des Systems (Debian/Squeeze) auf einem RAID5/Crypt/LVM Verbund, der sich über /dev/sda2, /dev/sdb2, /dev/sdc2, /dev/sdd2 erstreckt.

Windows XP befindet sich auf /dev/hda1, der Windows MBR auf /dev/hda

Im BIOS ist die Bootreihenfolge /dev/sdd, /dev/sda, /dev/sdb, /dev/sdc, /dev/hda. Beim Booten wird also der MBR auf /dev/sdd angesprungen und dann grub mit der Konfiguration von /boot auf /dev/sdd1 gestartet. Im grub Menü kann Man dann auch einen Eintrag für Windows anwählen, der per Chainloader das Windows von /dev/hda1 startet.

Dazu habe ich in der menu.lst von Grub Legacy folgenden Eintrag:

Code: Alles auswählen

title           Windows XP
rootnoverify    (hd1,0)
map     (hd1) (hd0)
map     (hd0) (hd1)
savedefault
chainloader     +1
Hintergrund ist, dass beim Booten Grub die Platten folgendermaßen sieht (in Grub Legacy Notation):
  • hd0 = /dev/sdd (wird zur ersten Platte, weil von Ihr gebootet wird)
    hd1 = /dev/hda (wird zur zweiten Platte, weil danach zuerst die IDE Platten eingefügt werden)
    hd2 = /dev/sda
    hd3 = /dev/sdb
    hd4 = /dev/sdc
Entsprechend wird also /dev/hda1 als (hd1,0) als root gesetzt und dann wird über map hd1 zu hd0 gemacht und dann gebootet. Funktioniert einwandfrei!


Bei grub2, den ich aus grub legacy heraus starten kann, wurde durch os-prober für Windows auch automatisch ein entsprechender Eintrag angelegt:

Code: Alles auswählen

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows NT/2000/XP (loader) (on /dev/hda1)" {
        insmod ntfs
        set root=(hd0,1)
        search --no-floppy --fs-uuid --set 6240bc8e40bc6b05
        drivemap -s (hd0) ${root}
        chainloader +1
}
### END /etc/grub.d/30_os-prober ###
Leider führt dieser Eintrag auf folgende Fehlermeldung: <Windows root>\system32\ntoskrnl.exe - Datei nicht vorhanden oder korrupt.

Nachdem ich mir das angesehen hatte und verstanden hatte, das grub2 die Platten weiterhin von 0 zählt und die Partitionen aber von 1, und ich in der grub2 konsole mit search mal nachgeschaut habe und gesehen habe, dass die Windowspartition /dev/hda1 für grub2 jetzt unter (hd1,1) liegt, habe ich noch einen entsprechenden manuellen Eintrag ergänzt:

Code: Alles auswählen

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows NT/2000/XP (loader) (on /dev/hda1)" {
        insmod ntfs
        set root=(hd0,1)
        search --no-floppy --fs-uuid --set 6240bc8e40bc6b05
        drivemap -s (hd0) ${root}
        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.
menuentry "Fenster" {
        insmod ntfs
        set root=(hd1,1)
        search --no-floppy --fs-uuid --set 6240bc8e40bc6b05
        drivemap -s (hd0) ${root}
        chainloader +1
}
### END /etc/grub.d/40_custom ###
Das änderte jedoch nichts a der Fehlermeldung: <Windows root>\system32\ntoskrnl.exe - Datei nicht vorhanden oder korrupt. Diese kommt, egal welche der beiden Optionen ich in grub2 auswähle!

Ich habe dann irgendwo gelesen, dass ich bei Windows in der boot.ini etwas ändern muss, damit Windows mitkriegt, dass es von der zweiten Platte bootet. Meine boot.ini hat folgendermaßen ausgesehen:

Code: Alles auswählen

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
Dabei steht rdisk für die Festplatte relativ zur Platte, von der gebootet wurde (siehe auch: http://newsgroups.derkeiler.com/Archive ... 00044.html). Folgendermaßen habe ich dann die boot.ini geändert:

Code: Alles auswählen

[boot loader]
timeout=60
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="0 Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="1 Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
multi(0)disk(0)rdisk(2)partition(1)\WINDOWS="2 Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
multi(0)disk(0)rdisk(3)partition(1)\WINDOWS="3 Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
multi(0)disk(0)rdisk(4)partition(1)\WINDOWS="4 Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
multi(0)disk(0)rdisk(5)partition(1)\WINDOWS="5 Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
Damit bin ich in der Lage jede Platte im System zu adressieren, incl. einer Platte Nr. 5, die es garnicht gibt!

Wenn ich jetzt mit grub2 Windows boote kriege ich entsprechend obiger Einträge in der boot.ini folgende Fehlermeldungen:
  • rdisk(0): <Windows root>\system32\ntoskrnl.exe - Datei nicht vorhanden oder korrupt
    rdisk(1) bis rdisk(4): <Windows root>\system32\hal.dll - Datei nicht vorhanden oder korrupt
    rdisk(5): Die Festplatte wurde nicht gefunden (Klar, die gibts ja auch nicht)
Dabei ist es egal, ob der Eintrag bei grub2 set root=(hd0,1) oder set root=(hd1,1) lautet!

Mit grub legacy kann ich Windows weiterhin ohne Probleme starten, wenn ich den ersten Eintrag rdisk(0) im Windows Bootmenü auswähle. Für die übrigen Einträge gibt es die gleiche Fehlermeldung wie bei grub2.

Jetzt weiß ich eigentlich garnicht mehr weiter. Wer kann mir hier einen Tipp geben, wie ich weiter verfahren kann?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Umstieg auf grub2, dualboot mit windows xp funzt nicht mehr

Beitrag von rendegast » 24.10.2009 13:03:09

set root=(hd0,1)
...
drivemap -s (hd0) ${root}
Würde das nicht dazu führen:

Code: Alles auswählen

        drivemap -s (hd0) (hd0,1)


Ich kann gerade nichts mit '-s ... ${root}' bzw. '-s ... (hdx,y)' anfangen,
also vielleicht mal so probieren?

Code: Alles auswählen

menuentry "Fenster" {
        insmod ntfs
        drivemap (hd1) (hd0)
        drivemap (hd0) (hd1)
        set root=(hd0,1)
        chainloader +1
}
oder auch umdrehen (ist möglicherweise nicht äquivalent):

Code: Alles auswählen

        drivemap (hd0) (hd1)
        drivemap (hd1) (hd0)

In der boot.ini sollte nichts verändert werden (müssen),
Win soll sein Laufwerk C: an derselben Stelle wie zur Installation finden,
um nicht möglicherweise Laufwerksbuchstaben neu zu vergeben -> Win würde dann unbenutzbar.




---------------------------
Doch noch offline-"Doku" gefunden
http://ubuntuteen.blogspot.com/2009/06/ ... -2000.html:
menuentry "Microsoft Windows 2000 Professional (on /dev/sdb1)" {
set root=(hd1,1)
drivemap -s hd0 hd1
chainloader +1
}

the -s switch does the reverse of the command so it is basically the same as putting:
drivemap hd0 hd1
drivemap hd1 hd0

THis time when I tried it...
IT WORKED!!!
Trotzdem würde ich nach dem mapping noch ein 'set root=...' anfügen ?
Zuletzt geändert von rendegast am 24.10.2009 13:32:41, insgesamt 2-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Umstieg auf grub2, dualboot mit windows xp funzt nicht mehr

Beitrag von KBDCALLS » 24.10.2009 13:26:44

Frage mich mal wirklich wer sich das ausgedacht hat, den als Standard zu nehmen ? Das Teil funktioniert doch an allen Ecken nicht. Und die Doku ist bei Debian garnicht vorhanden, und die Info Datei ist sehr lückenhaft. Wenn man sich die Mühe macht und Grub2 selber kompiliert.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Umstieg auf grub2, dualboot mit windows xp funzt nicht mehr

Beitrag von rendegast » 24.10.2009 13:40:48

KBDCALLS hat geschrieben:Und die Doku ist bei Debian garnicht vorhanden
Dito bei gnu.org.

Bei meinen Versuchen mit grub2 war drivemap nichtmal implementiert,
und einen Startsektor-Installation auf das gerade verwendete / funktionierte noch nicht.
Work-in-progress, aber die Anzahl der bereitgestellten *.mod ist doch ganz ansehnlich:
http://packages.debian.org/testing/i386 ... c/filelist
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Clio

Re: Umstieg auf grub2, dualboot mit windows xp funzt nicht mehr

Beitrag von Clio » 24.10.2009 17:29:16

KBDCALLS hat geschrieben:Frage mich mal wirklich wer sich das ausgedacht hat, den als Standard zu nehmen
Dem kann ich nur uneingeschränkt zustimmen.
Ich habe mir das zwei- dreimal angesehen, Infos dazu gelesen, und beschlossen, das Teil kommt mir nicht auf den Rechner.
Solange es irgend geht, werde ich grub-legacy nutzen.

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Re: Umstieg auf grub2, dualboot mit windows xp funzt nicht mehr

Beitrag von 123456 » 24.10.2009 19:05:23

das Wiki meint dazu:
GRUB 2 is actively developed. If you have problems with it, then please try the current SVN version before reporting bugs.
http://grub.enbug.org/

wenn man sich die Timeline anschaut sieht man das die letzte "Stable" im Februar 2008 war. Danach nur noch Betas. Und wo Beta drauf steht ist auch i.d.R. Beta drin.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Umstieg auf grub2, dualboot mit windows xp funzt nicht mehr

Beitrag von KBDCALLS » 24.10.2009 19:25:07

Ich bezweifle mal das Version 1.96 besser funktionierte als die jetzige. Der Status als Alpha träfe es warscheinlich eher. Zumal man Grub auf ftp://alpha.gnu.org findet.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Antworten