[[Vorlage(Experten, "Dieser Artikel basiert auf dem Paket '''grub-pc''' für BIOS-Rechner bzw. Installationen im BIOS-Modus. Auf neueren EFI-Systemen wird das Paket '''grub-efi-amd64''' eingesetzt. Diese Anleitung gilt häufig für beide Modi, etwaige Abweichungen sind an den relevanten Stellen kenntlich gemacht.")]] {{{#!vorlage Warnung Ein falsch konfigurierter/installierter Bootloader kann dazu führen, dass das System nicht mehr startet! Dann hilft der Artikel [:GRUB_2/Reparatur:] weiter. }}} [[Vorlage(Getestet, bionic, focal)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:chroot/Live-CD#Voraussetzungen: Mittels Desktop-CD in ein installiertes System wechseln] }}} [[Inhaltsverzeichnis(2)]] [[Bild(GRUB_2/grub-install.png, 52, align=left)]] Im Normalfall wird der Bootloader `grub` während einer Ubuntu-Installation automatisch installiert. Dabei muss man sich lediglich um die richtige Wahl des Ortes für den Loader kümmern, und das auch nur bei einem MBR/MPT Boot-System. Dieser Artikel beschreibt, wie man GRUB manuell nachinstallieren kann. Verschiedene Gründe für die Notwendigkeit einer solchen Installation bedingen verschiedene Vorgehensweisen: 1. `stage1` und/oder `core.img` sind beschädigt oder durch ein anderes OS überschrieben. 1. das betroffene OS soll nicht mehr dasjenige sein, welches mit seinen Konfigurationsdateien das Verhalten von `grub` bestimmt. 1. `grub` soll unabhängig von Ubuntu betrieben werden ("stand-alone"). = Grub nach einer Ubuntu-Installation = Bei einer Neuinstallation von Ubuntu auf einen neuen PC resp. ein neues Gerät (HDD/SSD) wird `grub` entsprechend dem Modus ("legacy"/EFI) automatisch mit den geeigneten Vorgaben installiert, und beim Start des PC das Betriebssystem mittels des Loaders von `grub` gestartet. In einem SingleSystem wird dabei das Menü des Bootmanagers nicht gezeigt (für Änderungen -> [:GRUB_2/Konfiguration:]). Bei sog. DualBoot (oder MehrBoot) Systemen sind die entsprechenden Seiten hier im Wiki zu beachten (-> [#intern Links] ). = Grub-Dateien beschädigt = Wenn der Bootloaderteil des [wikipedia:Master_Boot_Record:MBR] beschädigt wurde z.B. durch versehentliches Überschreiben bei einer weiteren Installation, funktioniert `grub` nicht mehr. Als Reparaturmöglichkeit (-> [:GRUB_2/Reparatur:]) bietet sich eine einfache Neuinstallation an. {{{#!vorlage Befehl sudo grub-install /dev/sdx # "x" ist passend zu ersetzen für den betreffenden Datenträger }}} Mit diesem Befehl werden sowohl der Loader als auch das `core-img` neu geschrieben, die eigentliche Konfiguration mithilfe der Dateien '''/etc/grub.d/*''' sowie '''/etc/default/grub''' sind davon nicht tangiert und die zuvor eingestellte Konfiguration bleibt erhalten. Es setzt allerdings voraus, dass man sich im zu reparierenden System befindet, sei es durch einen anderen Bootloader oder duch -> [:chroot:]. {{{#!vorlage Warnung Bei einem `grub-install` wird keine -> [:dd/#MBR-Boot-Loader-und-Partitionstabelle-sichern: Sicherungskopie des MBR] angelegt. }}} = Grub in einen anderen Ort als den MBR installieren = Soll GRUB nicht in den MBR, sondern an eine andere Stelle platziert werden – dies ist regelmäßig der Fall, wenn der MBR bereits durch einen anderen Bootloader belegt ist und man diesen Zustand nicht verändern kann/will ([:Dualboot:] mit Windows) – dann bleiben folgende Alternativen: 1. Installation in den MBR einer 2. Platte im PC 1. als Variante von 1. auf einen USB Stick (das hat den Nachteil, der Stick muss bei einem fälligen `grub` update angeschlossen sein) 1. Installation in einen PBR (Partitions Boot Record). Der Partitionstyp (primär/logisch) ist dabei unerheblich. Dafür müssen aber bestimmte Voraussetzungen erfüllt sein. * im Bereich vor der Partition muß ein 1 MiB großer Freiraum geschaffen werden (die neueren Werkzeuge für eine Partitionierung berücksichtigen das automatisch). Nur in diesen Freiraum kann man im Terminal [1] einen funktionsbereiten Bootloader mit seinen Imagedateien einbringen. Dieses Vorgehen kann auch während einer Neuinstallation beschritten werden -> [:/Ubuntu_Installation_im_BIOS-_oder_Legacy-_Modus/#Geraet-fuer-die-Bootloaderinstallation:Gerät für die Bootloaderinstallation] * der entsprechende Befehl lautet `sudo grub-install --force /dev/sdxy` (dabei steht "x" für das Gerät, "y" für die Partition) * Ein derart installierter `grub` kann aber nicht selber booten, sondern muss vom vorhergehenden Bootloader auf dem MBR aufgerufen werden. Als Ergebnis einer Abfrage mittels des Skriptes [:GRUB-Umgebung_analysieren#GRUB-Installation-in-MBR-und-Bootsektor-automatisch-aufspueren:GRUB-Umgebung analysieren] ergibt sich diese (beispielhafte, sdxy=sdb5) Ausgabe:{{{ /dev/sdb: Kein GRUB 00 /dev/sdb1: Kein GRUB 00 /dev/sdb2: Kein GRUB 00 /dev/sdb5: GRUB 2 v1.99 }}} {{{#!vorlage Experten Man beachten, dass eine Installation von GRUB in einen Partitionsbereich (PBR) nur mit sog. Blocklisten unterstützt wird (und den Schalter ` --force` erforderlich macht). Außerdem muss ein anderer Bootloader / Bootmanager benutzt werden, um das System zu starten.}}} = Vollständige Neuinstallation = Bei einer vollständigen Neuinstallation werden nicht nur `stage1` und `core.img` neu geschrieben, sondern auch die Konfigurationsdateien in '''/etc/grub.d/*''' und '''/etc/default/grub'''. Bei Bedarf sind also diese Dateien zu sichern, oder man verwendet bei der Deinstallation nicht den Schalter `purge`, sondern `remove` (-> Hinweis in [#alte-Dateien-deinstallieren alte Dateien deinstallieren])- == Gleiche Paketversion / externe Pakete == Soll die gleiche Paketversion (-> [:GRUB-Umgebung_analysieren/#GRUB-Version:]) verwendet werden, sind vorab keine weiteren Maßnahmen erforderlich. Falls keine Internetverbindung besteht oder hergestellt werden kann, sind zunächst die erforderlichen Pakete (für den BIOS Bootmodus) * '''[packages:grub-common:]''' * '''[packages:grub-pc:]''' * '''[packages:os-prober:]''' (Optional, nur notwendig, falls auch andere Betriebssysteme auf dem System installiert sind) (für den EFI-Modus an Stelle von grub-pc) * '''[packages:grub-efi:]''' mit einem anderen Rechner herunterzuladen. [[Bild(Wiki/Icons/develop.png, 36, left)]] Mit den vorstehenden Links lädt man sich jeweils aus den Ubuntu-Archiven die GRUB-2-Pakete der passenden Ubuntu-Version herunter. Es ist die für das eigene System entsprechende Architektur zu wählen. {{{#!vorlage Warnung Wählt man eine abweichende Grub-Version, scheitert die Installation auf Grund von falschen Paketabhängigkeiten. Ein Anpassen der entsprechenden Dateien führt zu unüberschaubaren Veränderungen des Systems bis hin zur Zerstörung.}}} {{{#!vorlage Hinweis Da die GRUB-2-Pakete im Prinzip autark sind, ist bei dem Wunsch, eine neuere/ältere Version von GRUB zu verwenden, eine andere Herangehensweise erforderlich -> [#Sonderformen Sonderformen]. }}} == im laufenden System / per chroot == Je nachdem, wie man Zugang zum zu reparierenden System erhält, sind unterschiedliche Maßnahmen erforderlich. 1. Das System lässt sich noch starten, z.B. mit [https://www.supergrubdisk.org/super-grub2-disk/ SG²D], mit [:GRUB_2/Shell/#Starten-mit-Hilfe-der-Kommandozeile: Starten-mit-Hilfe-der-Kommandozeile] oder dem [:GRUB_2/Shell/#Starten-mit-Hilfe-des-Rettungsmodus: Starten-mit-Hilfe-des-Rettungsmodus], dann sind keine weiteren Maßnahmen erforderlich 1. Wenn das Starten des Systems mit den o.g. Verfahren nicht gelingt, muss man per chroot ins System wechseln, siehe -> [:GRUB_2/Reparatur/#chroot-Methode:] oder [:chroot/Live-CD/:]. === alte Dateien deinstallieren === Zunächst sind die alten GRUB-Dateien zu entfernen, um Störeinflüsse der alten Konfiguration auf die Neuinstallation auszuschließen. {{{#!vorlage Befehl sudo apt-get purge grub-* os-prober grub-gfxpayload-lists }}} {{{#!vorlage Hinweis Mit `purge` – im Gegensatz zu `remove` -> `man apt-get` – werden auch die Konfigurationsdateien gelöscht, daher sind einige der Optionen/Abfragemasken nicht relevant, allerdings ist diese Abfrage obsolet, da so oder so die Konfigurationsdateien gelöscht werden. }}} {{{#!vorlage Tabelle <-4:tablestyle="border-style: none"; cellstyle="width: 97%;border-style: none;"> +++ [[Bild(grub2-uninst.png, 400x300)]] <(^cellstyle="width: 10%; border-style: none";> Bedienung in der Eingabemaske: <(^cellstyle="width: 45%; border-style: none";>In dieser Abfragemaske (s. auch die entsprechenden Bilder weiter unten) kann man mit den Pfeiltasten [[Vorlage(Tasten, ab)]], [[Vorlage(Tasten, auf)]] auf den gewünschten Eintrag steuern. Ausgewählt wird der gewünschte Eintrag mit der Leertaste [[Vorlage(Tasten, leer)]], was durch ein "[*]" angezeigt wird. Ein erneutes Drücken der Leertaste [[Vorlage(Tasten, leer)]] hebt die Auswahl wieder auf. Abschließend bestätigt man diese Auswahl durch Drücken der Eingabe-Taste [[Vorlage(Tasten, enter)]]. }}} == Installieren == Das Installieren und gleichzeitige Einrichten erfolgt im [:Terminal:] * für den BIOS-Modus: {{{#!vorlage Befehl sudo apt-get update sudo apt-get install grub-pc os-prober grub-gfxpayload-lists }}} * bei Verwendung externer Pakete müssen zunächst die heruntergeladenen Pakete in ein Verzeichnis des zu reparierenden Systems kopiert werden, z.B. '''/tmp''' (für den Fall des Arbeitens mit `chroot` sind folgende Schritte erforderlich: System_Name ermitteln, /tmp Verzeichnis leeren mit `sudo rm -f /media/ubuntu/System_Name/tmp/*.deb`, Dateien aus dem Standard Download-Verzeichnis des LiveSystems kopieren mit `sudo cp -f /home/ubuntu/Downloads/*.deb /media/System_Name/tmp/ `, anschließend wechselt man in dieses Verzeichnis mit `cd /media/ubuntu/System_Name/tmp`) {{{#!vorlage Befehl sudo dpkg --install *.deb }}} * Für den EFI-Modus gelten die folgenden Befehle: {{{#!vorlage Befehl sudo apt-get update sudo apt-get install grub-efi-amd64-signed os-prober # Alternativ: grub-efi-amd64, oder bei 32-Bit-EFI: grub-efi-ia32 }}} Während das Paket '''grub-pc''' installiert wird, kommen einige Abfragemasken zur Konfiguration von Grub 2. {{{#!vorlage Tabelle <-4:tablestyle="border-style: none"; cellstyle="width: 97%;border-style: none;"> +++ <:cellstyle="width: 25%; border-style: none";>[[Bild(grub2-install-abfrage.png, 200)]] <:cellstyle="width: 25%; border-style: none";>[[Bild(grub2-install-cli.png, 200)]] <:cellstyle="width: 25%; border-style: none";>[[Bild(grub2-install-config.png, 200)]] <:cellstyle="width: 25%; border-style: none";>[[Bild(grub2-install-location.png, 200)]] +++ <:cellstyle="border-style: none";>*1) <:cellstyle="border-style: none";>*1) <:cellstyle="border-style: none";>*2) <:cellstyle="border-style: none";>*2) +++ <-2:^ cellstyle="border-style: none";> hier wird abgefragt, wie mit der alten '''/etc/default/grub''' Datei verfahren werden soll. <:^cellstyle="border-style: none";>der Hinweis "auf alle Orte" ist eher kontraproduktiv, GRUB gehört in den MBR der Platte, die im Setup vorangestellt wird. <:^cellstyle="border-style: none";> hier wird der Ort für `stage1` von GRUB festgelegt *a) *b) +++ <-4 cellstyle="border-style: none";>*1) diese Masken erscheinen nur, wenn bei einer Aktualisierung auch neue GRUB-Dateien aktualisiert werden. +++ <-4 cellstyle="border-style: none";>*2) diese Masken erscheinen nur nach `purge` +++ <-4 cellstyle="border-style: none";>*a) Handelt es sich um einen RAID-Verbund, so kann man durch gleichzeitiges Setzen eines "[*]" in allen beteiligten Datenträgern `stage1` und `core.img` installieren. Damit ist auch bei einem Ausfall eines Datenträgers das direkte Booten über das BIOS durch entsprechende Auswahl möglich. +++ <-4 cellstyle="border-style: none";>*b) Bei bewußtem oder versehentlichen Auslassen einer Auswahl erscheint ein weiterer Hinweis mit der Möglichkeit zum Rücksprung }}} Nach erfolgter Reinstallation von GRUB ist eine Plausibilitätsprüfung der relevanten GRUB-Dateien angezeigt, ehe man die chroot-Umgebung verlässt, resp. einen reboot durchführt. = Sonderformen = Grub kann auch unabhängig von einem Ubuntu/Linux betrieben werden. Dabei kommen die Optionen `--boot-directory` und die Angabe des Ortes für `stage1` des Install-Befehls zum Tragen. {{{#!vorlage Befehl sudo grub-install --target=i386-pc --recheck --removable --boot-directory= /dev/sdx }}} siehe -> [:Universal_stand-alone_grub_für_BIOS_und_EFI_auf_USB_flashkey_und_internen_HDD_und_SSD:] =Links= ==intern== * [:GRUB_2/Reparatur:] * [:Dualboot:] * [:Dualboot-Windows_virtualisieren:] * [:Mehrbootsystem_mit_2x_Ubuntu:] ==extern== * [https://www.gnu.org/software/grub/manual/grub/html_node/Installing-GRUB-using-grub_002dinstall.html grub manual: Installing-GRUB-using-grub_002dinstall] {en} * [https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html grub manual: BIOS-installation] {en} #tag: Bootloader, Installation