Hallo Leute,
ich habe zu einer bestehende Debian/stable Installation auf der 2. HDD eine Windowspartition eingerichtet und will diese nun gerne von Grub starten lassen. Soweit ich mich recht erinnere muss dazu in der menu.lst von GRUB ein mappingeintrag gemacht werden. Also würde ich von der Tendenz jetzt hergehen und folgenden Punkt einfügen zum Windowsmenupunkt. Natürlich lasse ich mal den üblchen Rest weg ;)
.....
map (hd1)(hd0)
map (hd0)(hd1)
.....
Kann mir jemand sagen ob diese Einträge so korrekt sind ?? Ich meine vor langer Zeit hätte ich das mal so gehabt, bin mir aber nicht sicher.
Danke für die Unterstützung.
Angaben für die Festplattenverteilung:
HDD 0 = Debian/GNU LINUX
HDD 1 = Windows 2000
Linux 15.036 Themen, 107.107 Beiträge
Eigentlich nicht, es muß nur der Eintrag chainloader +1 und makeactice bei dem entsprechenden Windowsmenü eingetragen werden:
# examples
#
title Windows 95/98/NT/2000
root (hd1,0)
makeactive
chainloader +1
makeactive macht eine primäre Partition aktiv und chainloader +1 lädt den ersten Sektor (Bootsektor) einer Partition. Aus diese Weise kann grub jedes andere Betriebsystem , einschließlich Solaris, booten.
Du hast recht, Windows läßt sich nur von der ersten Festplatte booten:
http://www.gnu.org/software/grub/manual/grub.html#DOS_002fWindows
PS: Ich benutze Winodws nur noch selten, war mein Fehler :-(.
Hier steht die umgekehrte Reihenfolge:
GRUB cannot boot DOS or Windows directly, so you must chain-load them (see Chain-loading). However, their boot loaders have some critical deficiencies, so it may not work to just chain-load them. To overcome the problems, GRUB provides you with two helper functions.
If you have installed DOS (or Windows) on a non-first hard disk, you have to use the disk swapping technique, because that OS cannot boot from any disks but the first one. The workaround used in GRUB is the command map (see map), like this:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)
This performs a virtual swap between your first and second hard drive.
Caution: This is effective only if DOS (or Windows) uses BIOS to access the swapped disks. If that OS uses a special driver for the disks, this probably won't work.
Another problem arises if you installed more than one set of DOS/Windows onto one disk, because they could be confused if there are more than one primary partitions for DOS/Windows. Certainly you should avoid doing this, but there is a solution if you do want to do so. Use the partition hiding/unhiding technique.
If GRUB hides a DOS (or Windows) partition (see hide), DOS (or Windows) will ignore the partition. If GRUB unhides a DOS (or Windows) partition (see unhide), DOS (or Windows) will detect the partition. Thus, if you have installed DOS (or Windows) on the first and the second partition of the first hard disk, and you want to boot the copy on the first partition, do the following:
grub> unhide (hd0,0)
grub> hide (hd0,1)
grub> rootnoverify (hd0,0)
grub> chainloader +1
grub> makeactive
grub> boot
Ja cool, danke für den Link :)
War mir doch so in Erinnerung, das man das mapping nehmen muss, denn das mit dem Chainloading hatte ja nicht den Erfolg. Also geht das nur über das BIOS swapping. Ich werde es mal editieren und mal hier berichten ob das hinhaut.
Also Danke nochmal für die schnelle Antwort
Sodala, also ich bekomme auf folgende Konfiguration immer nur Fehlermeldungen
title Windows
root (hd1,0)
map (hd0) (hd1)
map (hd1) (hd0)
makeactive
savedefault
boot
Möglicherweise wisst ihr wo sich der kleine Fehler versteckt ;)
HDD 1 Debian (master ide 1)
HDD 2 Windows (slave ide 1)
root (hd1,0) wäre richtig wenn du Windows wirklich von der zweiten Festplatte booten könntest. Ich nehme an das durch das Mapping der Eintrag root (hd0,0) für die erste primäre Partition von der zweiten Festplatte lauten müßte. Außerdem fehlt noch chainloader +1, mit dem der erste Sektor (Bootsektor) geladen wird. map brauchst du nur bei Windows , sonst nicht, weil sich Windows nur von der ersten Festplatte booten läßt.
Die Option savedefault ist sinnvoll, wenn du die Option "default" mit saved initialisierst.
title Windows
#erste primäre Partition von der ersten "virtuellen" Windowsfestplatte
root (hd0,0)
map (hd0) (hd1)
map (hd1) (hd0)
makeactive
chainloader +1
PS: grub kann ein anderes Betriebsystem, außer Linux nicht selbst direkt starten, sondern muß im Prinzip den Bootsektor der jeweiligen Partition starten, in dem sich wiederum ein kleines Bootprogramm befindet, das dann seinerseits das eigentliche Betriebsystem lädt oder startet. Das wird mit dem Eintrag "chainloader +1" erreicht. Dadurch kann dann grub jedes andere Betriebsystem wie DOS, Windows, Solaris, Unixware u.s.w starten , aber eben indirekt.
Danke KarstenW wieder für die schnelle Antwort hier
Also der richtige Eintrag für die /boot/grub/menu.lst muss lauten
title Windows irgendwas ;)
root (hd1,0)
map (hd0) (hd1)
map (hd1) (hd0)
makeactive
chainloader +1
boot
So startet Windows via GRUB von der zweiten Festplatte am ersten IDE Strang.
Ging ja echt fix,
Danke nochmal