Jak ukryć menu GRUB w Ubuntu 14.04

8

Mam dwa systemy operacyjne: Windows 8.1 i Ubuntu 14.04. Chcę ukryć menu GRUB. Używam grub 2.02 ~ beta2-9. Próbowałem następujących kombinacji /etc/default/grub:

  1. \#GRUB_HIDDEN_TIMEOUT=1  
    \#GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=0
    

    menu grub jest widoczne przez 10 sekund (jeśli limit czasu jest ustawiony na wartość większą niż 0, wyświetla się poprawnie: GRUB_TIMEOUT=5- 5 sekund opóźnienia)

  2. GRUB_HIDDEN_TIMEOUT=1  
    GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=0 
    

    GRUB jest widoczny, ja też próbowałem GRUB_HIDDEN_TIMEOUT=falsei ustawienie zarówno GRUB_TIMEOUTi GRUB_HIDDEN_TIMEOUTdo zera i niezerowych wartościach

  3. \#GRUB_HIDDEN_TIMEOUT=1  
    \#GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=1  
    GRUB_TIMEOUT_STYLE=hidden
    

    menu grub jest widoczne przez 1 sekundę, wypróbowane również GRUB_TIMEOUT_STYLE=countdownz tym samym wynikiem, jeśli GRUB_TIMEOUTjest ustawione na 0, 10 sekund opóźnienia

Po każdej zmianie piszę update-grubi ponownie uruchamiam komputer, aby zobaczyć wyniki.

Według GRUB dokumentacja znaleziona w info -f grub -n 'Simple configuration'drugi sposób jest przestarzała. Właściwy sposób to trzeci - przy użyciu GRUB_TIMEOUT_STYLE, ale niestety nie działa. To prawdopodobnie jakiś błąd.

ezpn
źródło
Wiele razy przepisy, które znajdziesz w Internecie, nie działają właściwie. W takim przypadku zapoznaj się z dokumentacją: gnu.org/software/grub/manual/html_node/...
Ograniczone Zadośćuczynienie
2
Właśnie to zrobiłem. Nie działa zgodnie z dokumentacją.
ezpn

Odpowiedzi:

6

Zwykle, jeśli masz tylko jeden system operacyjny, opcja GRUB_TIMEOUT=0będzie działać. Jeśli GRUB 2 os-proberzidentyfikuje dodatkowe systemy operacyjne podczas uruchamiania /etc/grub.d/30_os-proberskryptu, funkcja limitu czasu ukrytego menu jest wyłączona przez instrukcje warunkowe. To również wyłącza możliwość używania Shiftklawisza do wyświetlania menu podczas uruchamiania. Użytkownicy z wieloma systemami operacyjnymi, którzy chcą ukryć menu, mogą znaleźć edycje skryptów na różnych forach, co pozwoli im dodać ukrytą funkcję limitu czasu do sekwencji rozruchowej.

Sprawdź tę odpowiedź, jeśli ci to pomoże.

cioby23
źródło
3
Na twoim linku znalazłem szybkie rozwiązanie, które na stałe ukrywa menu GRUB-a: GRUB_HIDDEN_TIMEOUT=0.0 GRUB_TIMEOUT=0.0chociaż byłoby lepiej, gdybym mógł po prostu pokazać GRUB po naciśnięciu SHIFT (w poprzedniej wersji ubuntu mogłem go dostosować, manipulując GRUB_TIMEOUT i GRUB_HIDDEN_TIMEOUT), ale nadal jest to najlepsze rozwiązanie nie wymaga pisania niestandardowych skryptów.
ezpn
8

Znalazłem bardzo szybkie rozwiązanie, ale nie analizowałem jeszcze konsekwencji.

W twoim skrypcie os_prober dla update-grub jest kilka linii, które pomijają ustawiony limit czasu i wymuszają wyświetlanie menu startowego, jeśli znaleziono inny system operacyjny. Możesz to łatwo wyłączyć, ustawiając zmienną „quick_boot” na 0.

  • Na /etc/grub.d/30_os_proberpoczątku zmiany pliku

    quick_boot="1" do quick_boot="0"

  • Następnie uruchomić sudo update-grub

Motsah
źródło
1

Próbowałem edytować 30_os_prober, ale okazało się, że nazwa została zmieniona na 10_os_prober.

Poza tym powyższe rozwiązanie Motsah działa dla mnie idealnie.

Teraz mam:

GRUB_DEFAULT="0"   
GRUB_HIDDEN_TIMEOUT="1"   
GRUB_HIDDEN_TIMEOUT_QUIET="true"    
GRUB_TIMEOUT="0"

w moim /etc/default/grub

Zmiana ukrytego limitu czasu na wyższe ustawienie wydaje się nic nie robić. Posiadanie 0 uniemożliwia wejście do menu.

Skopiowano z góry, zmieniając na 10_os_prober, aby zakończyć:

W /etc/grub.d/10_os_prober zamian

quick_boot="1"

do

quick_boot="0"

na początku pliku.

Biegać:

sudo update-grub
Sligchop
źródło