Boot Menü Linux, Windows XP, Windows 2000
Benne
- software
0 Stefan Bach0 Christoph Schnauß0 Benne0 Stefan Bach0 Christoph Schnauß0 Benne0 Stefan Bach0 Benne
Hallo zusammen,
ich habe auf meinem PC SuSE Linux 8.2, Windows 2000 sowie Windows XP installiert.
Mein Problem ist, dass das Boot-Menü nicht so tut, wie es soll.
SuSE hat automatisch den GRUB-Bootloader installiert. Da zuvor nur Windows 2000 und XP installiert waren, hat windows ebenfalls sein Bootmenü angelegt. Dieses Bootemü kann man bekanntlich über die boot.ini konfigurieren, was mir allerdings nicht weiterhilft.
Ruf ich nämlich beim GRUB-Loader den Windows 2000 sowie den Windows XP eintrag auf, so erscheint bei beiden das Bootmenü von Windows 2000, bei dem ich erneut windows 2000 oder xp selektieren muss.
ach ja: grub ist schon so eingestellt, dass bei winxp die winxp partition geladen werden soll. winxp muss aber irgendwie den root eintrag "falsch" gesetzt haben, sodass eben die win2000 partition "geladen" wird.
Ich finde das nicht ideal, denn ich möchte bereits in GRUB auswählen, ob XP, 2000 oder suse geladen werden soll.
ich hoffe, dass jemand versteht, was ich meine und mir weiterhelfen kann.
gruß,
benne
Hallo,
SuSE hat automatisch den GRUB-Bootloader installiert. Da zuvor nur Windows 2000 und XP installiert waren, hat windows ebenfalls sein Bootmenü angelegt.
Ruf ich nämlich beim GRUB-Loader den Windows 2000 sowie den Windows XP eintrag auf, so erscheint bei beiden das Bootmenü von Windows 2000, bei dem ich erneut windows 2000 oder xp selektieren muss.
Ich bin mir nicht 100%ig sicher, aber es könnte sein, dass es für dein Problem keine Lösung gibt. Wenn ich mich richtig erinnere, dann liest der Bootloader von Windows 2000/XP (ist ja praktisch der gleiche) nur die boot.ini welche sich auf der ersten Platte im System befindet.
In diesem Fall wäre es nicht möglich dem Bootloader die gewünschte boot.ini unterzuschieben, welche das System startet, welches du gerne hättest. Möglicherweise liese sich das von dir gewünschte über ein geschicktes verstecken von Partitionen erreichen, so dass du zwei getrennte Partitionen mit jeweils eigenem Windows Bootloader und boot.ini hättest. Wenn der Bootloader der zweiten Partition aktiv werden soll, dann müsste man die gesamte erste Partition vorher verstekcen. Aber ob sich der Windows Loader da drum schert oder die boot.ini auf der Partition trotzdem verwendet weiß ich nicht.
Du könntest auch den Windows Bootloader als primären Bootmanager verwenden. Dann bootest du deine Windows Versionen wie gewohnt über diesen und packst den GRUB in eine Image Datei welche vom Windows Bootloader aus über Chainload gestartet wird.
Du kannst dann ja deine GRUB Konfiguration so anpassen, dass dein Linux automatisch nach einem kurzen Delay gebootet wird. (Könntest es natürlich auch sofort booten lassen, aber wenn du mal in die GRUB Kommandozeile willst oder so, dann hilft dir das Delay dabei.)
Viele Grüße,
Stefan
halloi Stefan,
Ich bin mir nicht 100%ig sicher, aber es könnte sein, dass es für dein Problem keine Lösung gibt.
Doch, gibt es, siehe oben.
Möglicherweise liese sich das von dir gewünschte über ein geschicktes verstecken von Partitionen erreichen
Überflüssige Mühe. Das würde zwar funktionieren, ich bin aber der Ansicht, daß man von der Möglichkeit, ganze Partitionen zu verstecken, nur im äußersten Notfall Gebrauch machen sollte.
Du könntest auch den Windows Bootloader als primären Bootmanager verwenden.
Ja, das geht auch.
Dann bootest du deine Windows Versionen wie gewohnt über diesen und packst den GRUB in eine Image Datei
Nein. Nicht den GRUB (der ist ja dann gar nicht mehr im MBR resindent), sondern die root-Partition, und dafür nimmst du dd. Wie das geht, ist im SuSE-Handbuch knapp aber präzise und ausreichend beschrieben.
Du kannst dann ja deine GRUB Konfiguration so anpassen, dass dein Linux automatisch nach einem kurzen Delay gebootet wird.
Natürlich. Aber man sollte schon 5 oder mehr Sekunden "Wartezeit" einrechnen, um das Bootmenü angezeigt zu bekommen und eventuell zu entscheiden, was man nun grade starten möchte.
Grüße aus Berlin
Christoph S.
hallo,
ich habe auf meinem PC SuSE Linux 8.2, Windows 2000 sowie Windows XP installiert.
Ich habe einen vergleichbaren Rechner mit SusE LINUX 8.2, FreeBSD 5.1, Windows XP und Windows 2003 Server. und bei mir fnktioniert es mit GRUB als Bootloader gut.
SuSE hat automatisch den GRUB-Bootloader installiert. Da zuvor nur Windows 2000 und XP installiert waren, hat windows ebenfalls sein Bootmenü angelegt. Dieses Bootemü kann man bekanntlich über die boot.ini konfigurieren, was mir allerdings nicht weiterhilft.
Doch. Allerdings geht das nur, wenn WinXP und Win2000 auf verschiedenen Partitionen liegen. Du legst einfach in jeder Partiton mit einem deiner Windows-Systeme eine _eigene_ boot.ini an, in der nur das auf der Partition vorhandene System eingetragen wird. Damit klappt es jedenfalls bei mir völlig problemlos.
Grüße aus Berlin
Christoph S.
Hallo
Doch. Allerdings geht das nur, wenn WinXP und Win2000 auf verschiedenen Partitionen liegen. Du legst einfach in jeder Partiton mit einem deiner Windows-Systeme eine _eigene_ boot.ini an, in der nur das auf der Partition vorhandene System eingetragen wird. Damit klappt es jedenfalls bei mir völlig problemlos.
hm, kannst du mir vielleicht mal deine boot.ini dateien posten?
ich habe eigentlich ähnliche bedenken, wie sie Stefan Bach in seinem Post zu diesem Thema hier schon aufgebracht hat.
Grüße und Danke,
Benne
Hallo,
Doch. Allerdings geht das nur, wenn WinXP und Win2000 auf verschiedenen Partitionen liegen.
ich habe eigentlich ähnliche bedenken, wie sie Stefan Bach in seinem Post zu diesem Thema hier schon aufgebracht hat.
Wenn Christoph es bei sich lauffähig hat, dann wird es wohl funktionieren. Ich hatte letzt im Geschäft einen Rechner, da waren zwei Installationen von Windows 2000 drauf, auf zwei verschiedenen Platten. Gebootet wurde die Installation auf der zweiten Platte, der Bootloader lag aber auf der ersten. (Die zweite hat den Bootloader auch gar nicht drauf gehabt.)
Du kannst es ja mal ausprobieren. Stelle sicher, dass in den Bootsektoren der Windows Partitionen (nicht in dem der Platte!) jeweils der Microsoft Bootloader liegt. (Sollte er nur in einer Partition installiert sein, dann kopiere ihn von Linux aus mit Hilfe von dd in die andere.)
Dieser benötigt ein paar Dateien im Root der jeweiligen Partition (ntldr, boot.ini, ...), da musst du sicherstellen, dass diese bei den jeweiligen Partitionen auch vorhanden sind. Wenn sie nur bei einer da sind, dann kopiere sie einfach rüber.
Jetzt stellst du deine boot.ini Dateien so ein, dass sie jeweils nur das System booten auf dessen Partition sie liegen. Und das ganze ohne ein Auswahlmenü. Wenn du jetzt über GRUB die entsprechende Partition als aktiv markierst und den darin enthaltenen Bootloader über einen Chainload aufrufst, dann sollte es wohl klappen.
Falls es nicht klappt, dann ist es mir ehrlich gesagt ein Wunder, wie Christoph es hinbekommen hat.
Viele Grüße,
Stefan
hi,
hm, kannst du mir vielleicht mal deine boot.ini dateien posten?
Auf C:\ liegt diese boot.ini:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINXP
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINXP="Microsoft Windows XP Professional" /fastdetect
Und auf G:\ diese:
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows Server 2003" /fastdetect
Laufwerksbuchstaben habe ich angepaßt, andere Lauwerksbuchstaben gehören zu Partitionen auf anderen Platten. Wichtig sind die Partitionsnummern. Bei dieser Platte (der ersten im System) sieht die Partitionierung folgendermaßen aus:
Wie bereits angegeben, ist der bootloader GRUB. Die zugehörige menu.lst sieht so aus:
color white/blue black/light-gray
default 0
timeout 8
title Windows XP
root (hd0,0)
chainloader +1
title Win 2003 Server
root (hd0,2)
chainloader +1
title SuSE 8.2
kernel (hd0,3)/boot/vmlinuz root=/dev/hda4 vga=0x317 hdd=ide-scsi hddlun=0 splash=silent showopts
initrd (hd0,3)/boot/initrd
title FreeBSD 5.1
root (hd1,0)
chainloader +1
ich habe eigentlich ähnliche bedenken, wie sie Stefan Bach in seinem Post zu diesem Thema hier schon aufgebracht hat.
Ich habe bei Stefan keine _grundsätzlichen_ Bedenken gelesen.
Grüße aus Berlin
Christoph S.
hallo,
also meine boot.ini dateien, sowie grub einstellungen sind prinzipiell identisch bei mir. ich habe jetzt zusätzlich alle dateien im hauptverzeichnis von meiner win2000 partition auf meine winxp kopiert (die boot.ini hab ich natürlich gelassen).
jetzt habe ich noch probier im grub mit dem befehl "makeactive" die winxp zu aktivieren, was aber nur einen grub fehler verursacht.
die anwendung von dd habe ich aber nicht verstanden...was soll/muss ich damit noch machen?
gruß und schonmal vielen dank,
Benne
Hallo,
die anwendung von dd habe ich aber nicht verstanden...was soll/muss ich damit noch machen?
Du hast verschiedene Partitionen auf deiner Festplatte (oder verschiedene Platten?). Jede Partition hat ihren eigenen Bootsektor, dort kann ein eigener Bootloader drin sitzen. Zusätzlich gibt es noch den MBR, dieser gilt für die gesamte Platte und ist an keine Partition gebunden. Der Bootloader aus dem MBR wird auch standardmäßig geladen.
Jetzt kannst du in die Bootsektoren der Partitionen eigene Bootloader reinbauen. Hier musst du auf deinen beiden Windows Systempartitionen jeweils den dazugehörigen Windows Bootloader drin haben. GRUB welcher im MBR residiert kann dann über die chainload Funktion den Windows Bootloader aus der jeweiligen Partition aus aufrufen, dieser sollte sich dann auch der bei ihm liegenden boot.ini bedienen.
Falls du schon in beiden Partitionen den Windows Bootloader drin stehen hast, dann ist das in Ordnung. Falls er bis jetzt nur in einer residiert, dann kannst du mit dem dd Befehl den Bootloader aus der einen Partition in den Bootsektor der anderen kopieren. Die genauen Parameter kann ich dir aber aus dem Stehgreif nicht sagen, müsste ich auch erst nachgucken. (512 Bytes?)
Gib uns doch einfach mal deine genaue Festplattenkonfiguration bekannt (wie viele Platten, wie partitioniert (hier geht es um die realen Partitionen, nicht um die Windows Laufwerksbuchstaben), was liegt auf welcher Partition) und auch deine aktuelle GRUB Konfiguration, sowie deine beiden boot.inis, dann können wir dir vielleicht helfen.
Viele Grüße,
Stefan
Hallo,
Gib uns doch einfach mal deine genaue Festplattenkonfiguration bekannt (wie viele Platten, wie partitioniert (hier geht es um die realen Partitionen, nicht um die Windows Laufwerksbuchstaben), was liegt auf welcher Partition) und auch deine aktuelle GRUB Konfiguration, sowie deine beiden boot.inis, dann können wir dir vielleicht helfen.
also ich gehe davon aus, dass auf meiner Windows XP Partition kein Bootloader drin steht.
Dazu fällt mir gerade folgende Frage ein: Was passiert, wenn kein Bootloader im MBR wäre, bzw. was passiert wenn kein Bootloader auf hd0,0 und den anderen?
Ok. meine Festplattenkonfiguration sieht so aus:
1. Platte
1. Windows 2000 - NTFS (5gig)
2. Datenplatte - NTFS
3. Medienplatte - NTFS
4. Linux Swap (200mb)
5. Suse Linux - ReiseFS (5gig)
6. WinXP auf NTFS
2. Platte
1. Systembackup - NTFS (5gig)
2. Datenbackup - NTFS (20gig)
3. Suseinstall - FAT32
da fällt mir eben auf:
warum wird die WinXP Partition als hda9 bzw. hd0,8 erkannt?????
(suse liegt auf hd0,7 ... )
ok,
vielleicht könnt ihr mir jetzt helfen
Gruß,
Benne
Hallo,
Dazu fällt mir gerade folgende Frage ein: Was passiert, wenn kein Bootloader im MBR wäre, bzw. was passiert wenn kein Bootloader auf hd0,0 und den anderen?
Wenn nirgends ein Bootloader wäre, dann würde dein Rechner nicht booten (von CD und Diskette mal abgesehen). Logisch, oder? Für gewöhnlich bootet der Rechner vom Bootloader im MBR der primary Master Platte. Ob du direkt im Bios auch ein booten von Bootloadern aus Partitions MBRs einstellen kannst, das ist Mainboard und Biosabhängig.
- Platte
1. Windows 2000 - NTFS (5gig)
2. Datenplatte - NTFS
3. Medienplatte - NTFS
4. Linux Swap (200mb)
5. Suse Linux - ReiseFS (5gig)
6. WinXP auf NTFS- Platte
1. Systembackup - NTFS (5gig)
2. Datenbackup - NTFS (20gig)
3. Suseinstall - FAT32
Das ist keine gescheite Festplattenkonfiguration, weil
warum wird die WinXP Partition als hda9 bzw. hd0,8 erkannt?????
(suse liegt auf hd0,7 ... )
es hier auf die Aufteilung in primäre Partitionen und Partitionen innerhalb der erweiterten Partition ankommt. Du kannst auf einer Platte bis zu vier primäre Partitionen haben. Diese würden als hdx1 bis hdx4 angesprochen werden. Eine erweiterte Partition ist eine besondere Art von partition, in dieser kannst du weitere "logische Laufwerke" unterbringen. Die logischen Laufwerke sind als hdx5-... bezeichnet, auch wenn es weniger als vier primäre Partitionen gibt.
Irgendwo muss dein Windows Bootloader drinstecken, du kannst ihn ja aus GRUB aus starten. Ich hab dich darum gebeten deine menu.lst und deine boot.inis hier zu posten, das hast du bis jetzt noch nicht gemacht. Hole das bitte nach und erkläre wie deine Platte wirklich partitioniert ist, dann kann ich dir vielleicht helfen.
Viele Grüße,
Stefan