Ich verwende Ubuntu 12.04.
Ich kann nicht für mein ganzes Leben die Mehlspeisekarte (mit Optionen) zum Verschwinden bringen.
Ich möchte, dass es automatisch in die erste Option hochfährt. Ich habe / etc / default / grub so bearbeitet , dass es wie folgt aussieht:
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
Danach habe ich sudo update-grub ausgeführt . Dann wurde mir klar, dass ich grub 2 hatte, und ich ließ sudo update-grub2 laufen (beide lassen es so aussehen, als ob sie die Datei grub.cfg erfolgreich erstellt hätten).
Ich starte meinen Computer neu und er kehrt zum Grub-Menü zurück und sitzt dort, bis ich eine Wahl getroffen habe. Das ist nicht wünschenswert, wenn der Strom ausfällt ... :-)
Ich habe auch versucht, grub mit sudo grub-install / dev / sda neu zu installieren - ebenfalls erfolglos
sudo update-grub
undsudo update-grub2
führt den gleichen Befehl aus. Also mach dir keine Sorgen um diesen Teil.cat /boot/grub/grub.cfg
via Pastebin und teile den Link hier. Hier sehen Sie die tatsächlichgrub.cfg
erzeugten.Antworten:
Wie andere Antworten zeigen, sind Sie möglicherweise ein Opfer der Rekordfehlersituation . Eine
/boot/grub/grub.cfg
manuelle Bearbeitung sollte nicht in Frage kommen, da sie automatisch generiert wird. Ein weiterer Vorschlag, der hier zu sehen ist, besteht darin, das zu bearbeiten,/etc/grub.d/00_header
aber dann könnte der Benutzer aufgefordert werden, bei Updates einzugreifen.Die einfachste Lösung besteht darin, die undokumentierte
GRUB_RECORDFAIL_TIMEOUT
Variable in zu definieren/etc/default/grub
. Beispielsweise:Bearbeiten
Weitere Informationen finden Sie in dieser Antwort .
quelle
update-grub
nach der Änderung auch den Befehl aus , um die aktualisierte/boot/grub/grub.cfg
Datei zu generierenrecordfail
! Sie möchten eine längere Zeitüberschreitung, wenn beim Booten ein Fehler aufgetreten ist. Um manuell klar, alles , was Sie brauchen , ist @ sniffski Antwort:grub-editenv create
. Es kann jedoch auch einen anderen Grund gebenrecordfail
,Verwenden:
Dadurch wird die Grub-Umgebungsdatei gelöscht und sollte beim nächsten Mal klar gestartet werden.
quelle
grub-editenv - unset recordfail
Funktioniert auch und hat keine Auswirkungen auf andere möglicherweise eingestellteÄndern Sie den
GRUB_TIMEOUT=10
Wert auf NullDies ist meine Konfigurationsdatei:
Schreiben Sie zuerst den Namen des Betriebssystems, mit dem Sie direkt booten möchten. Meins ist Ubuntu. Du wirst es also so schreiben wie in der
GRUB_DEFAULT="Ubuntu, with Linux x.x.x-xx-generic-pae"
dann habe ich 1 Sekunde in der verwendet
GRUB_TIMEOUT=
, um mir 1 Sekunde vor der Auswahl des Standard-Betriebssystems zu geben (wenn ich zum Beispiel mit Xubuntu auf einem anderen Betriebssystem booten muss)wie
GRUB_CMDLINE_LINUX_DEFAULT=""
wenn Sie entfernenquite splash
wird es zeigen Ihnen anstelle des Ubuntu - Logo während des Bootvorgangs (Ich mag es auf diese Weise: P) TexteEs gibt eine andere Lösung:
Es gibt ein Programm namens Boot-Repair, das bei der Konfiguration mit einer GUI hilft.
Wie Sie aus dem Bild sehen können. Es gibt eine Box namens
Unhide boot menu
. Deaktivieren Sie einfach das Kontrollkästchen und drücken Sie appy. Sie können darauf zugreifen, indem Sie auf den Pfeil für erweiterte Optionen klicken.um die Boot-Reparatur zu installieren
und dann
boot-reapir
entweder vom Terminal oder vom Armaturenbrett laufen .3. Lösung:
Sie können eine einfach zu bedienende GUI-App namens grub-customizer verwenden, um Ihr Leben ein wenig einfacher zu gestalten. Wie der Name schon sagt, können Sie damit viel mehr als nur Grub-Menüeinträge neu anordnen.
Sie können es installieren, indem Sie:
Wie Sie im Menü sehen können, gibt es eine
show menu
Option. Deaktivieren Sie und prüfen Sie, ob es funktioniertquelle
grub-update
nach dem Ändern der Werte ausgeführt?GRUB_HIDDEN_TIMEOUT
undGRUB_HIDDEN_TIMEOUT_QUIET
Optionen sind veraltet. Kommentieren Sie diese aus.Fügen Sie Folgendes hinzu, um das Menü zu überspringen und anzuzeigen, wenn Sie nur
ESC
gedrückt halten:Probe
/etc/default/grub
'GRUB_TIMEOUT_STYLE' : Wenn diese Option auf 'Countdown' oder 'Ausgeblendet' eingestellt ist, wartet GRUB vor dem Anzeigen des Menüs auf das Ablaufen des von 'GRUB_TIMEOUT' festgelegten Zeitlimits. Wenn während dieser Zeit ESC gedrückt wird, wird das Menü angezeigt und auf die Eingabe gewartet.
quelle
Ich könnte das Problem lösen, indem ich die folgende Zeile hinzufüge
/etc/default/grub
... und dann rennen
sudo update-grub
.Erläuterung: Die Datei
/boot/grub/grub.cfg
wird generiert,update-grub
indem die Dateien in/etc/grub.d
und ausgeführt werden/etc/default/grub
. Daher sollten Sie nicht bearbeitengrub.cfg
, aber es kann hilfreich sein, herauszufinden, warum das Timeout eingestellt ist. Suchen Sie nach Zeilen, die mit beginnen,set timeout=
und suchen Sie dann nach der nächsten Zeile, die mit beginnt### END /etc/grub.d/ ...
. Dies kann Ihnen Hinweise geben, welches Skript das Zeitlimit festlegt. In meinem Fall war das os-prober-Skript für das Timeout verantwortlich. Es stellt sich heraus, dass es eine 10s-Zeitüberschreitung gibt,/etc/grup.d/30_os-prober
die nicht von festgelegt wirdGRUB_TIMEOUT
. Sie können os-prober entweder deaktivierenGRUB_DISABLE_OS_PROBER=true
oder bearbeiten/etc/grup.d/30_os-prober
oder verwendenGRUB_OS_PROBER_SKIP_LIST
, um einige Ihrer Festplattenpartitionen zu überspringen (30_os-prober wird verwendet, wenn irgendwo ein anderes Betriebssystem gefunden wird). Weitere Informationen finden Sie in dieser Frage und Antwort. Wie andere hervorhoben , könnte ein weiterer Grund das Rekordversagen sein , in diesem Fall eingestelltGRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT
.quelle
Ich hatte das Problem, dass das Grub-Menü immer angezeigt wurde, nachdem ich das AUFS (unionfs) verwendet hatte, um das Root-Dateisystem schreibgeschützt zu platzieren. Ich musste nach jedem Booten die Eingabetaste am Server drücken. Ich habe die Anweisungen hier befolgt: Grub 2-Menü deaktivieren . Da hatte ich überhaupt keine Probleme.
Bearbeiten Sie die Datei /boot/grub/grub.cfg und ändern Sie Folgendes:
Zu
quelle
set timeout=-1
ist nicht dasselbe wieset timeout=1
. Ersteres ist "warte für immer" und letzteres ist "warte für eine Sekunde".Mein Ubuntu hatte immer ein Timeout von 30 Sekunden, entweder hätte ich einen Wert eingestellt oder nicht. Hier nach ist, wie ich herausgefunden habe, dass Rekordfehler der fehlende Wert war .
1. Überprüfen Sie das aktuelle Grub-Skript
/boot/grub/grub.cfg
IMHO, der beste Weg zu überprüfen, was Grub tun wird, ist zu öffnen
/boot/grub/grub.cfg
. Hierbei handelt es sich um das Skript, dasgrub-mkconfig
mithilfe von Vorlagen aus/etc/grub.d
und Einstellungen aus automatisch generiert wird/etc/default/grub
.Um die Linie 109 herum sehen Sie etwas wie:
In meinem Fall konnte ich mit Hilfe des generierten Skripts feststellen, dass die
recordfail
Variable nicht gesetzt war.2. Wenn die
recordfail
Variable nicht gesetzt ist, setzen Sie sieÖffnen Sie
/etc/default/grub
in Ihrem bevorzugten Texteditor (z. B. vim) und stellen Sie die VariableGRUB_RECORDFAIL_TIMEOUT
auf einen bestimmten Wert ein, z. B. 5 Sekunden.Ihre Konfigurationsdatei sollte folgendermaßen aussehen:
3. Aktualisieren Sie die Konfiguration, mit der ausgeführt werden soll
update-grub
Aktualisieren Sie im letzten Schritt die Konfiguration, mit der ausgeführt werden soll
update-grub
. Im Moment verwendet GRUB2 das eingestellte Timeout. Dieser Befehl generiert die/boot/grub.cfg
Datei neu.4. Überprüfen Sie das generierte Skriptergebnis
Öffne
/boot/grub.cfg
und überprüfe das Ergebnis um die Linie 109:Beachten Sie, dass der Wert in Zeile 109 jetzt 5 statt wie zuvor 30 ist.
quelle