Schnelle Wiederherstellung des Grub-Bootloaders in Ubuntu. Grub und MBR wiederherstellen.

Trotz der Tatsache, dass das Linux-Betriebssystem einen kleinen Marktanteil einnimmt, gewinnen seine verschiedenen Builds mit ihrem offiziell kostenlosen, ziemlich stabilen Betrieb sowie einer beträchtlichen Flexibilität bei den Einstellungen an Popularität. Ja, einige Dinge funktionieren nicht so wie unter Windows oder Mac OS, und die meisten von ihnen Software hauptsächlich für diese beiden Produkte erstellt. Aber das hält nicht alle auf.

Wiederherstellung erforderlich, damit das Linux-Betriebssystem funktioniert Grub-Bootloader wenn ein Fehler auftritt.

Obwohl fast jeder Linux-Build reibungslos läuft, kann es manchmal zu einem Bootloader-Fehler kommen, der das Starten des Betriebssystems unmöglich macht. Aus welchen Gründen kann das passieren? Wie repariert man den Grub-Bootloader unter Linux? Welche Arbeitsmethoden gibt es? Wir werden über all dies und noch ein bisschen mehr im heutigen Artikel sprechen.

Nachdem Sie Linux auf der Festplatte Ihres Computers installiert haben, werden alle Dateien in separate Ordner kopiert. Einige Verzeichnisse speichern Dateien für gängige Software, die sicher entfernt werden können. In anderen werden Dateien aufgezeichnet, ohne die das Betriebssystem nicht funktioniert. Dazu gehören der Linux-Kernel, die grafische Shell und der Grub-Bootloader. Letzteres wird verwendet, um das installierte Betriebssystem auszuführen. Wie kommt es dazu?


In einer speziellen Boot-Partition erstellt das System einen Master Boot Record. Die englische Abkürzung sieht aus wie MBR und steht für Master Boot Record. Am Anfang Computer-BIOS greift auf diesen Eintrag zu, dann kommt Grub ins Spiel und wenn alles in Ordnung ist, startet Linux. Und wenn der Bootloader beschädigt ist, tritt beim Start ein Fehler auf und das System startet nicht.

Aus welchen Gründen kann das passieren? Die überwiegende Mehrheit der Fälle ist das Ergebnis von Linux-Installationen Als erstes System installieren Sie Windows als sekundäres System. Microsoft mag Linux traditionell nicht, daher entfernt der Windows-Installer Grub Linux. Das gleiche Problem kann auftreten, wenn Linux selbst falsch installiert ist, wenn auf eine andere Distribution gewechselt wird oder wenn die Festplatte neu partitioniert wird.

Das Wichtigste ist, dass Sie nicht sofort an eine Neuinstallation des gesamten Systems denken müssen. Es reicht aus, nur Grub wiederherzustellen, und alles funktioniert wie zuvor. Werfen wir einen Blick auf die meisten effektive Wege auch unerfahrenen Benutzern zugänglich.

Über Terminal von bootfähigen Medien

Dazu benötigen Sie bootfähiges Flash-Laufwerk oder eine Diskette mit einer aufgezeichneten Linux-Distribution. Idealerweise sollte es dem auf der Festplatte installierten System ähneln. Aber wenn das Distributionskit nicht der wichtigste Punkt ist, dann sollte die Bittiefe auf jeden Fall passen. Andernfalls ist dies mit noch größeren Konsequenzen verbunden, wodurch Sie auf jeden Fall alles neu installieren müssen.

  1. Stecken Sie ein USB-Flash-Laufwerk oder eine USB-Festplatte in den Anschluss des Computers und dann vorrangig zum Booten. Die erforderliche Einstellung befindet sich im Abschnitt Boot Device Priority oder First Boot Device. Um das BIOS zu starten, drücken Sie beim Einschalten die gewünschte Taste oder eine Kombination davon auf der Tastatur. Die beliebtesten Optionen sind F2, Del, Shift + F2, F10. Um sich nicht mit dem BIOS herumzuschlagen, können Sie einfach F11 oder F12 drücken und das Medium aus der bereitgestellten Liste auswählen.
  2. Als nächstes müssen Sie herausfinden, auf welcher Partition der Festplatte das System installiert ist und welche als Bootloader angegeben ist. Dazu müssen Sie das Terminal starten (analog Befehlszeile Windows), indem Sie es im Anwendungsmenü finden oder die Tastenkombination Strg + Alt + T oder Alt + F2 drücken. In dem sich öffnenden Fenster müssen Sie den Befehl sudo fdisk -l eingeben. Sofort scannt das Dienstprogramm alle Festplattenpartitionen und zeigt Informationen zu jeder von ihnen an. Auch Informationen über andere auf dem Computer installierte werden angezeigt. Betriebssysteme Oh. Sie können den Namen der Partition, ihren Speicherort, ihre Größe und den Typ ihres Dateisystems herausfinden. Vorausgesetzt, bei Ubuntu installieren Wenn Sie das Markup manuell erstellt haben, werden Sie leicht verstehen, welche Partition bootfähig ist und welche Root ist. Orientieren Sie sich bei der automatischen Partitionierung am Namen Linux. Er wird die Wurzel Ihres Systems sein. Der Partitionsname besteht in der Regel aus dem Kürzel sdc oder sda und einer Nummer mit fortlaufender Nummer.
  3. Als nächstes müssen Sie das Root-Dateisystem in den /mnt-Ordner einhängen. Dabei hilft Ihnen der Befehl sudo mount /dev/sda1 /mnt, bei dem Sie statt sda den Namen Ihrer Partition schreiben müssen.


Ab dieser Phase gibt es zwei Methoden, um Grub unter Linux wiederherzustellen.

Methode 1

  1. Geben Sie den Bootloader-Reparaturbefehl ein: sudo Grub-install -root-directory=/mnt /dev/sda.
  2. Starten Sie den Computer mit dem Befehl sudo reboot neu. Als Ergebnis sollte das OS-Auswahlmenü erscheinen.
  3. Wenn dieses Menü veraltete Informationen anzeigt, aktualisieren Sie Ihren Boot MBR-Eintrag. Starten Sie dazu Linux normal, öffnen Sie ein Terminal und verwenden Sie den Befehl sudo update-grub. Wenn das nicht hilft, verwenden Sie sudo update-Grub --output=/mnt/boot/Grub/Grub.cfg und wiederholen Sie dann das vorherige.
  4. Starten Sie Ihren Computer erneut.

Methode 2.

  1. Nachdem Sie das Stammverzeichnis des Dateisystems in die /mnt-Partition gemountet haben, müssen Sie den Ordner zusätzlich mit mounten Boot-Dateien, sowie andere Komponenten der Interaktion mit dem Kern. Führen Sie dazu nacheinander die folgenden Befehle aus:

sudo mount /dev/sdc2 /mnt/boot

sudo mount --bind /dev /mnt/dev

sudo mount --bind /sys /mnt/sys

sudo mount --bind /proc /mnt/proc

  1. Als nächstes müssen Sie eine Chroot-Shell ausführen. Fügen Sie dazu im Terminal chroot /mnt /bin/bash hinzu. Der erste Parameter achtet auf das Stammverzeichnis und der zweite auf eine spezielle Shell zum Konvertieren von Benutzerbefehlen.
  2. Als nächstes müssen Sie Befehle anwenden, um in Ubuntu zu gelangen und fast alle seine Anwendungen zu verwenden, mit Ausnahme von Diensten und einer grafischen Oberfläche:

Quelle /etc/profile.

  1. Jetzt können Sie direkt mit der Wiederherstellung von Grub fortfahren. Dazu müssen Sie mehrere Befehle verwenden:
    • Um den Bootloader auf der Festplatte neu zu installieren: sudo Grub2-install /dev/sdc (der letzte Parameter ist der Name Ihrer Partition).
    • So erstellen Sie eine neue Konfigurationsdatei: sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.
    • So aktualisieren Sie das Boot-Menü: sudo Grub-update.
  2. Um den Vorgang abzuschließen, verlassen Sie die Chroot-Shell mit dem Befehl exit und hängen Sie auch die zuvor gemounteten Dateisystempartitionen aus:

sudo umount /mnt/dev

sudo umount /mnt/proc

sudo umount /mnt/sys

sudo umount /mnt

sudo umount /mnt/boot.

  1. Neustart über Neustart.

Über das Bootloader-Reparaturdienstprogramm

Da die vorherige Methode möglicherweise nicht für jeden möglich ist, verwenden wir die Funktion von Ubuntu, dass es vollständig funktioniert, wenn es von einem USB-Flash-Laufwerk gestartet wird. Dazu verwenden wir das spezielle Boot-Reparatur-Dienstprogramm. Was soll getan werden?

  1. Starten Sie Ubuntu von einem Flash-Laufwerk und stellen Sie sicher, dass Sie eine aktive Internetverbindung haben.
  2. Suchen Sie ein Terminal und führen Sie darin nacheinander die folgenden Befehle aus:

sudo add-apt-repository ppa:yannubuntu/boot-repair

sudo apt-get update

sudo apt-get install boot-repair.

  1. Suchen Sie im Anwendungsmenü nach „Recovery Bootloader“ und aktivieren Sie das Dienstprogramm.
  2. Klicken Sie auf die Schaltfläche „Empfohlene Wiederherstellungsmethode“ und warten Sie, bis der Vorgang abgeschlossen ist.
  3. In den meisten Situationen reichen diese Aktionen für den normalen Betrieb des Grub-Linux-Bootloaders völlig aus.


Über die Befehlszeile mit teilweisem Zugriff auf das Dateisystem

Manchmal ist der Grub-Bootloader nicht so stark beschädigt, dass das gesamte System nicht booten kann. Zum Beispiel, Boot-Partition bleibt intakt, aber das Dienstprogramm selbst hat keinen Zugriff darauf. In diesem Fall wird eine Programm-Shell ähnlich der Kommandozeile geöffnet und die folgende Meldung angezeigt: Minimal BASH like line editing is supported. Hier können Sie mit dieser Befehlszeile versuchen, Ubuntu zu booten.

Es wird erwartet, dass Sie sicher sind und genau wissen, auf welcher der Festplatten das System und der Kernel gespeichert sind. Es stehen nur vier Befehle zur Verfügung, diese müssen nacheinander angewendet werden:

  1. Geben Sie den Befehl ls ein, damit das System Festplatten und Partitionen scannt. Als Antwort erhalten Sie eine Liste der Festplatten (z. B. hd1, hd2) sowie den Typ des darauf befindlichen Dateisystems (z. B. msdos1, msdos2). Nehmen wir zum Beispiel an, dass sich die Boot-Partition unter /dev/sda1 befindet.
  2. Als nächstes müssen Sie den Abschnitt auswählen, mit dem Sie arbeiten möchten. In unserem Fall wird der Befehl wie folgt geschrieben: set root=(hd1,1).
  3. Laden Sie die normale Grub-Shell: insmod ext2, insmod normal, normal.
  4. Starten Sie den Linux-Kernel: linux /boot/vmlinuz.
  5. Booten Sie das System: booten.
  6. Nachdem Sie Ubuntu im normalen Modus gestartet haben, öffnen Sie ein Terminal und beenden Sie den Bootloader-Wiederherstellungsvorgang mit den folgenden Befehlen:

sudo Grub2-install /dev/sda

sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.

  1. Starten Sie neu und genießen Sie den normalen Betrieb.


Fazit

Obwohl das Wiederherstellen des Grub-Bootloaders in Ubuntu auf den ersten Blick sehr kompliziert erscheinen mag, und viele Linux-Benutzer wissen, wann ähnliches Problem Beginnen Sie sofort mit der Neuinstallation des Betriebssystems, falls verfügbar normaler Unterricht alles geht ganz einfach und ohne komplikationen. Wir hoffen, dass wir Ihnen helfen konnten, Verluste zu vermeiden wichtige Informationen. Setzen Sie ein Lesezeichen auf diese Seite und teilen Sie diese Informationen mit Ihren Freunden und Bekannten. Hinterlassen Sie Ihre Fragen in den Kommentaren.

Grub ist der Bootloader, der zum Booten des Systems auf den meisten Linux-Distributionen verwendet wird, einschließlich LinuxMint. Eine Beschädigung des Bootloaders kann aus verschiedenen Gründen verursacht werden, z. B. durch die Installation von Windows oder einem anderen Linux-Distribution oder die Festplatte neu partitionieren, die Größe und Position von Partitionen auf der Festplatte ändern und so weiter.

Im Falle der Installation eines anderen Systems benötigen wir zur Wiederherstellung des Linux-Mint-Bootloaders eine LiveCD mit einer beliebigen Linux-Distribution. Die häufigste Aufgabe in dieser Kategorie ist die Wiederherstellung von Grub nach Windows. Wenn der Fehler durch das Arbeiten mit Partitionen oder Schäden am Dateisystem entstanden ist und der Bootloader mit der Meldung bootet Minimal BASH like line editing is supported, bedeutet dies, dass wir auch ohne LiveCD auskommen. Natürlich ist das Wiederherstellen von Grub in Linux Mint mit dem LiveCD-System viel einfacher, aber Sie haben nicht immer die richtige Festplatte zur Hand.

In diesem Artikel sehen wir uns an, wie die Grub2-Wiederherstellung auf beide Arten durchgeführt wird. Beginnen wir mit mehr einfacher Weg- mit LiveCD. Obwohl sich der Artikel auf Linux Mint konzentriert, ist es eigentlich für absolut jede Distribution geeignet, denn in allen Distributionen ist der Bootloader gleich, und die Befehle sind gleich, nur die Versionen können sich geringfügig unterscheiden.

Reparieren von Grub2 mit LiveCD

Zunächst benötigen Sie ein LiveCD-System mit der gleichen Bittiefe wie Ihr Linux-Mint-System, auf dem Grub installiert wurde. Und es spielt keine Rolle, ob es da ist GUI oder nicht. Normalerweise werden alle notwendigen Tools von allen Distributionen unterstützt. Und wir brauchen nur die Dienstprogramme fdisk, mount und chroot. Um den grub2-Bootloader wiederherzustellen, befolgen Sie einfach die folgenden Schritte.

Legen Sie zuerst das Medium mit dem LiveCD-System in das Laufwerk ein bzw USB-Anschluss wenn es ein Flash-Laufwerk ist. Um von einem Medium zu booten, müssen Sie möglicherweise zuerst in das BIOS-Menü gehen und die Boot-Priorität von einem externen Gerät einstellen.

Drücken Sie Del, F2, F8 oder Shift + F2, um das BIOS zu starten. Wechseln Sie im sich öffnenden Menü zur Registerkarte Boot und im Element Boot-Gerätepriorität oder 1. Startgerät Wählen Sie das gewünschte Gerät aus:


Schritt 2. Partitionen definieren

Vor der Wiederherstellung von Grub2 müssen wir verstehen, auf welcher Partition das System installiert ist und auf welcher Partition die Bootloader-Dateien waren oder sein sollten. Der einfachste Weg, dies zu tun, ist die Verwendung des Dienstprogramms fdisk.

Festplatte /dev/sdc: 14,5 GiB, 15514730496 Bytes, 30302208 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Byte / 512 Byte
Disklabel-Typ: dos
Datenträgerkennung: 0x38972eb0

Gerätestart Start Ende Sektorengröße ID-Typ
/dev/sdc1 * 23949312 29882367 5933056 2.8G 7 HPFS/NTFS/exFAT
/dev/sdc2 29882368 30302207 419840 205M b W95 FAT32
/dev/sdc3 13551616 23949311 10397696 5G 83 Linux
/dev/sdc4 2048 12621823 12619776 6G b W95 FAT32

In der Ausgabe des Programms sehen Sie - alle mit dem Computer verbundenen Partitionen, ihre Größe sowie das Dateisystem. Anhand dieser Daten müssen Sie verstehen, welche Partition in Ihrem System als Root verwendet wird. Wenn Sie das Markup manuell erstellt haben, ist es für Sie nicht schwierig zu verstehen, wo Sie es benötigen. Beispielsweise ist mein Bootloader auf der Partition /dev/sdc2 mit einer Größe von 205 MB mit dem Fat32-Dateisystem installiert, und das Stammverzeichnis - /dev/sdc3 - ist 5 GB groß.

Schritt 3. Mounten des Dateisystems

Jetzt müssen Sie Ihr Root-Dateisystem in das /mnt-Verzeichnis einhängen:

mount /dev/sdc3 /mnt

Mounten Sie den Ordner mit den Bootloader-Dateien:

mount /dev/sdc2 /mnt/boot

Schritt 4: Anmeldung vorbereiten

Um den Linux-Mint-Bootloader wiederherzustellen, verwenden wir Ihr Haupt-Linux-System, das auf dem LiveCD-Kernel läuft. Diese Option wird vom Chroot-Befehl bereitgestellt. Aber bevor Sie es verwenden, müssen Sie alle notwendigen Dinge manuell mit Ihrem Root-FS verbinden, das in / mnt gemountet ist Dateisysteme Interaktionen mit dem Kernel - /dev, /sys, /proc:

sudo mount --bind /dev /mnt/dev

$ sudo mount --bind /sys /mnt/sys

$ sudo mount --bind /proc /mnt/proc

Schritt 5. Aufrufen der Systemumgebung

Um Ihre Systemumgebung aufzurufen, verwenden Sie den Befehl:

Chroot /mnt /bin/bash

Der erste Parameter gibt den Ordner an, in dem das Root-Dateisystem gemountet wurde, und der zweite Parameter gibt die Shell an, die zum Interpretieren von Benutzerbefehlen verwendet wird.

Führen Sie dann diese Befehle aus, um Profilvariablen zu laden und zu aktualisieren:

$source /etc/profile

Jetzt befinden Sie sich in Linux Mint und können fast alle seine Programme ausführen. Dienste sind natürlich nicht verfügbar, da das Initialisierungssystem während des Bootens nicht verwendet wurde und daher die grafische Umgebung nicht verfügbar ist.

Schritt 6: Stellen Sie Grub2 wieder her

Jetzt Grub in Linux Mint wiederherstellen. Führen Sie einfach die folgenden Befehle aus. Installieren Sie zuerst den Bootloader neu Festplatte:

sudo grub2-install /dev/sdc

Hier ist /dev/sdc der Name Ihres Festplatte.

Lassen Sie uns nun eine neue Konfigurationsdatei erstellen:

sudo grub2-mkconfig -o /boot/grub/grub.cfg

Der Pfad zur Konfigurationsdatei kann etwas anders sein, seien Sie also vorsichtig.

Sie können auch den Befehl verwenden:

sudo grub-update

Aber es funktioniert nur auf Ubuntu und darauf basierenden Distributionen.

Schritt 7. Fertig

Verlassen Sie die Chroot-Umgebung mit dem Befehl:

Und starten Sie Ihren Computer neu:

Jetzt funktioniert alles.

Grub2 ohne LiveCD wiederherstellen

In einigen Fällen führt die Beschädigung von Grub nicht dazu, dass das Booten nicht vollständig unmöglich ist. Zum Beispiel, wenn der Bootcode im MBR intakt ist, das Programm aber nicht auf die Dateien auf dem Datenträger zugreifen kann. Dann öffnet der Loader statt eines Menüs eine Art Terminal mit der Meldung: Minimal BASH like line editing is supported. Mit diesem Terminal können wir versuchen, das System zu booten. Das Wiederherstellen von grub2 ohne Live-CD ist nicht so schwierig, obwohl es schwieriger ist als die erste Methode.

Sie müssen lediglich wissen, auf welchem ​​​​Gerät sich das System befindet, und den Linux-Kernel selbst. Die Syntax und die Befehle sind den normalen Bash-Befehlen sehr ähnlich, unterscheiden sich jedoch geringfügig in ihrem Zweck. Im anfänglichen Wiederherstellungsmodus sind nur wenige Befehle verfügbar, dies sind ls, insmod, set und unset.

Um eine Liste der an Ihren Computer angeschlossenen Laufwerke anzuzeigen, führen Sie einfach Folgendes aus:

(hd2, msdos1, hd2, msdos2, hd2, msdos3, hd2, msdos4)

Es ist wichtig zu beachten, dass Festplatten und Partitionen in Grub etwas anders benannt sind. Hier hat jede Festplatte einen Namen hd und eine Festplattennummer, z. B. hd0 oder hd1. Abschnitte werden beginnend mit Eins benannt.

Sie können immer nur mit einem Abschnitt gleichzeitig arbeiten. Um die Partition festzulegen, mit der gearbeitet werden soll, müssen Sie sie in der Root-Variablen angeben. Der set-Befehl wird verwendet, um Umgebungsvariablen zu setzen. Zum Beispiel befinden sich meine Grub-Bootloader-Dateien auf /dev/sdc2, dh hd2,2:

setze root=(hd2,2)

Laden Sie eine normale Grub-Shell:

insmod ext2
$ insmod normal
$ normal

Danach können Sie den Kernel finden und ausführen. Verwenden Sie dazu den Linux-Befehl. Der Kernel befindet sich normalerweise im Ordner /boot:

linux /boot/vmlinuz

Und schließlich laden wir:

Nachdem das System gestartet wurde, müssen Sie nur noch ein Terminal öffnen und die folgenden Befehle ausführen, um die Reparatur des Linux-Mint-Bootloaders abzuschließen:

sudo grub2-install /dev/sda

$ sudo grub2-mkconfig -o /boot/grub/grub.cfg

Das ist alles.

Ergebnisse

Das Wiederherstellen des Linux-Mint-Bootloaders wird Ihnen jetzt unter keinen Umständen Probleme bereiten, unabhängig davon, ob Sie eine Festplatte mit einer anderen Distribution haben oder nicht. Wenn Sie Fragen haben, schreiben Sie in die Kommentare!

GRUB2 ist ein Kernel-Loader für mehrere Systeme und Plattformen für Betriebssysteme. Wird hauptsächlich zum Booten von Linux-Kernels verwendet. Ermöglicht es Ihnen, mehrere installierte Betriebssysteme auf einem Computer zu haben und beim Einschalten des Computers den Start des gewünschten Betriebssystems auszuwählen.

GRUB2 ist ein neuer Zweig und unterscheidet sich radikal von GRUB Legacy, basiert auf PUPA und ist modular aufgebaut. Unterstützt viele Dateisysteme, funktioniert mit BIOS und EFI.

Installation von GRUB2:

Ich werde nicht viel über die Installation schreiben, es kann auf verschiedenen Distributionen unterschiedlich sein, normalerweise sieht es so aus:

# grub-install /dev/sda

/dev/sda ist ein Gerät, keine Partition.

# Grub installieren

Es gibt auch eine Reihe von Optionen, für jeden Fall, Versionen von GRUB2 und Distributionskit, sie können sich unterscheiden, es macht keinen Sinn, sie zu beschreiben. Die Neuinstallation unterscheidet sich nicht von der Installation und wird mit dem Befehl grub-install durchgeführt.

Nach der Installation ist der Bootloader bereit, im Konsolenmodus zu arbeiten, um dies zu beheben, müssen Sie eine Konfigurationsdatei generieren, mehr dazu weiter unten.

Anpassung:

Standardmäßig befindet sich die Konfigurationsdatei hier - /boot/grub/grub.cfg . Wenn die Datei mit grub-mkconfig generiert wurde, kann sie nicht bearbeitet werden und wird beim nächsten Update überschrieben. Und wenn Sie sich dennoch entscheiden, die Bootloader-Datei selbst zu konfigurieren, dann löschen Sie die generierte Version und erstellen Sie eine neue, selbst oder anhand von Beispielen.

Automatische Konfiguration:

Beginnen wir mit der einfachsten, die automatische Generierung erfolgt durch den Befehl:

# grub-mkconfig

Dieser Befehl generiert eine grub.cfg-Datei. Das Paket os-prober wird benötigt, um fremde Betriebssysteme automatisch zu erkennen. Grundsätzlich erfolgt die Konfiguration von grub-mkconfig in der Datei /etc/default/grub sowie in den Verzeichnisdateien /etc/grub.d/. Sie können Ihre eigenen Menüpunkte in der Datei /etc/grub.d/40_custom oder /boot/grub/custom.cfg hinzufügen. Damit die Änderungen wirksam werden, müssen Sie den folgenden Befehl ausführen:

# grub-mkconfig -o /boot/grub/grub.cfg

Der Befehl erstellt die Datei /boot/grub/grub.cfg und überprüft die Konfigurationsdateien auf Fehler. Die Konfigurationsdatei /etc/default/grub enthält Standardoptionen, jede Option hat einen Kommentar (kurze Beschreibung). Englische Sprache. Nachfolgend finden Sie eine Beschreibung einiger Parameter aus der Konfigurationsdatei:

  • GRUB_DEFAULT – Wählen Sie diese Option, um das Standardmenüelement zu laden. Kann nach Nummer oder Name ausgewählt werden.
  • GRUB_TIMEOUT – Gibt die Verzögerungszeit vor dem Laden des Standardelements an.
  • GRUB_HIDDEN_TIMEOUT – Wartezeit, bevor eine Ladeliste für Menüelemente angezeigt wird.
  • GRUB_DISABLE_OS_PROBER - Entfernt die Überprüfung auf installierte Betriebssysteme.
  • GRUB_GFXMODE - Verantwortlich für die Bildschirmauflösung. Der Befehl vbeinfo kann die verfügbaren Berechtigungsoptionen in der GRUB2-Befehlszeile auflisten.
  • GRUB_BACKGROUND - Pfad zum Hintergrundbild.
  • GRUB_THEME - Pfad zu Themen.

Manuelle Konfiguration:

Die GRUB2-Konfigurationsskriptsprache ist eine vereinfachte UNIX-Shell. Das Skript kann sowohl einfach als auch sehr komplex sein, die Komplexität des Skripts ist durch nichts begrenzt. Das von grub-mkconfig generierte Skript ist in den meisten Fällen bootfähig, aber umständlich.

Durch die manuelle Konfiguration von GRUB2 erhalten Sie Zugriff auf alle Funktionen, und durch das Vereinfachen und Entfernen von redundantem Code können Sie eine größere Stabilität, Zuverlässigkeit und Geschwindigkeit erreichen.

Weitere Informationen zur GRUB2-Konfiguration mit Konfigurationscodebeispielen und anderen Informationen finden Sie unter

Immer öfter tauchen in den Foren Fragen auf:

Wie deinstalliere ich Ubuntu und stelle den Bootloader für Windows wieder her?
Wie ersetzt man grub durch Windows-Bootloader?
Installation Ubuntu in der Nähe mit Windows 8?
Ubuntu neben Win 8, Windows-Bootloader sieht Ubuntu nicht.
In diesem Zusammenhang habe ich beschlossen, eine Notiz über die Wiederherstellung des Grub-Bootloaders zu schreiben, darüber, wie man Linux richtig entfernt, den Windows-Bootloader und den MBR wiederherstellt.


1 Weg. Wir haben eine Live-CD/USB mit einer Linux-Distribution.

1. Wir brennen Live-CDs, Live-USBs von fast jeder Linux-Distribution, sei es Ubuntu, Mint oder etwas anderes.

2. Booten Sie von Live-CD / USB, öffnen Sie das Terminal (Strg + T) und sehen Sie sich die Festplattenpartitionstabelle an:
$ sudo fdisk -l


Neben fdisk gibt es viele verschiedene Dienstprogramme zum Anzeigen und Bearbeiten der Partitionstabelle: cfdisk zum Beispiel.

Die Tabelle zeigt, dass Linux auf der Partition /dev/sda1 installiert ist, ein Sternchen daneben ist ein Zeichen dafür, dass die Partition bootfähig ist.

3. Nun muss diese Partition gemountet werden:
$ sudo mount /dev/sda1 /mnt

4. Die Partition ist gemountet, also haben wir Zugriff darauf.

Dazu müssen Sie grub auf der Festplatte installieren (ABER NICHT AUF DER FESTPLATTENPARTITION!), da wir den MBR wiederherstellen:
$ sudo grub-install --root-directory=/mnt /dev/sda
Dabei ist /mnt das Root-Verzeichnis, das wir gemountet haben, /dev/sda ist der Name der Festplatte.
Nachdem der MBR wiederhergestellt ist, wird Grub installiert.

Lage:

Sie haben beispielsweise drei Systeme auf Ihrem Computer: Windows 7 Ultimate, Windows XP Professional und Linux Mint 14.
Sie haben Windows satt, Sie haben es zerstört, und aus irgendeinem Grund sind Windows-Partitionen in der Grub-Liste geblieben.

Wenn diese Situation eintritt, müssen Sie eine neue Bootloader-Konfigurationsdatei generieren. Es scannt das System erneut, ermittelt die installierten Betriebssysteme auf dem Computer und generiert eine Konfiguration mit neuen Bootloader-Menüoptionen.

1. In der Konsole schreiben wir:
$ sudo update-grub --output=/mnt/boot/grub/grub.cfg
wo update-grub - die Bootloader-Konfiguration aktualisiert, zeigt der Parameter --output auf die Grub-Konfigurationsdatei.

2. Nach den durchgeführten Vorgängen können Sie neu starten und von der Festplatte booten (natürlich gehen Sie zum BIOS).
Nun, das ist alles.
Hier ist ein Beispiel dafür, wie mein Grub-Menü aussieht, nur Debian ist installiert:


1. Booten Sie erneut von Live-CD / USB, sehen Sie sich die Abschnitte an:
$ sudo fdisk -l

2. Mounten Sie die Partition, auf der Linux installiert ist, und einige andere wichtige Partitionen für die Arbeit:
$ sudo mount /dev/sda1 /mnt
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /sys /mnt/sys

Wenn sich die /boot-Partition auf einer separaten Festplattenpartition befindet, muss sie ebenfalls gemountet werden, zum Beispiel:
$ sudo mount --bind /boot /mnt/boot

3. Kopieren Sie die Standard-Grub-Datei „a“ (Sie können diesen Schritt überspringen):
$ sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

4. Jetzt müssen Sie in die Chroot-Umgebung gehen:
$ sudo chroot /mnt

5. Grub installieren:
# grub-install /dev/sda

Tritt ein Fehler auf, hilft der Befehl:
# grub-install --recheck /dev/sda

6. Wir verlassen die Chroot, hängen die Partitionen aus und starten neu:
#Ausfahrt
$ sudo umount /mnt /dev
$ sudo umount /mnt/proc
$ sudo umount /mnt
$ sudo umount /mnt/boot #falls erforderlich
$ sudo neu starten

Lage:

Sie haben keinen zweiten Computer, um Live-CD / USB zu brennen, also müssen Sie ihn irgendwie abschrauben (ich selbst hatte eine solche Situation nach dem Experiment Windows-Installation 8).

Ich sehe nur einen schwarzen Bildschirm und:
grub>

Diese Wiederherstellung ist die schwierigste (Rettungsmodus), aber wenn sie gemäß den Anweisungen durchgeführt wird, sollte alles gut gehen.
Im Rettungsmodus sind nur vier Befehle verfügbar:
ls
einstellen
ungesetzt
insmod

1. Wir müssen sehen, welche Partitionen unser Grub sieht:
>ls
so etwas wird angezeigt:
(hd0) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

2. Etwas schief zeigte uns Rescue Grub Festplattenpartitionen, angeblich mit dem Dateisystem msdos.
Aber es ist nicht wichtig.
Die Festplattenanzahl von Grub beginnt bei Null und die Partitionsanzahl beginnt bei Eins.
Basierend auf unserer Ausgabe können wir feststellen, dass wir zwei Partitionen auf der ersten Festplatte und zwei auf der zweiten haben.
Experimentell werden wir durch Raten feststellen, wo sich unser installiertes Linux befindet.

3. Angenommen, die Partition (hd0,1) ist genau das, was wir brauchen (das Präfix msdos kann weggelassen werden).
Wir schreiben:
> setze Präfix=(hd0,1) /boot/grub
> setze root=(hd0,1)

Somit erhalten wir Zugriff auf die Festplatte.

4. Schreiben Sie einen Befehl:
> ls /boot/grub
Wenn es eine Dateiausgabe gibt, hat alles geklappt, aber wenn es nichts gibt, haben wir den Abschnitt verpasst, wir müssen uns andere ansehen, zum Beispiel (hd1,0) .

5. Jetzt schreiben wir:
> insmod ext2
>Insmod normal
> normal

6. Danach lädt Grub, erkennt Betriebssysteme und die Wiederherstellung ist fast abgeschlossen.

7. Wir laden Linux, im Terminal schreiben wir:
$sudo Grub installieren/dev/sda

Alle. grub wird in den MBR geschrieben und es sollte keine weiteren Probleme geben.

Original: GRUB 2: Heilen Sie Ihren Bootloader
Autor: Mayank Sharma
Erscheinungsdatum: 10. September 2015
Übersetzung: A. Panin
Übertragungsdatum: 16. Dezember 2015

Es gibt nicht viele Dinge, die so nervig sein können wie die Unfähigkeit des Bootloaders, nervig zu sein. Aus diesem Grund werden wir lernen, alle Funktionen des GRUB 2-Bootloaders maximal zu nutzen und ihn funktionsfähig zu halten.

Wofür ist das?

    GRUB 2 ist der beliebteste Bootloader, der in fast jeder Linux-Distribution verwendet wird.

    Der Bootloader ist eine wichtige Softwarekomponente, die jedoch in einigen Fällen möglicherweise nicht richtig funktioniert.

    GRUB 2 ist ein erweiterbarer und flexibler Bootloader, der viele Konfigurationsoptionen unterstützt.


Systemisch Linux-Bootloader namens GRUB 2 ist eine hochwertige und flexible Softwarekomponente. Obwohl dieser Bootloader nicht der einzige Bootloader ist, der Linux unterstützt, ist er der beliebteste und wird von fast allen bekannten Distributionen verwendet. Der Ablauf des GRUB 2 Bootloaders kann in zwei Phasen unterteilt werden. Zuerst öffnet es ein Menü mit den Namen aller auf dem Computer installierten Betriebssysteme und ermöglicht Ihnen, eines davon auszuwählen. Zweitens lädt es den Linux-Kernel, wenn Sie über das Boot-Menü ein Betriebssystem auswählen, das auf dem entsprechenden Kernel basiert.

Auf einen Bootloader kann man bei einem Betriebssystem, das auf dem Linux-Kernel basiert, natürlich nicht verzichten. Gleichzeitig ist der Bootloader vielleicht die mysteriöseste Komponente der Linux-Distribution. Als Teil dieses Handbuchs stellen wir Ihnen einige der Funktionen dieses Bootloaders vor und zeigen Ihnen, wie Sie Probleme lösen können, die mit seiner fehlerhaften Funktionsweise zusammenhängen.

Die wichtigste Komponente des GRUB 2-Bootloaders ist eine Reihe von Textdateien sowie mehrere Shell-Skripte. Die erste Komponente dieses Satzes, mit der es sich lohnt, sich vertraut zu machen, befindet sich im Verzeichnis /etc/default/grub. Das Textdatei, mit dem Sie die Werte von Konfigurationsvariablen und anderen Parametern festlegen können GRUB-Menü 2 (siehe "Benutzerdefinierte Startmenüoptionen").

Ein weiteres wichtiges Verzeichnis von GRUB 2 ist das Verzeichnis /etc/grub.d. Dieses Verzeichnis enthält alle Skripte, die die Beschreibung der einzelnen Menüpunkte bilden. Diesen Skriptnamen müssen zwei Ziffern vorangestellt werden. Diese Präfixe sollen die Reihenfolge festlegen, in der die Skripte ausgeführt werden, sowie die Reihenfolge, in der die entsprechenden Elemente im Menü von GRUB 2 erscheinen.Zuerst wird die Datei 00_header gelesen, gefolgt vom Parsen der Datei /etc/default /grub Konfigurationsdatei. Anschließend werden mit dem Skript 10_linux die Menüpunkte für die Linux-Kernel des aktuellen Systems generiert. Dieses Skript erstellt einen normalen Boot-Menüpunkt für den Linux-Kernel und einen Systemwiederherstellungs-Menüpunkt für denselben Linux-Kernel von der /boot-Partition.

Anschließend werden Skripts ausgeführt, um nach anderen Betriebssystemen zu suchen, z. B. 30_os-prober und 40_custom . Das Skript os-prober erstellt Menüelemente für andere Kernel und andere Betriebssysteme, die sich auf anderen Partitionen befinden Festplatte. Es erkennt installierte Linux-, Windows-, BSD- und Mac OS X-Systeme.Wenn Sie eine Partitionskonfiguration auf Ihrer Festplatte verwenden, die zu exotisch ist, als dass ein os-prober-Skript sie als installierte Distribution erkennen könnte, können Sie eine hinzufügen Beschreibung dieser Distribution in das Skript 40_custom (siehe " Custom Boot Menu Items").

GRUB 2 erfordert keine manuelle Bearbeitung von Konfigurationsdateien, um Systemstartoptionen zu ändern: Stattdessen können Sie mit dem Dienstprogramm grub2-mkconfig eine Konfigurationsdatei /boot/grub/grub.cfg generieren. Mit diesem Dienstprogramm können Sie Skripte aus dem Verzeichnis /etc/grub.d sowie aus der Konfigurationsdatei /etc/default/grub analysieren, um automatisch eine Beschreibung der Systemstartparameter zu generieren.

Bootloader im Grafikmodus wiederherstellen

Die überwiegende Mehrheit der Probleme im Zusammenhang mit dem GRUB 2-Bootloader kann einfach durch Drücken einer einzigen Taste der Boot Repair-Anwendung gelöst werden. Diese schlanke, einfache Anwendung hat eine intuitive Benutzeroberfläche und ermöglicht Ihnen das Scannen und Erkennen verschiedene Typen Festplatten und Festplattenpartitionsschemata und kann auch den Speicherort ermitteln und die auf diesen Partitionen installierten Betriebssysteme korrekt identifizieren. Das Dienstprogramm kann als arbeiten herkömmliche Computer mit Master Boot Record (Master Boot Record, MBR) und auf neuen Computern mit UEFI- und GUID-Partitionstabellen (GUID Partitionstabelle, GPT).

Der einfachste Weg, das Boot Repair-Dienstprogramm zu verwenden, besteht darin, es als Teil einer Ubuntu-Live-Sitzung zu installieren. Führen Sie die Live-Ubuntu-Distribution auf dem Computer mit dem defekten Bootloader aus und installieren Sie die Boot Repair-Anwendung, indem Sie zuerst das entsprechende PPA mit dem folgenden Befehl hinzufügen:

Sudo add-apt-repository ppa:yannubuntu/Boot Repair

Aktualisieren Sie danach die Liste der Repositories mit dem Befehl:

Sudo apt-get update

Schließlich können Sie die Anwendung mit dem Befehl installieren:

Sudo apt-get install -y Boot Repair

Nachdem der Installationsvorgang abgeschlossen ist, können Sie die Anwendung starten. Es scannt Ihre Festplatte, bevor es eine Benutzeroberfläche anzeigt, die aus mehreren Schaltflächen besteht. Um die von der Anwendung vorgeschlagenen Aktionen auszuführen, können Sie einfach auf die Schaltfläche „Empfohlene Reparatur“ klicken, wodurch die meisten Probleme im Zusammenhang mit dem Bootloader behoben werden. Nachdem Sie Ihren System-Bootloader wiederhergestellt haben, zeigt das Dienstprogramm einen Link an, den Sie sich merken sollten. Wenn Sie auf diesen Link klicken, können Sie sehen genaue Informationüber Ihre Laufwerke, einschließlich ihrer Partitionen, sowie über den Inhalt wichtiger GRUB 2-Konfigurationsdateien, wie die im Verzeichnis /etc/default/grub und die Datei /boot/grub/grub.cfg. Wenn die Anwendung Ihren Bootloader nicht wiederherstellen kann, können Sie diesen Link im Forum Ihrer Distribution posten, damit Besucher sich mit dem Partitionsschema Ihrer Festplatte vertraut machen und nützliche Tipps geben können.

Bootloader wiederherstellen

Probleme im Zusammenhang mit dem Bootloader GRUB 2 können das System in verschiedene Zustände bringen. Der Text, der anstelle des Bootloader-Menüs auf dem Bildschirm angezeigt wird, gibt den aktuellen Status des Systems an. Wenn das System mit dem Prompt grub> nicht bootet, kann daraus geschlossen werden, dass die GRUB 2-Module geladen wurden, aber die Konfigurationsdatei grub.cfg nicht geladen werden konnte. Diese Eingabeaufforderung wird in einer voll funktionsfähigen Bootloader-Shell angezeigt, mit der Sie eine ganze Reihe von Aktionen ausführen können, die darauf abzielen, das System zu booten. Wenn Sie die Eingabeaufforderung grub rescue> sehen, ist es leicht zu schließen, dass der Bootloader seine Module sowie Dateien, die Systemstartoptionen beschreiben, nicht finden kann. Falls jedoch nur das Wort „GRUB“ auf dem Bildschirm Ihres Computers angezeigt wird, können Sie den enttäuschenden Schluss ziehen, dass der Bootloader nicht einmal die grundlegenden Informationen erkennen konnte, die normalerweise in der Hauptdatei gespeichert sind Boot-Record.

Sie können diese Probleme mit GRUB 2 beheben, indem Sie entweder die Live-CD einer beliebigen Distribution oder die Shell von GRUB 2 verwenden.Wenn Sie Glück haben und Ihr Bootloader die Begrüßung grub> anzeigt, können Sie die volle Leistung der integrierten Shell von GRUB 2 verwenden, um sie zu beheben irgendwelche Fehler.

Die folgenden Befehle funktionieren sowohl für die Eingabeaufforderung grub> als auch für die Eingabeaufforderung grub rescue>. Mit dem Befehl set pager=1 können Sie den Text-Scrolling-Mechanismus verwenden, um zu verhindern, dass er automatisch scrollt. Sie können auch den Befehl ls verwenden, mit dem Sie alle sichtbaren GRUB 2-Festplattenpartitionen auf ähnliche Weise auflisten können:

Grub> ls (hd0) (hd0,msdos5) (hd0,msdos6) (hd1,msdos1)

Wie Sie sehen, können Sie mit diesem Befehl Informationen über das Layout der Festplattenpartitionstabelle zusammen mit Informationen über die Partitionen selbst anzeigen.

Alternativ können Sie den Befehl ls auf jeder Festplattenpartition verwenden, um die Partition mit Ihrem Root-Dateisystem zu finden:

Grub> ls (hd0,5)/ lost+found/ var/ etc/ media/ bin/ initrd.gz boot/ dev/ home/ selinux/ srv/ tmp/ vmlinuz

Sie können die ID des msdos-Partitionstyps beim Schreiben des Partitionsnamens verwerfen. Wenn Sie den Schrägstrich am Ende des Partitionsnamens weglassen und beispielsweise einen Befehl wie ls (hd0,5) ausführen, erhalten Sie Informationen über die Partition, einschließlich Informationen über den Typ des Dateisystems, seine Gesamtgröße und Zeitpunkt der letzten Änderung. Wenn Sie mehrere Root-Partitionen auf Ihrer Festplatte haben, können Sie den Inhalt der Datei /etc/issue mit dem Befehl cat lesen, um die Distribution auf die gleiche Weise zu identifizieren: cat (hd0,5)/etc/issue .

Angenommen, Sie haben das richtige Root-Dateisystem auf der Partition (hd0,5) gefunden, sollten Sie sicherstellen, dass dieses Dateisystem das Verzeichnis /boot/grub und ein gewünschtes Linux-Kernel-Image namens vmlinuz-3.13.0-24-generic enthält herunterladen. Um das System jetzt zu booten, müssen Sie nur noch die folgenden Befehle eingeben:

grub> set root=(hd0,5) grub> linux /boot/vmlinuz-3.13.0-24-generic root=/dev/sda5 grub> initrd /boot/initrd.img-3.13.0-24-generic

Der erste Befehl teilt dem GRUB 2-Bootloader Informationen über die Festplattenpartition mit, auf der sich die Distributionsdateien zum Booten befinden. Der zweite Befehl übergibt ihm Informationen über den Speicherort der Kernel-Image-Datei innerhalb der angegebenen Partition schwer Datenträger sowie Informationen zum Speicherort des Root-Dateisystems. In der letzten Zeile können Sie den Speicherort der anfänglichen Disk-Image-Datei angeben, deren Inhalt im Speicher gespeichert und während des Kernel-Boot-Prozesses verwendet wird. Sie können die automatische Vervollständigungsfunktion verwenden, die Ihnen viel Zeit und Mühe bei der Eingabe der Kernel-Dateinamen und des anfänglichen Disk-Images erspart.

Die Eingabe dieser Zeilen muss nach der nächsten grub>-Begrüßung mit einem Boot-Befehl enden, der GRUB 2 veranlasst, das angegebene Betriebssystem zu booten.

Ihre Schritte sollten etwas anders sein, wenn Sie auf die Grub-Rescue>-Begrüßung stoßen. Da der Systemlader keines der erforderlichen Module erkennen und laden konnte, müssen Sie sie manuell laden:

Grub-Rettung> set root=(hd0,5) Grub-Rettung> insmod (hd0,5)/boot/grub/normal.mod Grub-Rettung> normales Grub> insmod linux

Offensichtlich müssen Sie, nachdem Sie den Befehl ls erfolgreich verwendet haben, um die Linux-Root-Partition zu finden, diese Partition wie zuvor mit dem Befehl set markieren. Als nächstes müssen Sie das normale Modul laden, wonach es mit einem Gruß grub> in den Standardmodus zurückkehrt. Mit dem folgenden Befehl können Sie das Linux-Modul laden, falls es nicht automatisch geladen wurde. Nach dem Laden dieses Moduls können Sie fortfahren, dem Systemlader den Speicherort der Kernel-Image-Dateien und des anfänglichen Disk-Image mitzuteilen und das Booten der Distribution mit dem Boot-Befehl einzuleiten.

Vergessen Sie nach dem erfolgreichen Herunterladen der Distribution nicht, dass Sie die GRUB 2-Konfigurationsdatei mit dem folgenden Befehl neu generieren müssen:

Grub-mkconfig -o /boot/grub/grub.cfg

Sie müssen auch eine Kopie des Bootloaders mit dem Befehl in den MBR installieren:

GRUB2 und UEFI

Maschinen mit UEFI-Firmware (d. h. praktisch alle Maschinen, die in den letzten Jahren verkauft wurden) haben den Prozess der Diagnose von Problemen mit dem GRUB 2-Bootloader um eine neue Ebene der Komplexität erweitert.mit UEFI-Firmware unterscheidet sich nicht wesentlich von dem Verfahren zum Wiederherstellen derselben Bootloader auf einem Computer ohne UEFI-Firmware, führen neue Firmware-Versionen verschiedene Änderungen ein, die zu unterschiedlichen Ergebnissen des Bootloader-Wiederherstellungsprozesses führen.

Auf UEFI-basierten Systemen müssen Sie nichts im MBR installieren. Stattdessen müssen Sie einen EFI-fähigen Linux-Bootloader auf der EFI-Systempartition (ESP) installieren und diesen Bootloader mit einem Tool wie efibootmgr unter Linux oder bcdedit unter Windows als Standard auswählen.

Im Moment sollte der GRUB 2-Bootloader während des Installationsprozesses einer der gängigen Linux-Distributionen korrekt installiert werden, wodurch letztere erfolgreich mit Windows 8 koexistieren können. Falls Sie jedoch als Ergebnis einen nicht funktionierenden Bootloader erhalten kann das System mit einem Live-Image einer Linux-Distribution wieder funktionsfähig machen. Wenn Sie ein Live-Distributions-Image booten, sollten Sie sicherstellen, dass Sie im UEFI-Modus booten. Das Startmenü des Computers sollte zwei Elemente für jedes Wechselmedium enthalten – zum Booten im normalen Modus und im UEFI-Modus. Verwenden Sie den letzteren Modus, um über Dateien im Verzeichnis /sys/firmware/efi/ auf EFI-Variablen zuzugreifen.

Mounten Sie in der Live-Umgebung das Root-Dateisystem der fehlgeschlagenen Distribution, wie in diesem Handbuch beschrieben. Sie müssen auch die EFI-Systempartition (ESP) mounten. Angenommen, die angegebene Partition entspricht der Gerätedatei /dev/sda1 , dann können Sie diese Partition mit dem folgenden Befehl einhängen:

sudo mount /dev/sda1 /mnt/boot/efi

Das efivars-Kernelmodul muss dann mit dem Befehl modprobe efivars geladen werden, bevor eine Chroot-Umgebung mit dem Root-Dateisystem der ausgefallenen Distribution erstellt wird, wie in diesem Handbuch beschrieben.

Wenn Sie jetzt eine Fedora-Distribution verwenden, können Sie den Bootloader mit dem folgenden Befehl neu installieren:

Yum installiere grub2-efi shim neu

Danach sollten Sie den Befehl ausführen, um eine neue Bootloader-Konfigurationsdatei zu generieren:

Grub2-mkconfig -o /boot/grub2/grub.cfg

Benutzer der Ubuntu-Distribution können denselben Vorgang mit dem Befehl ausführen:

apt-get install --reinstall grub-efi-amd64

Nachdem Sie den Bootloader wiederhergestellt haben, sollten Sie die Chroot-Umgebung verlassen, alle gemounteten Festplattenpartitionen aushängen und den Computer neu starten, indem Sie zum GRUB 2-Menü gehen.

Um ein Skript aus dem Verzeichnis /etc/grub.d zu deaktivieren, müssen Sie nur das Ausführungsbit entfernen, indem Sie einen ähnlichen Befehl wie den Befehl chmod -x /etc/grub.d/20_memtest86+ verwenden, mit dem Sie die Datei „Memory Test"-Zeile aus dem Boot-Menü

Kumpel, wo ist mein GRUB?

Ein positives Merkmal des GRUB 2-Bootloaders ist die Möglichkeit, ihn bei Bedarf neu zu installieren. Für den Fall, dass Sie beispielsweise den GRUB 2-Bootloader verlieren, nachdem Windows ihn durch einen eigenen Bootloader ersetzt hat, können Sie GRUB 2 wiederherstellen, indem Sie einige Operationen in der Live-Umgebung ausführen. Angenommen, Sie haben die Distribution auf der Festplattenpartition installiert, die durch die Gerätedatei /dev/sda5 dargestellt wird, können Sie den GRUB 2-Bootloader neu installieren, indem Sie zuerst ein Verzeichnis erstellen, um das Root-Dateisystem der Distribution mit dem folgenden Befehl einzuhängen:

sudo mkdir -p /mnt/distro

Danach sollten Sie das Dateisystem von dieser Partition mit dem folgenden Befehl mounten:

Mounten Sie /dev/sda5 /mnt/distro

Danach können Sie den GRUB 2-Bootloader mit dem Befehl neu installieren:

Grub2-install --root-directory=/mnt/distro /dev/sda

Dieser Befehl überschreibt die Informationen im Master-Boot-Record-Bereich des /dev/sda-Geräts, das das Dateisystem der installierten Linux-Distribution sowie GRUB-2-Bootloader-Dateien wie grubenv und device.map enthält.

Es gibt ein weiteres Problem, das häufig auftritt, wenn Computer mit mehreren installierten Distributionen betrieben werden. Bei der Installation einer neuen Linux-Distribution muss deren Bootloader Informationen über bereits installierte Distributionen abrufen. Für den Fall, dass er nicht extrahiert solch eine Information, können Sie einfach die neueste installierte Distribution herunterladen und den Befehl ausführen:

Grub2-mkconfig

Bevor Sie diesen Befehl ausführen, sollten Sie sicherstellen, dass die Partitionen mit den Root-Dateisystemen der installierten Distributionen, die nicht im Bootmenü angezeigt werden, gemountet sind. Wenn die Distribution, die Sie dem Boot-Menü hinzufügen möchten, mit den Dateisystemen /root und /home funktioniert, die sich auf separaten Festplattenpartitionen befinden, sollte nur das Dateisystem /root eingehängt werden, bevor Sie den Befehl grub2-mkconfig ausführen.

Obwohl der GRUB 2-Bootloader die meisten Distributionen erkennen kann, erfordert der Versuch, einen Eintrag für die Fedora-Distribution zum Bootloader-Menü hinzuzufügen, wenn eine Ubuntu-Distribution ausgeführt wird, einen zusätzlichen Schritt. Wenn Sie verwendet haben Standardeinstellungen Während der Installation einer Fedora-Distribution erstellt das Fedora-Installationsprogramm LVM-Partitionen. In diesem Fall müssen Sie, bevor Sie das mit dem GRUB 2-Bootloader gelieferte os-prober-Skript aufrufen, um die Fedora-Distribution zum Boot-Menü hinzuzufügen, zuerst den lvm2-Treiber mit dem Softwarepaketverwaltungssystem der Distribution mit einem ähnlichen Befehl installieren:

sudo apt-get install lvm2

Schnelle Lösung

Wenn die Ausführung des Befehls grub2-install keine positiven Änderungen bringt und Sie die Linux-Distribution nicht booten können, müssen Sie den Bootloader komplett neu installieren und konfigurieren. Um diese Aufgabe zu erledigen, können Sie das nützliche Hilfsprogramm chroot verwenden, mit dem Sie das Stammverzeichnis der Live-Umgebung vorübergehend in das Stammverzeichnis ändern können installiertes System Linux, das wiederhergestellt werden muss. Sie können für diesen Zweck die Live-CD jeder Linux-Distribution verwenden, die über das Chroot-Dienstprogramm verfügt. Sie sollten jedoch darauf achten, dass Sie eine Live-CD für die gleiche Architektur verwenden. Zentralprozessor, das ist das auf der Festplatte installierte Distributionskit. Wenn Sie also das Chroot-Dienstprogramm verwenden möchten, um ein installiertes 64-Bit-System wiederherzustellen, benötigen Sie eine Live-CD für 64-Bit-Systeme.

Nach dem Booten der Live-Umgebung müssen Sie als Erstes die Festplattenpartitionen der Maschine überprüfen. Verwenden Sie den Befehl fdisk -l, um alle Partitionen auf der Festplatte aufzulisten und die Partitionsnummer herauszufinden, auf der der Bootloader GRUB 2 installiert ist und die Sie wiederherstellen möchten.

Nehmen wir an, Sie müssen den Bootloader einer Distribution wiederherstellen, die auf einer Festplattenpartition installiert ist, die durch die Gerätedatei /dev/sda5 repräsentiert wird. Öffnen Sie einen Terminalemulator und mounten Sie diese Partition:

sudo mount /dev/sda5 /mnt

Jetzt müssen Sie die Verzeichnisse mounten, die dem GRUB 2-Bootloader zur Verfügung stehen müssen, um andere auf dem Computer installierte Betriebssysteme korrekt zu erkennen:

$ sudo mount --bind /dev /mnt/dev $ sudo mount --bind /dev/pts /mnt/dev/pts $ sudo mount --bind /proc /mnt/proc $ sudo mount --bind /sys /mnt /sys

Jetzt können Sie die Live-Umgebung verlassen und mit dem chroot-Dienstprogramm in die Umgebung der Distribution wechseln, die auf der Partition installiert ist, die durch die Gerätedatei /dev/sda5 repräsentiert wird:

$ sudo chroot /mnt /bin/bash

Alles ist bereit zum Installieren, Überprüfen und Aktualisieren des Bootloaders GRUB 2. Um den Bootloader wie zuvor neu zu installieren, verwenden Sie den Befehl:

sudo grub2-install /dev/sda

Da sich der Befehl grub2-install nicht auf die Konfigurationsdatei grub.cfg auswirkt, müssen Sie sie manuell mit dem folgenden Befehl erstellen:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Diese Befehlsfolge sollte helfen, Bootloader-Probleme zu beheben. Ihr Computer verfügt nun über eine neue Kopie des GRUB 2-Bootloaders mit einer Liste aller darauf installierten Betriebssysteme und Distributionen. Bevor Sie den Computer neu starten, müssen Sie die Chroot-Umgebung verlassen und alle verwendeten Dateisysteme in der folgenden Reihenfolge aushängen:

$ exit $ sudo umount /mnt/sys $ sudo umount /mnt/proc $ sudo umount /mnt/dev/pts $ sudo umount /mnt/dev $ sudo umount /mnt

Danach können Sie die Maschine sicher neu starten, die wieder unter der Kontrolle des GRUB 2-Bootloaders stehen sollte, der unter Ihrer vollständigen Kontrolle steht!

Benutzerdefinierte Startmenüoptionen

Der Bootloader GRUB 2 verwendet große Menge Konfigurationsvariablen. Dieser Abschnitt beschreibt einige dieser Variablen, die Sie wahrscheinlich ändern möchten, wenn Sie den Inhalt der Konfigurationsdatei /etc/default/grub überprüfen. Mit der GRUB_DEFAULT-Variable können Sie das Boot-Menüelement angeben, das standardmäßig ausgewählt wird. Seine Werte können Zahlen sein, wie z. B. die Zahl 0, die dem ersten Menüpunkt entspricht, sowie die Zeichenfolge "gespeichert", die automatisch den Menüpunkt auswählt, der beim letzten Start des Computers verwendet wurde. Mit der Variable GRUB_TIMEOUT können Sie die Wartezeit vor dem Booten mit dem Standardmenüelement festlegen, und mit der Variablen GRUB_CMDLINE_LINUX können Sie eine Liste von Optionen festlegen, die an jeden Linux-Kernel weitergegeben werden, wenn die entsprechenden Elemente des Bootmenüs verwendet werden .

Wenn die Variable GRUB_DISABLE_RECOVERY auf true gesetzt ist, werden keine Startmenüelemente für die Systemwiederherstellung generiert. Diese Elemente ermöglichen es Ihnen, Distributionen im Einzelbenutzermodus zu booten, in dem Sie alle verfügbaren Befehlszeilenschnittstellen-Tools verwenden können, um Ihr System wiederherzustellen. Eine weitere nützliche Variable ist die GRUB_GFXMODE-Variable, mit der Sie die Bildschirmauflösung festlegen können, die eingestellt wird, wenn das Boot-Menü angezeigt wird. Diese Variable kann auf eine beliebige Beschreibung der von Ihrer Grafikkarte unterstützten Auflösung gesetzt werden.

Benutzerdefinierte Startmenüelemente

Wenn Sie Ihrem Bootloader-Menü ein Element hinzufügen möchten, müssen Sie dem Skript mit dem Namen 40_custom die entsprechende Strophe hinzufügen. Sie können diesen Boot-Menüpunkt beispielsweise verwenden, um eine installierte Linux-Distribution zu booten Wechseldatenträger Mit USB-Schnittstelle. Angenommen, die Distributionspartition auf Ihrem USB-Wechseldatenträger ist /dev/sdb1 und die vmlinuz-Kernel-Image-Datei und die initrd-Datei befinden sich in einem Unterverzeichnis des Stammverzeichnisses (/), müssten Sie die folgende Strophe zur Skriptdatei 40_custom hinzufügen:

Menüeintrag "Linux on USB" ( set root=(hd1,1) linux /vmlinuz root=/dev/sdb1 ro quiet in splashitrd /initrd.img )

Für eine bessere Kompatibilität können Sie anstelle der Geräte- und Partitions-IDs die UUID der Festplattenpartition wie folgt verwenden:

Legen Sie root=UUID=54f22dd7-eabe fest

Verwenden Sie den Befehl sudo blkid, um alle UUIDs von Festplatten und Partitionen abzurufen, die mit dem System verbunden sind. In ähnlicher Weise können Sie dem Bootmenü Einträge hinzufügen, die jedem identifizierten os-prober-Skript entsprechen, aber natürlich auf der Festplatte installierte Distributionen, wenn Sie wissen, auf welchem ​​Laufwerk jede der Distributionen installiert ist und in welchem ​​​​Pfad sich ihre Kernel-Image-Dateien befinden befinden und ein Abbild des ursprünglichen Dateisystems.

Gastroguru 2017