EDYCJA: (dla przejrzystości) Chcę zmienić wygląd menu rozruchowego grub, edytując pliki konfiguracyjne (prawdopodobnie, ale niekoniecznie grub.cfg).
Tak więc, każdy użytkownik Ubuntu wie, jak wypełnia się menu startowe po kilku aktualizacjach jądra. W czasach menu.lst można dostosować menu, aby ukryć niepożądane opcje, ale nadal je udostępniać.
Na przykład, jeśli menu Grub wyglądało tak:
A
B
C
D
Możesz sprawić, aby opcje C i D były niewidoczne, wstawiając pustą opcję między B i C. W ten sposób opcje C i D nie byłyby widoczne podczas uruchamiania, ale stałyby się widoczne, gdybyś przewinął je w dół w menu uruchamiania.
Wypróbowanie tej samej sztuczki w grub.cfg nie przyniosło żadnych rezultatów. Tak więc szukam sposobu na osiągnięcie tego samego rezultatu za pomocą nowego menu grub, edytując plik grub.cfg. Inne poprawki estetyczne są również mile widziane.
Dzięki
EDYCJA 2: Jeśli ukrywanie pozycji menu nie jest możliwe, chciałbym wstawić między nimi separator, aby menu wyglądało następująco:
A
B.--Inne--
C
D
źródło
Odpowiedzi:
Po pierwsze, dowiedz się, jak Ubuntu konfiguruje Grub2.
Tak więc, jeśli nie chcesz edytować grub.cfg po każdej aktualizacji jądra, chcesz dostosować skrypty w /etc/grub.d, aby zmiany były stosowane przy każdym uruchomieniu aktualizacji-grub .
Po drugie, aby odpowiedzieć bezpośrednio na twoje pierwsze pytanie, nie znam żadnego sposobu na uczynienie określonych opcji rozruchu niewidocznymi, ale nadal dostępnymi poprzez menu Grub. W Grub1 jest wiele drobiazgów, które nie zostały ponownie zaimplementowane w Grub2 i nie zdziwiłoby mnie, gdyby to była jedna z nich.
Zamiast tego możesz sprawić, że wszystkie pozycje menu będą niewidoczne (dopóki nie zostaną podświetlone), ustawiając kolor czcionki menu na taki sam jak kolor tła. W /etc/grub.d/05_debian_theme zmień menu_color_normal, aby pierwszy kolor (czcionka) pasował do drugiego koloru (tło). Pozostaw menu_kolor_wyróżnienie inne, aby pojawił się wpis pod kursorem.
Przeniesienie separatora do menu Grub.
W Grub1 wstawiłbyś nowy wpis w ten sposób. O ile pamiętam, potrzebujesz deklaracji roota, aby uczynić ją prawidłową pozycją menu, w przeciwnym razie Grub1 zignoruje ją.
Podejrzewam, że Grub2 może być podobny. Bardzo prosta pozycja menu wygląda tak w grub.cfg :
Ponieważ „cokolwiek” w podwójnych cudzysłowach jest wyświetlane jako tytuł, można o tym podrobić separator. Podobnie jak Grub1, Grub2 chce, aby słowo kluczowe linux traktowało je jako prawdziwą pozycję menu, więc uważaj, aby przypadkowo go nie wybrać.
Niestety, „coś” nie oznacza nic ; podczas testowania tego wypróbowałem długi ciąg myślników („----------------”) i to nigdy nie zadziałało. Ale lubi krótki ciąg kropek pokazany powyżej, więc możesz go użyć.
.....
Oto jak zrobić jeden separator. Aby utworzyć wiązkę i automatycznie umieścić je tam, gdzie chcesz, musisz dodać je do skryptów w /etc/grub.d .
W tym przykładzie umieśćmy prosty separator między różnymi sekcjami grub.cfg . Jeśli spojrzysz na /etc/grub.d , zobaczysz następujące skrypty:
Utworzymy nowy skrypt, separator i umieścimy w nim następujące elementy:
Teraz przenieś ten skrypt na miejsce pierwszego separatora i połącz go na miejscu z innymi. Skrypty są wykonywane w kolejności, więc jeśli chcesz, aby pierwszy pojawił się przed 10_linux , nazwij go 09_separator lub coś takiego.
Jeśli masz określony wpis ustawiony jako domyślny w / etc / default / grub , może być konieczna jego aktualizacja - Grub2 zaczyna zliczać wpisy menu od 0, a każdy z tych „separatorów” jest prawidłowym wpisem, więc i one się liczą. Jeśli twój poprzedni domyślny wpis wynosił 0 i dodałeś przed nim jeden separator, pamiętaj, aby zmienić GRUB_DEFAULT na 1
Teraz uruchom update-grub i sprawdź /boot/grub/grub.cfg - powinieneś zobaczyć tam separatory. Jeśli to zrobisz, uruchom ponownie i sprawdź je.
…
Jeśli chcesz umieścić separatory w innym miejscu, powiedzmy, między różnymi wersjami jądra, musisz bezpośrednio edytować 10_linux (lub inny skrypt) i znaleźć odpowiednie miejsce do dodania separatora. Możesz użyć wierszy ze skryptu powyżej; obejmują wszystko oprócz pierwszej linii #! / bin / sh .
Jeśli chcesz czegoś ładniejszego, użyj grubych obrazów lub motywów powitalnych. Muszę dać ci kontrolę nad tymi tematami, ale sprawdź poniższe zasoby.
Zasoby:
Istnieją dwa duże przewodniki Grub2 na UbuntuForums, które poznałem i uwielbiam:
GNU Grub 2 to kolejny świetny zasób. Ma zestaw skryptów do poprawiania Grub2 Karmica ( pełne ujawnienie: nie próbowałem ich ).
Format strony Grub Wiki jest niezbędny do zhakowania tematów Grub2.
źródło
Separator może składać się z myślników, jeśli jego pierwszą postacią jest spacja. Ponadto nie jest konieczne użycie polecenia linux dla sekcji separatora, możesz użyć dowolnego takiego polecenia:
Lub nawet „prawda”, aby powrócić cicho:
źródło
Jeśli nie używasz innych jąder, możesz je po prostu usunąć, używając dowolnego interfejsu menedżera pakietów. To automatycznie usuwa je z grub.cfg
źródło