Jak mogę wybrać, które jądro GRUB2 ma ładować się domyślnie? Niedawno zainstalowałem jądro Linuksa w czasie rzeczywistym, a teraz domyślnie się ładuje. Domyślnie chciałbym załadować zwykły.
Do tej pory udało mi się tylko wybrać domyślny system operacyjny. Z jakiegoś powodu /boot/grub.cfg
już zakładam, że chcę załadować jądro rt i umieścić je w ogólnej pozycji menu Linux (w moim przypadku Arch Linux).
grub.cfg
odpowiadają tylko systemom operacyjnym, a nie jądrom.Odpowiedzi:
Myślę, że większość dystrybucji przeniosła dodatkowe jądra do podmenu opcji zaawansowanych w tym momencie, jak stwierdził TomTom w przypadku jego Arch.
Nie chciałem zmieniać struktury menu najwyższego poziomu, aby wybrać poprzednie jądro jako domyślne. Znalazłem odpowiedź tutaj:
http://www.humans-enabled.com/2014/08/how-to-set-default-grub-kernel-boot.html
Podsumowując:
1) Znajdź
$menuentry_id
opcję _ dla podmenu:2) Znajdź pozycję
$menuentry_id_option
menu dla jądra, którego chcesz użyć:3) Skomentuj swoje obecne domyślne grub
/etc/default/grub
i zastąp je podmenu$menuentry_id_option
z kroku pierwszego, a wybrane jądro$menuentry_id_option
z kroku drugiego oddzielone>
.W moim przypadku zmodyfikowany
GRUB_DEFAULT
jest:4) Zaktualizuj grub, aby wprowadzić zmiany. W przypadku Debiana odbywa się to w następujący sposób:
Gotowy. Teraz podczas uruchamiania zaawansowane menu powinno mieć gwiazdkę i należy uruchomić się w wybranym jądrze. Możesz to potwierdzić za pomocą uname.
Zmiana tego na najnowsze jądro jest tak prosta, jak skomentowanie nowej linii i odkomentowanie
#GRUB_DEFAULT=0
, a następnie ponowne uruchomienieupdate-grub
.źródło
Po 2 godzinach zmagań znalazłem łatwiejszy sposób na osiągnięcie tego. Po prostu RTFM. ;)
Dodaj dwie linie do / etc / default / grub
Wykonaj
sudo update-grub
, uruchom ponownie, wejdź do menu grub i wybierz dowolne potrzebne menu lub podmenu. Wybór zostanie zapisany i następnym razem komputer uruchomi się automatycznie.źródło
Jak wspomniano w komentarzach, możesz ustawić domyślne jądro, aby uruchamiało się za pomocą
grub-set-default X
polecenia, gdzie X jest numerem jądra, z którego chcesz się uruchomić. W niektórych dystrybucjach możesz również ustawić ten numer, edytując/etc/default/grub
plik i ustawienieGRUB_DEFAULT=X
, a następnie uruchamiającupdate-grub
.Liczba jest indeksem tablicy ustawień jądra / jądra wyświetlanych w menu GRUB podczas rozruchu, przy czym 0 jest pierwszym (najwyższym) wpisem. Zwykle możesz znaleźć odpowiednią liczbę, szukając
menuentry
linii w następujący/boot/grub/grub.cfg
sposób:Zobaczysz każde jądro na liście o nazwie wyświetlanej w menu rozruchowym GRUB-a. Pierwszy to 0, drugi to 1 i tak dalej.
źródło
/boot/grub2/grub.cfg
.grub-set-default 9
a następniegrub-update
uruchomiłem ponownie. Zezwalam grubowi na rozruch z domyślnym jądrem i nadal uruchamia się z wersją 4.4.0-64-generic . Próbowałem także edytować,/etc/default/grub
ustawićGRUB_DEFAULT=9
i uruchomićgrub-update
. Po ponownym uruchomieniu nic się nie zmienia, system nadal uruchamia się z wersją 4.4.0-64-generic . Może coś mi umknęło, czy ktoś może mi pomóc?Po prostu robi
grep 'menuentry' /boot/grub/grub.cfg
listę dodatkowych wpisów, które nie są związane z faktyczną wersją jądra lub systemu operacyjnego. Na przykład zawiera listęChciałbym zaproponować niewielkie ulepszenie metody wyszukiwania tego pliku: użyj
awk
Dzięki poniższemu poleceniu i jego wynikowi możesz zobaczyć
awk
kod odpowiadający rzeczywistej wersji systemu operacyjnego i podać liczbę, której możesz użyć w/etc/default/grub
pliku.Oprócz
/etc/default/grub
ręcznej edycji pliku, sugeruję użyciesed
. W poniższym poleceniu zastąp X odpowiednią liczbą otrzymaną z powyższego polecenia awk:sudo sed -i 's/GRUB_DEFAULT=0/GRUB_DEFAULT=X/g' /etc/default/grub; sudo update-grub
źródło
Wydaje mi się, że jkt123 będzie działać dla większości dystrybucji. Jednak dla Arch Linux nie działało, przynajmniej nie z pakietami, które mam dostępne.
Wskaźniki, które można ustawić,
grub-set-default
odpowiadają tylko pozycjom menu głównego. Opcje jądra znajdują się jednak w podmenu. Więc albo przenieś wpis jądra z podmenu do menu głównego, albo umieścisz go na liście podmenu i wybierzesz podmenu.Moje menu Grub
Aby móc uruchomić Kernel 2, musisz go zamienić na Kernel 1 lub umieścić go poza podmenu na tym samym poziomie, co Arch Linux lub Windows. A następnie ustaw domyślną liczbę na jeden z indeksów menu głównego. Na przykład w menu powyżej „0” uruchamia „Arch Linux” i „1” uruchamia jądro 1.
Aby zmienić hierarchię i zamianę, otwórz
/boot/grub/grub.cfg
i przenieś pozycję, którą chcesz przenieść. Wpis może wyglądać takNastępnie musisz zastosować zmiany. W moim przypadku z
grub-mkconfig
. Ale może się to różnić w zależności od systemu.źródło
Tak niedawno, jak wyglądał grub.conf CentOS-6.6, można go ręcznie edytować, aby zmienić domyślny wybór:
źródło
Debian Stretch:
Zamiast bawić się plikami konfiguracyjnymi, utwórz folder w
/noot
(nazwij go tak, jak chcesz), pozostaw jądro, które chcesz, wraz z pasującymi plikami konfiguracyjnymi i systemowymi,/boot
i przenieś resztę do tego nowego folderu.Uruchom
update-grub
.Dokładnie sprawdź
/boot
folder, w którym znajduje się wersja jądra oraz odpowiednie pliki konfiguracyjne i systemowe (na wypadek, gdybyś skopiował coś, czego nie powinieneś mieć) i zrestartuj komputer.źródło