Jak ustawić limit czasu GRUB-a i domyślny wpis uruchamiania GRUB-a?
191
W systemie Ubuntu 12.04 (lub nowszym), jak ustawić czas GRUB-a i domyślny system operacyjny (który widzę podczas uruchamiania) podczas podwójnego uruchamiania systemu Windows (7/8) i Ubuntu (12.04 lub nowszy)?
Czy możesz podać więcej informacji. Co masz na myśli przez „czas gruba” i jaki jest twój domyślny system operacyjny. Jakie są różne linie w twoim menu grub?
Julien Chau,
1
grub czas oznacza czas odliczania, kiedy muszę wybrać system operacyjny na ekranie startowym BIOS. Przepraszam, ale nie wiem dokładnie, jak nazywa się to menu wyboru systemu operacyjnego, więc opublikowałem go jako czas grub.
Dzięki, @Raja, ale grub / grub2 była główną różnicą. Gdybyś miał poprawny grub2, chętnie zredagowałbym twoją odpowiedź, zamiast tworzyć inną :)
ish
dziękuję, twoja odpowiedź zadziałała, ale czy możesz wyjaśnić mi drugi i trzeci punkt (ukryty limit czasu i grub ukryte linie), do czego są przeznaczone.
meteory
2
Nie polecaj nikomu zmiany domyślnej opcji grub poprzez ustawienie dowolnego indeksu. To jest wyjątkowo nieintuicyjne i może doprowadzić do katastrofy. Użytkownik może wprowadzić niewłaściwy lub może ulec zmianie podczas aktualizacji, powodując nieoczekiwane zachowanie.
Cerin,
2
To wymaga aktualizacji związanej z podwójnym poziomem obecnego menu grub.
Hannu,
1
@Cerin, jaka jest twoja sugestia?
Blauhirn
30
Jeśli przeczytasz plik, który edytujesz w powyższym przykładzie (/ etc / default / grub), zauważysz, że pierwsze kilka linii nakazuje Ci uruchomienie update-grubpo wprowadzeniu zmian w celu zaktualizowania rzeczywistego pliku, który grub czyta do „ pobierz jego instrukcje "(/boot/grub/grub.cfg). Zauważ, że musisz go najpierw uruchomić za pomocą sudokomendy, ponieważ potrzebujesz uprawnień roota, aby faktycznie uruchomić komendę (dlatego napisano powyżej, że należy pisać sudo update-grub). Spowoduje to, że wprowadzone zmiany zostaną zapisane w /boot/grub/grub.cfg. Następne kilka linii mówi, że możesz przeczytać pełną dokumentację opcji w tym pliku (ponownie / etc / default / grub), wpisując info -f grub -n 'Simple configuration'.
To powiedziawszy, ustaw GRUB_TIMEOUT na -1, jeśli chcesz ustawić „czas grubowania” na nieokreślony. Innymi słowy, nigdy się nie uruchomi automatycznie. Będziesz musiał dokonać wyboru.
Na koniec, aby odpowiedzieć na twoje pytanie, oto opisy tych „grub ukrytych linii” prosto z wyżej wspomnianej dokumentacji:
GRUB_HIDDEN_TIMEOUT
Wait this many seconds for a key to be pressed before displaying
the menu. If no key is pressed during that time, boot
immediately. Unset by default.
GRUB_HIDDEN_TIMEOUT_QUIET
In conjunction with `GRUB_HIDDEN_TIMEOUT', set this to `true' to
suppress the verbose countdown while waiting for a key to be
pressed before displaying the menu. Unset by default.
To wymaga aktualizacji związanej z podwójnym poziomem obecnego menu grub.
Hannu,
5
Postępowałem zgodnie z pierwszą odpowiedzią, ale wydaje się, że wymaga aktualizacji, jeśli uruchamiasz podwójnie z Windows 7 Pro i Ubuntu 16.04. Upewnij się również, że bezpieczny rozruch jest wyłączony w systemie BIOS.
a) Najpierw mówi use Alt+, F2kiedy myślę, że chce użyć do otwarcia okna terminala. W moim przypadku jest to Ctrl+ Alt+ T.
b) W pierwszym wejściu polecenie nie jest instalowany domyślnie w Ubuntu 16.04 . Aby obejść ten problem, wykonaj następujące czynności w Terminalu:gksudo gedit /etc/default/grubgksudo
sudo -ii naciśnij Enteri podaj hasło, a następnie Enterponownie.
następnie wpisz:
gedit /etc/default/grubi naciśnij Enter.
c) Zobaczysz teraz menu zmiany grub, jak pokazano w odpowiedzi 1. Postępuj zgodnie z jego odpowiedzią, aż dojdzie do Ctrl+, Saby zapisać zmiany. To nie działa w Ubuntu 16.04, ale powinieneś zobaczyć przycisk Zapisz w prawym górnym rogu ekranu. Kliknij na to.
d) Ctrl+, Qaby wyjść.
e) Następny typ sudo update-grubiEnter
f) Rodzaj exit. Musisz to zrobić dwa razy.
g) Uruchom ponownie
Zauważyłem, że na moim komputerze po kilku logowaniach proces uruchamiania nie wyświetlał ekranu grub podczas uruchamiania i dlatego nie mogłem dostać się do Ubuntu, ponieważ ustawiłem Windows jako domyślny rozruch z 7-sekundowym opóźnieniem na wypadek, gdyby chciał uzyskać w Ubuntu.
Aby rozwiązać ten problem, musisz przejść do systemu Windows.
Kliknij menu Start i wpisz CMDw polu wyszukiwania.
Kliknij prawym przyciskiem myszy linię CMD, która powinna znajdować się w górnej części ekranu po kliknięciu prawym przyciskiem myszy.
Czy możesz podać link do „zilustrowane w odpowiedzi 1” - nie mogłem znaleźć tego, co miałeś na myśli.
Tom Hale
Również „poszedłem za pierwszą odpowiedzią”. Możesz na przykład sformatować „Kredyt do:”. Świetny pierwszy post. Witamy w AskUbuntu.
Tom Hale
Podczas uruchamiania aplikacji graficznych, takich jak gedit as sudo, miałem dziwne załamanie X-Window. Sugeruję użycie zamiast tego edytora tekstowego, takiego jak nano.
Arthur Tacca
2
Alt+F2jest skrótem jedności do uruchomienia polecenia w tle. W menu, które zostanie otwarte, możesz wprowadzić dowolne polecenie, tak jak w terminalu. Ale ponieważ nie otwiera terminala, nie zobaczysz żadnych danych wyjściowych terminala i nie będziesz mógł wchodzić w interakcje z terminalem. Dlatego zwykle używasz go do takich rzeczy, jak uruchamianie programu GUI, takiego jak gedit. Nie możesz także używać sudo, ponieważ potrzebujesz do tego terminala. Dlatego używają gksudo(GUI sudo). Jeśli wykonujesz polecenia w terminalu, możesz po prostu użyć zwykłego w sudoten sposób: sudo gedit /etc/default/grubnie ma takiej potrzeby sudo -i.
Sebastian,
@Sebastian Do uruchomienia aplikacji graficznej sudo -Hlepiej jest np sudo -H gedit /etc/default/grub.
wjandrea
2
Używanie domyślnego wpisu opartego na liczbie zaskoczyło mnie od czasu jego wprowadzenia w GRUB. To naprawdę zły pomysł. Co powiesz na aktualizację jądra i automatyczną ponowną konfigurację grub? Co powiesz na nieświadomych użytkowników, którzy wolą wpis na końcu listy? Aktualizacje spowodowałyby uszkodzenie domyślnej konfiguracji opartej na liczbach.
Zamiast tego użyj tutaj opcji ZAPISANE, aby zapamiętać ostatnio wybrany wpis:
###segment in /boot/grub/grub.cfg:
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
#set timeout=10 # comment this original
set timeout=0 # add this
fi
sudo chmod -w /boot/grub/grub.cfg
reboot
Odpowiedzi:
gksudo gedit /etc/default/grub
naciśnij Enteri wprowadź hasło.Zobaczysz następującą zawartość:
Możesz zmienić wartość domyślną z 0 na dowolną liczbę, odpowiadającą wpisowi w menu uruchamiania Grub (pierwszy wpis to 0, drugi to 1 itd.)
GRUB_HIDDEN_TIMEOUT_QUIET=false
)GRUB_HIDDEN
linie za pomocą#
na początku liniiI ustaw limit czasu menu grub (domyślnie jest to 10 sekund)
Wprowadź zmiany, naciśnij Ctrl+, Saby zapisać i Ctrl+, Qaby wyjść
sudo update-grub
aby zastosować właśnie wprowadzone zmianyPołączone pytanie:
źródło
Jeśli przeczytasz plik, który edytujesz w powyższym przykładzie (/ etc / default / grub), zauważysz, że pierwsze kilka linii nakazuje Ci uruchomienie
update-grub
po wprowadzeniu zmian w celu zaktualizowania rzeczywistego pliku, który grub czyta do „ pobierz jego instrukcje "(/boot/grub/grub.cfg). Zauważ, że musisz go najpierw uruchomić za pomocąsudo
komendy, ponieważ potrzebujesz uprawnień roota, aby faktycznie uruchomić komendę (dlatego napisano powyżej, że należy pisaćsudo update-grub
). Spowoduje to, że wprowadzone zmiany zostaną zapisane w /boot/grub/grub.cfg. Następne kilka linii mówi, że możesz przeczytać pełną dokumentację opcji w tym pliku (ponownie / etc / default / grub), wpisującinfo -f grub -n 'Simple configuration'
.To powiedziawszy, ustaw GRUB_TIMEOUT na -1, jeśli chcesz ustawić „czas grubowania” na nieokreślony. Innymi słowy, nigdy się nie uruchomi automatycznie. Będziesz musiał dokonać wyboru.
Na koniec, aby odpowiedzieć na twoje pytanie, oto opisy tych „grub ukrytych linii” prosto z wyżej wspomnianej dokumentacji:
Mam nadzieję, że to pomoże!
źródło
Możesz użyć aplikacji o nazwie Grub Customizer . To jest o wiele łatwiejsze.
Możesz go zainstalować:
Jest na ten temat artykuł dla maniaków technicznych , w jaki sposób w prosty sposób skonfigurować menu rozruchu systemu Linux GRUB 2 . Na forach Ubuntu znajduje się również rozwiązany wątek: Zmień kolejność uruchamiania w GRUB 2, który wspomina o tym narzędziu.
Oto kilka zrzutów ekranu tego oprogramowania:
źródło
Postępowałem zgodnie z pierwszą odpowiedzią, ale wydaje się, że wymaga aktualizacji, jeśli uruchamiasz podwójnie z Windows 7 Pro i Ubuntu 16.04. Upewnij się również, że bezpieczny rozruch jest wyłączony w systemie BIOS.
a) Najpierw mówi use Alt+, F2kiedy myślę, że chce użyć do otwarcia okna terminala. W moim przypadku jest to Ctrl+ Alt+ T.
b) W pierwszym wejściu polecenie nie jest instalowany domyślnie w Ubuntu 16.04 . Aby obejść ten problem, wykonaj następujące czynności w Terminalu:
gksudo gedit /etc/default/grub
gksudo
sudo -i
i naciśnij Enteri podaj hasło, a następnie Enterponownie.następnie wpisz:
gedit /etc/default/grub
i naciśnij Enter.c) Zobaczysz teraz menu zmiany grub, jak pokazano w odpowiedzi 1. Postępuj zgodnie z jego odpowiedzią, aż dojdzie do Ctrl+, Saby zapisać zmiany. To nie działa w Ubuntu 16.04, ale powinieneś zobaczyć przycisk Zapisz w prawym górnym rogu ekranu. Kliknij na to.
d) Ctrl+, Qaby wyjść.
e) Następny typ
sudo update-grub
iEnterf) Rodzaj
exit
. Musisz to zrobić dwa razy.g) Uruchom ponownie
Zauważyłem, że na moim komputerze po kilku logowaniach proces uruchamiania nie wyświetlał ekranu grub podczas uruchamiania i dlatego nie mogłem dostać się do Ubuntu, ponieważ ustawiłem Windows jako domyślny rozruch z 7-sekundowym opóźnieniem na wypadek, gdyby chciał uzyskać w Ubuntu.
Aby rozwiązać ten problem, musisz przejść do systemu Windows.
Kliknij menu Start i wpisz
CMD
w polu wyszukiwania.Kliknij prawym przyciskiem myszy linię CMD, która powinna znajdować się w górnej części ekranu po kliknięciu prawym przyciskiem myszy.
Kliknij Uruchom jako administrator .
W wierszu polecenia wpisz
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
. Ten wpis powoduje zarejestrowanie menu GRUB w menedżerze rozruchu systemu Windows. ( Podziękowania : Grub nie wyświetla się przy starcie systemu Windows 8.1 Ubuntu 13.10 Dual boot )W końcu ponownie uruchomiłem system Windows.
Mam nadzieję, że to pomoże.
źródło
Alt+F2
jest skrótem jedności do uruchomienia polecenia w tle. W menu, które zostanie otwarte, możesz wprowadzić dowolne polecenie, tak jak w terminalu. Ale ponieważ nie otwiera terminala, nie zobaczysz żadnych danych wyjściowych terminala i nie będziesz mógł wchodzić w interakcje z terminalem. Dlatego zwykle używasz go do takich rzeczy, jak uruchamianie programu GUI, takiego jak gedit. Nie możesz także używać sudo, ponieważ potrzebujesz do tego terminala. Dlatego używajągksudo
(GUI sudo). Jeśli wykonujesz polecenia w terminalu, możesz po prostu użyć zwykłego wsudo
ten sposób:sudo gedit /etc/default/grub
nie ma takiej potrzebysudo -i
.sudo -H
lepiej jest npsudo -H gedit /etc/default/grub
.Używanie domyślnego wpisu opartego na liczbie zaskoczyło mnie od czasu jego wprowadzenia w GRUB. To naprawdę zły pomysł. Co powiesz na aktualizację jądra i automatyczną ponowną konfigurację grub? Co powiesz na nieświadomych użytkowników, którzy wolą wpis na końcu listy? Aktualizacje spowodowałyby uszkodzenie domyślnej konfiguracji opartej na liczbach.
Zamiast tego użyj tutaj opcji ZAPISANE, aby zapamiętać ostatnio wybrany wpis:
Następnie zastosuj GRUB za pomocą
źródło
To nie działa również dla mnie 16.04.
Ale naprawiłem to, zmieniając plik /boot/grub/grub.cfg
edytuj grub
zmień wartość limitu czasu
źródło
Można to łatwo zrobić bez żadnych kodów. Po prostu wykonaj następujące kroki.
/etc
folder.default
folder.grub
plik i otwórz go za pomocąleafpad
(lub dowolnego innego edytora tekstu).GRUB_TIMEOUT
do swoich potrzeb i zapisz.update-grub
.Otóż to.
źródło
Myślę, że masz taką linię: GRUB_TIMEOUT_STYLE = ukryty
Zmień go na GRUB_TIMEOUT_STYLE = menu
I skomentuj wszystkie wiersze dotyczące funkcji UKRYTYCH.
źródło