Ładowanie innej dystrybucji systemu Linux przy każdym uruchomieniu komputera automatycznie?


15

Mam dwie dystrybucje Linuksa (OpenSuSE, Ubuntu) zainstalowane na dwóch różnych partycjach. Za każdym razem, gdy uruchamiam moją maszynę, GRUB ładuje się, pozwalając mi wybrać jedną z dwóch dystrybucji.

Nie chcę, aby GRUB się pojawiał, więc ograniczam limit czasu do zera w /boot/grub/menu.lst, co najprawdopodobniej sprawi, że mój komputer załaduje OpenSuSE przy każdym uruchomieniu komputera, ponieważ jest to pierwsza opcja w menu .lst.

Czy to możliwe, że przy drugim uruchomieniu komputera Ubuntu zostanie automatycznie załadowany? Po trzecim uruchomieniu ponownie OpenSuSE może zostać uruchomiony podczas czwartego uruchomienia, Ubuntu może się załadować i tak dalej?

Innymi słowy, jak mogę zmusić maszynę do uruchomienia następnego systemu operacyjnego w menu. Po raz kolejny przy ponownym uruchomieniu?


1
Czy mógłbyś dodać jakieś szczegóły: Czy używasz Karmic (który używa Grub2)? Czy dzielisz partycję / boot między obydwie dystrybucje? Czy może partycja rozruchowa jednej dystrybucji łączy się z jądrem / initrd obu dystrybucji?

To wcale nie jest dziwne! Robiłem to z dedykowaną partycją Linuxa, która przywracałaby system Windows za pomocą Partimage. Co drugi rozruch przechodzi do Linuksa w celu przywrócenia, a następnie natychmiastowego ponownego uruchomienia systemu Windows. (Ale użyłem LiLo wtedy z przełącznikiem -R IIRC.)

Odpowiedzi:


11

Umieść coś w skryptach startowych, aby przepisać menu.lst.

menu.lstNiech Ubuntu napisze wersję, która ładuje OpenSuSE, a OpenSuSE napisze wersję, która ładuje Ubuntu.

Stosunkowo bezpieczny sposób to zrobić byłoby mieć 3 pliki menu.lst, menu.lst.ubuntua menu.lst.SuSEi mieć skrypty zrobić:

cp menu.lst.ubuntu menu.lst

na SuSE i:

cp menu.lst.SuSE menu.lst

na Ubuntu.


9

Funkcjonalność, której szukałem, osiągnąłem, korzystając z opcji „saveefault” programu GRUB. Kiedyś ustawiałem jego wartość w innym systemie operacyjnym na końcu wprowadzania każdego systemu operacyjnego w menu.lst.

Bardzo dziękuję wszystkim, którzy próbowali pomóc. :)


1
+1 Już miałem zasugerować zapisanie błędu, ale mnie do tego pobiłeś;)
Chris

3

Lilo może to zrobić.

Ale możesz rozważyć prosty skrypt w każdym systemie operacyjnym, który ustawia drugi system jako domyślny grub. Na przykład poniższy skrypt zmodyfikuje default 1ustawienie do default 0:

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

(ed jest podobny do Vi. Uruchom tylko pierwsze polecenie, aby zobaczyć, co robi).

W drugim systemie operacyjnym możesz uruchomić odpowiednik:

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

Dzięki jhs. Myślę, że mi się to uda. Ale przejdę do LILO, jeśli nie uda mi się uzyskać funkcjonalności GRUB.

2

Jaki jest twój powód / cel, aby to zrobić?

Czy zastanawiałeś się nad uruchomieniem dwóch różnych maszyn wirtualnych ? Jeśli można wziąć pod uwagę maszyny wirtualne, istnieje wiele różnych sposobów osiągnięcia tego z poziomu samej maszyny hosta, bez ingerowania w gości.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.