/boot/grub/menu.lst durch Installation einer 2. Dist obsolet

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
ProgrammerUser
Beiträge: 46
Registriert: 11.02.2008 20:56:18
Wohnort: NRW

/boot/grub/menu.lst durch Installation einer 2. Dist obsolet

Beitrag von ProgrammerUser » 24.02.2008 01:47:57

Hallo NG,
ich habe auf einer 2. Festplatte eine weitere Distribution installiert.

Die hat die bereits vorhandene Distribution sehr gut erkannt und auch in das Boot-Menü von GRUB eingetragen - allerdings wird dadurch die Datei /boot/grub/menu.lst der originären Distribution unbrauchbar bzw. unnütz - auch wenn diese Distributiion geladen wird.

Konfigurieren lässt sich GRUB nur über die Datei /boot/grub/menu.lst der zuletzt installierten Distibution.

Eigentlich müsste das Verzeichnis /boot anders eingehängt werden und zwar von der startenden Partition und nicht von der Partition, auf der seine Distribution läuft.

Kann man die Datei /boot/grub/menu.lst auf beiden Distributionen referenzieren?

P.S: 1. Distribution = debian; 2. Distribution=ubuntu - (jeweils aktuelle Version; Stand: 23.2.2008)
(linux makes fun the more you get to know it)

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

Re: /boot/grub/menu.lst durch Installation einer 2. Dist obs

Beitrag von Lohengrin » 24.02.2008 03:31:48

Du brauchst für jede Distribution einen eigenen Bootloader, sonst gibt es bei Kernel-Upgrades Probleme. Der eine kommt sofort vom MBR der vom Bios bevorzugten Platte. Der andere wird per Chainloader angesprungen.
Wenn nun die erste Platte (zB hda) sofort kommen soll, dann mach im zweiten System (zB hdb)

Code: Alles auswählen

grub-install /dev/hdb
und im ersten System

Code: Alles auswählen

grub-install /dev/hda
und schreib sowas wie

Code: Alles auswählen

root (hd1)
chainloader +1
in die menu.lst der ersten Distribution.
ProgrammerUser hat geschrieben:P.S: 1. Distribution = debian; 2. Distribution=ubuntu - (jeweils aktuelle Version; Stand: 23.2.2008)
Bei deiner Ubuntu-Installation war die hier interessante Einstellung unter Einstellungen für Experten oder sowas.

Benutzeravatar
ProgrammerUser
Beiträge: 46
Registriert: 11.02.2008 20:56:18
Wohnort: NRW

Beitrag von ProgrammerUser » 24.02.2008 05:40:23

Was wäre denn mit einer StartPartition, die sich beide/alle Distibutionen teilen?!
Bei KernelUpdates würden die Einträge in der /boot/grub/menu.lst dann um die jeweilige Nachfolge-Version ergänzt.
/boot/grub müsste dann auf die Partition gemountet werden.
(linux makes fun the more you get to know it)

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

Beitrag von Lohengrin » 24.02.2008 13:35:06

ProgrammerUser hat geschrieben:Was wäre denn mit einer StartPartition, die sich beide/alle Distibutionen teilen?!
Bei KernelUpdates würden die Einträge in der /boot/grub/menu.lst dann um die jeweilige Nachfolge-Version ergänzt.
/boot/grub müsste dann auf die Partition gemountet werden.
Prinzipiell geht das. Aber wenn die beiden Distributionen verschiedene Versionen von Grub benutzen (Ubuntu macht Upgrade, Debian weiß nichts davon), kann das wieder Probleme beim Upgrade geben. Solange beide Distributionen debianartig sind und die Kernel verschieden heißen könnten die Upgrades sogar funktionieren.
Du kannst auch drei Startpartitionen verwenden. Die erste hat nur einen Grub drin, der die beiden anderen chainloadert. Das hat den Vorteil, dass beide sauber getrennt sind.

Benutzeravatar
holgerw
Beiträge: 1489
Registriert: 13.03.2003 16:19:00
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Marburg

Re: /boot/grub/menu.lst durch Installation einer 2. Dist obs

Beitrag von holgerw » 24.02.2008 15:32:18

Lohengrin hat geschrieben:Du brauchst für jede Distribution einen eigenen Bootloader, sonst gibt es bei Kernel-Upgrades Probleme. Der eine kommt sofort vom MBR der vom Bios bevorzugten Platte. Der andere wird per Chainloader angesprungen.
Wenn nun die erste Platte (zB hda) sofort kommen soll, dann mach im zweiten System (zB hdb)

Code: Alles auswählen

grub-install /dev/hdb
und im ersten System

Code: Alles auswählen

grub-install /dev/hda
und schreib sowas wie

Code: Alles auswählen

root (hd1)
chainloader +1
in die menu.lst der ersten Distribution.
ProgrammerUser hat geschrieben:P.S: 1. Distribution = debian; 2. Distribution=ubuntu - (jeweils aktuelle Version; Stand: 23.2.2008)
Bei deiner Ubuntu-Installation war die hier interessante Einstellung unter Einstellungen für Experten oder sowas.
Hi,

muss der Grub des Zweitsystems, das vom chainloder +1 aus der menu.lst des Primärsystems angestoßen wird, nicht in die Root Partition installiert werden? Also dann

Code: Alles auswählen

grub-install /dev/hdb1
Natürlich unter der Voraussetzung, dass das Zweitsystem auf einer zweiten Festplatte in der ersten primären Partition installiert worden ist.

Und muss dann nicht in der menu.lst des Primärsystems der Eintrag für das Zweitsystem wie folgt lauten:

Code: Alles auswählen

root (hd1,0) 
chainloader +1
Beste Grüße,
Holger

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: /boot/grub/menu.lst durch Installation einer 2. Dist obs

Beitrag von cirrussc » 24.02.2008 16:00:29

Moin,
holgerw hat geschrieben:muss der Grub des Zweitsystems, das vom chainloder +1 aus der menu.lst des Primärsystems angestoßen wird, nicht in die Root Partition installiert werden?
Muss nicht, ich denke beide Varianten sind möglich.
Nur muss das BIOS bei der ersten Variante die Möglichkeit besitzen von einer bestimmten HDD zu booten, sind ja zwei Bootloader da.
holgerw hat geschrieben:Und muss dann nicht in der menu.lst des Primärsystems ...
Zwangsläufig ja.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

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

Re: /boot/grub/menu.lst durch Installation einer 2. Dist obs

Beitrag von Lohengrin » 24.02.2008 18:29:37

holgerw, beides ist möglich.
Grub läuft in drei Stufen. Stage1 ist 512 Bytes lang und kan in einen MBR oder an den Anfang von einer Partition geschrieben werden. Hinter Stage1 ist Stage1_5, der dann sagt wie das Dateisystem gelesen werden muss wo Stage2 liegt. Stage2 ist der eigentliche Bootloader, der den Befehl chainloader kennt. Dieser Chainloader muss dann wieder auf einen Stage1 verweisen, egal ob in MBR oder Partition.

Benutzeravatar
holgerw
Beiträge: 1489
Registriert: 13.03.2003 16:19:00
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Marburg

Beitrag von holgerw » 25.02.2008 00:33:12

Hi,

danke für die Informationen.

Beste Grüße,
Holger

Antworten