Wie lege ich das Grub-Timeout und den Standard-Starteintrag für Grub fest?


191

Wie stelle ich in Ubuntu 12.04 (oder höher) die GRUB-Zeit und das Standard-Betriebssystem (das ich beim Booten sehe) so ein, dass Windows (7/8) und Ubuntu (12.04 oder höher) doppelt gebootet werden?


Können Sie uns weitere Informationen geben? Was meinst du mit "grub time" und was ist dein Standard-Betriebssystem? Was sind die verschiedenen Zeilen in deinem Menü?
Julien Chau

1
grub time bezeichnet die Countdown-Zeit, in der ich das Betriebssystem im BIOS-Startbildschirm auswählen muss. Es tut mir leid, aber ich weiß nicht genau, wie dieses OS-Auswahlmenü heißt, also habe ich es als Grubzeit gepostet.
Meteore

Antworten:


227
  • Drücken Sie Alt+ F2, geben Sie gksudo gedit /etc/default/grubdrücken Enterund Ihr Passwort eingeben.
  • Sie sehen folgenden Inhalt:

    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 = "leises Spritzen"
    GRUB_CMDLINE_LINUX = ""
    
  • Sie können den Standardwert von 0 in eine beliebige Zahl ändern, die dem Eintrag im Grub-Startmenü entspricht (der erste Eintrag ist 0, der zweite ist 1 usw.).

  • Sie können die "versteckte Zeitüberschreitung" ändern (kein Menü); und auch den Countdown anzeigen ( GRUB_HIDDEN_TIMEOUT_QUIET=false)
  • Sie können das Anzeigen des Grub-Menüs erzwingen, indem Sie die beiden GRUB_HIDDENZeilen mit einem #am Zeilenanfang auskommentieren
  • Und stellen Sie das Zeitlimit für das Grub-Menü ein (Standard sind 10 Sekunden)

  • Nehmen Sie Ihre Änderungen vor, drücken Sie Ctrl+ Szum Speichern und Ctrl+ Qzum Beenden

  • Wichtig : Öffnen Sie ein Terminal mit Ctrl+ Alt+ Tund geben Sie ein sudo update-grub, um die soeben vorgenommenen Änderungen zu übernehmen
  • Starten Sie neu und Sie sollten sehen, wie sich das Timeout / der Standardeintrag ändert

Verknüpfte Frage:


Danke, @Raja, aber grub / grub2 war der Hauptunterschied. Wenn du die richtige grub2 hättest, hätte ich deine Antwort gerne bearbeitet, anstatt eine neue zu machen :)
ish

Danke, Ihre Antwort hat funktioniert, aber können Sie mir bitte den zweiten und dritten Punkt (das versteckte Timeout und die versteckten Grub-Linien) erklären, wofür sie gedacht sind?
Meteore

2
Bitte empfehlen Sie niemandem, die Standard-Grub-Option zu ändern, indem Sie einen beliebigen Index festlegen. Das ist furchtbar uninteressant und führt wahrscheinlich zu einer Katastrophe. Der Benutzer gibt möglicherweise den falschen Namen ein oder ändert ihn während eines Upgrades, was zu unerwartetem Verhalten führt.
Cerin,

2
Dies erfordert ein Update in Bezug auf die beiden Ebenen des aktuellen Grub-Menüs.
Hannu

1
@Cerin was schlägst du dann vor?
Blauhirn

30

Wenn Sie die Datei lesen, die Sie im obigen Beispiel bearbeiten (/ etc / default / grub), werden Sie feststellen, dass Sie in den ersten paar Zeilen aufgefordert werden, update-grubnach dem Vornehmen von Änderungen auszuführen , um die tatsächliche Datei zu aktualisieren, in die grub liest " Anweisungen abrufen "(/boot/grub/grub.cfg). Beachten Sie, dass Sie es zuerst mit dem sudoBefehl ausführen müssen, da Sie Root-Rechte benötigen, um den Befehl tatsächlich auszuführen (weshalb das obige Poster den Befehl eingibt sudo update-grub). Dadurch werden die von Ihnen vorgenommenen Änderungen in die Datei /boot/grub/grub.cfg geschrieben. In den nächsten Zeilen erfahren Sie, dass Sie die vollständige Dokumentation der Optionen in dieser Datei (erneut / etc / default / grub) lesen können, indem Sie Folgendes eingeben info -f grub -n 'Simple configuration'.

Setzen Sie jedoch GRUB_TIMEOUT auf -1, wenn Sie die "Grub-Zeit" auf unbestimmte Zeit setzen möchten. Mit anderen Worten, es wird niemals automatisch gestartet. Sie müssen eine Auswahl treffen.

Zur Beantwortung Ihrer Frage finden Sie hier die Beschreibungen dieser "versteckten Grub-Linien" direkt aus der oben genannten Dokumentation:

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.

Ich hoffe das hilft!


14

Sie können eine Anwendung namens Grub Customizer verwenden . Es ist viel einfacher.

Sie können es installieren, indem Sie:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

Es gibt ein How-To Geek Artikel darüber, Wie die GRUB 2 Boot - Menü der einfache Weg Linux konfigurieren . Es gibt auch einen gelösten Thread in den Ubuntu-Foren, Ändern der Startreihenfolge in GRUB 2 , in dem dieses Tool erwähnt wird.

Hier sind einige Screenshots dieser Software:

screen_1

screen_2

screen_3


1
Dies erfordert ein Update in Bezug auf die beiden Ebenen des aktuellen Grub-Menüs.
Hannu

5

Ich habe die erste Antwort befolgt, aber es scheint eine Aktualisierung zu erfordern, wenn Sie mit Windows 7 Pro und Ubuntu 16.04 dual booten. Stellen Sie außerdem sicher, dass der sichere Start im BIOS deaktiviert ist.

a) Zuerst sagt er use Alt+, F2wenn er ein Terminalfenster öffnen möchte. In meinem Fall ist es Ctrl+ Alt+ T.

b) Im ersten Eintrag ist gksudo gedit /etc/default/grubder gksudoBefehl nicht standardmäßig in Ubuntu 16.04 installiert . Um dies zu umgehen, gehen Sie im Terminal wie folgt vor:

sudo -iund drücken Sie Enterund geben Sie Ihr Passwort und dann noch Entereinmal.

dann tippe:

gedit /etc/default/grubund drücken Sie Enter.

c) Sie sehen nun das in Antwort 1 dargestellte Menü zum Ändern der Maden . Folgen Sie seiner Antwort, bis er auf Ctrl+ Sgelangt, um die Änderungen zu speichern. Dies funktioniert in Ubuntu 16.04 nicht, aber Sie sollten eine Schaltfläche zum Speichern in der oberen rechten Ecke des Bildschirms sehen. Klicken Sie darauf.

d) Ctrl+ Qzum Beenden.

e) Nächster Typ sudo update-grubundEnter

f) Typ exit. Sie müssen dies zweimal tun.

g) Neustart

Ich stellte fest, dass auf meinem Computer nach ein paar Anmeldungen der Startvorgang den Grub- Bildschirm beim Start nicht zeigte und ich daher nicht in Ubuntu gelangen konnte, da ich Windows als meinen Standard-Start mit einer Verzögerung von 7 Sekunden festgelegt hatte, falls ich dies wollte in Ubuntu.

Um dieses Problem zu beheben, müssen Sie in Windows gelangen.

  1. Klicken Sie auf das Startmenü und geben Sie CMDin das Suchfeld ein.

  2. Klicken Sie mit der rechten Maustaste auf die CMD-Zeile, die sich am oberen Rand des durch Klicken mit der rechten Maustaste erzeugten Bildschirms befinden soll.

  3. Klicken Sie auf Als Administrator ausführen .

  4. In der Befehlszeile eingeben bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi. Dieser Eintrag bewirkt, dass das Grub-Menü beim Windows-Boot-Manager registriert wird. (Dank an: Grub wird beim Start für Windows 8.1 Ubuntu 13.10 Dual Boot nicht angezeigt )

  5. Schließlich startete ich wieder in Windows.

Ich hoffe das hilft.


Können Sie bitte einen Link zu "Illustriert in Antwort 1" erstellen? Ich konnte nicht finden, was Sie meinten.
Tom Hale

Auch "Ich folgte der ersten Antwort". Sie können Ihnen meine "Gutschrift an:" Formatierung als Beispiel geben. Toller erster Beitrag. Willkommen bei AskUbuntu.
Tom Hale

Ich hatte einen merkwürdigen Bruch des X-Fensters, als ich grafische Anwendungen wie gedit als sudo ausführte. Ich schlage vor, stattdessen einen textbasierten Editor wie nano zu verwenden.
Arthur Tacca

2
Alt+F2ist die Einheitsverknüpfung zum Ausführen eines Befehls im Hintergrund. In dem sich öffnenden Menü können Sie jeden Befehl wie im Terminal eingeben. Da jedoch kein Terminal geöffnet wird, werden keine Terminalausgaben angezeigt und Sie können nicht mit dem Terminal interagieren. Aus diesem Grund wird es normalerweise zum Starten eines GUI-Programms wie gedit verwendet. Sie können sudo auch nicht verwenden, da Sie dafür das Terminal benötigen. Deshalb benutzen sie gksudo(das GUI sudo). Wenn Sie die Befehle in einem Terminal ausführen, können Sie einfach die folgenden normalen Befehle verwenden sudo: sudo gedit /etc/default/grubKeine Notwendigkeit für sudo -i.
Sebastian

@Sebastian Zum Starten einer grafischen App sudo -Hist es besser , dh sudo -H gedit /etc/default/grub.
wjandrea

2

Die Verwendung eines Standardeintrags basierend auf einer Zahl hat mich seit seiner Einführung in GRUB erstaunt. Das ist wirklich eine schlechte Idee. Wie wäre es mit Kernel-Update und automatischer Grub-Neukonfiguration? Wie wäre es mit ahnungslosen Benutzern, die einen Eintrag am Ende der Liste bevorzugen? Aktualisierungen würden diese auf Standardnummern basierende Konfiguration aufheben.

Verwenden Sie stattdessen die Option SPEICHERN, um sich den zuletzt ausgewählten Eintrag zu merken:

GRUB_DEFAULT=SAVED
GRUB_SAVEDEFAULT=TRUE

Dann bewerbe dich mit GRUB

sudo update-grub

1
Kein großes Problem, aber dies erklärt nicht, wie oder wo diese Änderungen vorgenommen werden sollen. Möglicherweise möchten Sie einen Link zu einer anderen Antwort erstellen, die dies tut.
wjandrea

1

Das funktioniert bei mir auch am 16.04 nicht.

Aber ich habe es behoben, indem ich die Datei /boot/grub/grub.cfg geändert habe

sudo vim /etc/default/grub

Grub bearbeiten

sudo update-grub
sudo chmod u+w /boot/grub/grub.cfg
sudo vim /boot/grub/grub.cfg

Zeitlimit ändern

###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

0

Es kann leicht ohne Codes durchgeführt werden. Folgen Sie einfach diesen Schritten.

  1. Dateisystem öffnen.
  2. /etcOrdner öffnen .
  3. defaultOrdner öffnen .
  4. Finden Sie eine grubDatei und öffnen Sie sie mit leafpad(oder einem anderen Texteditor).
  5. Stellen Sie GRUB_TIMEOUTIhren Bedarf ein und speichern Sie ihn.
  6. Öffnen Sie nun das Terminal und tippen Sie update-grub.
  7. Starten Sie Ihr System neu.

Das ist es.


0

Ich denke, Sie haben eine Zeile wie diese: GRUB_TIMEOUT_STYLE = versteckt

Ändern Sie es in das Menü GRUB_TIMEOUT_STYLE =

Und kommentieren Sie alle Zeilen in Bezug auf HIDDEN-Funktionen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.