Jedes Mal, wenn der Computer automatisch gestartet wird, wird eine andere Linux-Distribution geladen.

15

Ich habe zwei Linux-Distributionen (OpenSuSE, Ubuntu) auf zwei verschiedenen Partitionen installiert. Jedes Mal, wenn ich meine Maschine starte, wird GRUB geladen und ich kann eine der beiden Distributionen auswählen.

Ich möchte nicht, dass GRUB angezeigt wird, daher beschränke ich das Timeout in /boot/grub/menu.lst auf Null. Dadurch wird mein Computer höchstwahrscheinlich jedes Mal OpenSuSE laden, wenn ich meinen PC starte, da dies die erste Option im Menü ist .lst.

Ist es möglich, dass Ubuntu beim zweiten Neustart meines PCs automatisch geladen wird? Beim dritten Neustart wird OpenSuSE möglicherweise gebootet, während beim vierten Neustart Ubuntu geladen wird und so weiter.

Mit anderen Worten, wie kann ich dafür sorgen, dass mein Computer das nächste Betriebssystem in menu.lst startet, wenn er das nächste Mal neu gestartet wird?

choc
quelle
1
Würde es Ihnen etwas ausmachen, ein paar Details hinzuzufügen: Verwenden Sie Karmic (das Grub2 verwendet)? Teilen Sie auch eine / boot-Partition zwischen beiden Distributionen? Oder ist die Boot-Partition einer Distribution mit beiden Distributionskernen / initrd usw. verbunden?
Es ist überhaupt nicht komisch! Ich habe dies mit einer dedizierten Linux-Partition gemacht, die Windows mithilfe von Partimage wiederherstellte. Bei jedem weiteren Systemstart wird eine Wiederherstellung unter Linux durchgeführt, und anschließend wird Windows sofort neu gestartet. (Aber ich habe LiLo dann mit dem -R-Schalter IIRC benutzt.)

Antworten:

11

Fügen Sie etwas in die Startskripte ein, um es neu zu schreiben menu.lst.

menu.lstLassen Sie Ubuntu eine Version schreiben, die OpenSuSE lädt, und lassen Sie OpenSuSE eine Version schreiben, die Ubuntu lädt.

Eine relativ sichere Art und Weise , dies zu tun wäre 3 - Dateien haben, menu.lst, menu.lst.ubuntuund menu.lst.SuSEund hat die Skripte zu tun:

cp menu.lst.ubuntu menu.lst

auf SuSE und:

cp menu.lst.SuSE menu.lst

auf Ubuntu.

rjmunro
quelle
9

Die Funktionalität, nach der ich gesucht habe, wurde mit der Option "Savedefault" von GRUB erreicht. Früher habe ich den Wert für das andere Betriebssystem am Ende der Eingabe jedes Betriebssystems in menu.lst festgelegt.

Vielen Dank an alle, die versucht haben zu helfen. :)

choc
quelle
1
1 war etwa savedefault vorschlagen, aber sie schlugen mich , um es;)
chris
3

Lilo kann das.

Sie können jedoch in jedem Betriebssystem ein einfaches Skript in Betracht ziehen, das das andere Betriebssystem als Standard-Grub festlegt . Das folgende Skript ändert beispielsweise eine default 1Einstellung in default 0:

echo -e "g/default 1/d\ni\ndefault 0\n.\nw" | ed /boot/grub/menu.lst

(ed ist Vi sehr ähnlich. Führen Sie nur den ersten Befehl aus, um zu sehen, was er tut.)

Auf dem anderen Betriebssystem können Sie das Gegenstück ausführen:

echo -e "g/default 0/d\ni\ndefault 1\n.\nw" | ed /boot/grub/menu.lst

quelle
Danke, jhs. Ich denke, es wird für mich klappen. Aber ich werde zu LILO kommen, wenn ich die Funktionalität mit GRUB nicht erreiche.
2

Was ist Ihr Grund / Ziel, dies zu tun?

Haben Sie darüber nachgedacht, nur zwei verschiedene virtuelle Maschinen auszuführen ? Wenn VMs in Betracht gezogen werden können, gibt es verschiedene Möglichkeiten, dies vom Host-Computer aus zu erreichen, ohne die Gäste zu manipulieren.

Sybreon
quelle