Grub nicht im MBR

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
progger1986
Beiträge: 9
Registriert: 27.08.2004 13:14:54
Kontaktdaten:

Grub nicht im MBR

Beitrag von progger1986 » 27.08.2004 13:19:20

Ich benutze zur zeit SuSE Lin mit GRUB, der nicht im MBR installiert ist. Nun möchte ich auf Debian 3.0 umsteigen und den GRUB benutzen, Gibt es eine Möglichkeit GRUB zu installieren, ohne den MBR zu ändern?
Tek ma t, Tau'ri

Benutzeravatar
b a r t
Beiträge: 145
Registriert: 16.08.2004 20:19:15
Wohnort: springfield

Beitrag von b a r t » 27.08.2004 14:46:01

ja
du kannst grub auf die erste partation schreiben, es muss aber die erste partition sein, sonst klappt es nicht, wenn du deine platten aufteilung postest, kann man dir mehr infos geben.

was passiert mit dem SUSE? wie ist deine partioniertung?

gruss
b a r t

progger1986
Beiträge: 9
Registriert: 27.08.2004 13:14:54
Kontaktdaten:

Beitrag von progger1986 » 27.08.2004 15:27:46

Meine Platten sieht so aus:

hda:
1: 26,00GB NTFS (WinXP)
2:: 10,00GB ReiseFs (SuSe Linux 9.0)
3: 01,00GB Linux-Swap
4: 01,16GB FAT32 (Daten, die von Lin nach Win sollen)
hdb:
1: 812MB FAT16 (Win95)

hdb möchte ich gerne unveränder lassen, genauso die partitionierung von hda.
Nun soll au hda2 Debian mit Ext3 FS und hda3 soll weiterhin als Swap Dienen. Der GRUB liegt auf hda2/boot/grub/ (Genauso möchte ich das später mit Debian auch haben)
Tek ma t, Tau'ri

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Beitrag von Lohengrin » 29.08.2004 01:22:44

progger1986 hat geschrieben:hda:
1: 26,00GB NTFS (WinXP)
2:: 10,00GB ReiseFs (SuSe Linux 9.0)
3: 01,00GB Linux-Swap
4: 01,16GB FAT32 (Daten, die von Lin nach Win sollen)
hdb:
1: 812MB FAT16 (Win95)

Der GRUB liegt auf hda2/boot/grub/
Da liegt vermutlich die Datei menu.lst , sowie die Dateien stage1 und stage2, die beim Einrichten des Bootloaders gebraucht werden. Wo der Bootloader sitzt steht vermutlich in /etc/grub.conf , denn mit dieser Datei richtet man den Bootloader gewöhnlich ein.
Im MBR sitzt ein Programm, was sagt, mit welcher primären Partition es weitergeht. Hier also mit der zweiten. In der zweiten Partition ist dann der stage1 von grub.
Wenn das Installationsprogramm von debian diese Einrichtung des stage1 in hda2 nicht zulässt, musst du das von Hand installieren. Dazu musst du allerdings eine passende grub.conf haben. Präziser, du musst wissen, wo Platz für stage2 ist. Dann kannst du die grub.conf (die ist nur 130 Byte lang) schreiben und grub mit 'grub --batch </irgendwo/grub.conf' einrichten.

Was spricht eigentlich dagegen, den stage1 in den MBR zu setzen? Wenn du ihn da wieder weghaben willst, tu eine dos-Bootdiskette rein und schreibe 'fixmbr'. Das schreibt da wieder den Microsoft-Standard rein, der nur besagt, wo die vier Partitionen sitzen, und mit welcher es weitergeht.

Ich würde die Plattenaufteilung anders machen.
Wenn der stage1 nicht in den MBR soll, dann muss er eben in eine primäre Partition. Richte also eine kleine (50MB) primäre Partition ein. Den Rest mach zu einer erweiterten Partition. Darein kommt eine logische Partition für swap (500MB reicht), eine für Suse (5GB), eine für Debian (5GB) und der Rest mit FAT32.
Dann würde ich zuerst Suse einrichten, und die 50MB zur Boot-Partition machen, sowie den stage1 des Bootloaders darein tun. Danach Debian einrichten ohne Bootloader. Dann muss der Bootloader unter Suse abgeändert werden, präziser es kommt ein passender Eintrag (analog dem für Suse, nur Überschrift und Partition ändern) in /boot/grub/menu.lst .

Mehr Info im grünen Suse-Buch S. 75-88.

progger1986
Beiträge: 9
Registriert: 27.08.2004 13:14:54
Kontaktdaten:

Beitrag von progger1986 » 29.08.2004 21:39:53

Wenn das so ist, mache ich das am besten so, wie es empfolen wird: GRUB kommt in dem MBR und fertig aus. :lol:
Tek ma t, Tau'ri

Benutzeravatar
b a r t
Beiträge: 145
Registriert: 16.08.2004 20:19:15
Wohnort: springfield

Beitrag von b a r t » 30.08.2004 08:50:29

Hallo Lohengrin

Ich weiss nicht von wo du das hast, doch ich verstehe das nicht ganz, es ist viel einfacher.
Schreib im MBR das du das Grub file in der hda2 hast, im Grub file gibst du dann alle Partitionen an von denen du booten willst.

gruss
b a r t

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Beitrag von Lohengrin » 30.08.2004 10:05:34

b a r t hat geschrieben:Ich weiss nicht von wo du das hast, doch ich verstehe das nicht ganz, es ist viel einfacher.
Schreib im MBR das du das Grub file in der hda2 hast, im Grub file gibst du dann alle Partitionen an von denen du booten willst.
Welches Grub file? menu.lst oder stage2 ? hda2 ist groß. Wo genau?
Ich habe das bisher so verstanden:
Um menu.lst zu interpretieren, müssen alle Formate bekannt sein. Das passt nicht in den MBR. Daher verweist stage1 auf stage2 (per Kopf, Spur und Sektor). stage2 ist bei mir 102KB lang. Mit stage2 wird menu.lst interpretiert.
Was ich nicht verstanden habe ist, warum bei Suse9.0 in der grub.conf, die dem Befehl 'grub' übergeben wird, steht, dass stage2 nach 0x8000 soll. Ist das eine RAM-Adresse, in die das von der Platte geladen wird? Falls dies, warum wird das nicht dem BIOS überlassen? Oder ist das eine Adresse auf der Platte, wo der stage2 hingespeichert wird, weil er im reiserfs eventuell zerstückelt liegt und mit dem BIOS und dem stage1 von dort nicht gelesen werden kann? Falls dies, warum ist da gerade Platz?

Benutzeravatar
b a r t
Beiträge: 145
Registriert: 16.08.2004 20:19:15
Wohnort: springfield

Beitrag von b a r t » 31.08.2004 09:04:17

was ist das stage1 und stage2?
kannst du mir das kurz erklähren?

b a r t

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Beitrag von Lohengrin » 31.08.2004 10:29:21

b a r t hat geschrieben:was ist das stage1 und stage2?
Im Verzeichis /boot/grub sind die Dateien stage1 stage2 und menu.lst .
stage1 ist 512 byte lang, passt also genau in den MBR. Beim Einrichten von grub wird stage1 in einen (Diskette, CD, Festplatte) MBR geschrieben.
stage2 ist der eigentliche Bootloader. Der ist bei mir 102kB. Da steht unter anderem drin, wie reiserfs zu lesen ist. Dieser stage2 kann nun menu.lst lesen und danach auch das Kernelimage, das wo in menu.lst steht, z.B. (hd0,5)/boot/vmlinuz .

Nun habe ich noch eine Frage:
Ist das, was bei mir unter /boot/grub/stage2 im reiserfs gespeichert ist bereits der stage2, der vom stage1 gelesen werden kann? stage1 kann doch nicht reiserfs lesen. Ist /boot/grub/stage2 für das BIOS lesbar, wenn es den Anfang kennt?

Antworten