Zum Inhalt springen

Grand Unified Bootloader: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „<div style="column-count:3">“ durch „<div style="column-count:2">“
 
(25 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''{{BASEPAGENAME}}''' - Beschreibung
'''{{BASEPAGENAME}}''' - [[Bootloader]]-Programm (GRUB)


== Beschreibung ==
== Beschreibung ==
; Grand Unified Bootloader (GRUB)
[[Freie Software|Freies]] Bootloader-Programm


== Installation ==
Starten von [[Betriebssystem]]en
<syntaxhighlight lang="bash" highlight="1" line>
* [[Linux]]
</syntaxhighlight>
* [[Windows]]
 
* [[Unixoides System|unixoiden Betriebssystemen]]
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>
</syntaxhighlight>
 
=== Optionen ===
{| class="wikitable sortable options gnu"
|-
! Unix !! GNU !! Parameter !! Beschreibung
|-
| || || ||
|-
|}
 
=== Parameter ===
 
=== Umgebungsvariablen ===
 
=== Exit-Status ===
{| class="wikitable options col1center"
|-
! Wert !! Beschreibung
|-
| 0 || Erfolg
|-
| >0 || Fehler
|}
 
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line>
</syntaxhighlight>
 
=== Problembehebung ===
 
== Konfiguration ==
 
=== Dateien ===
{| class="wikitable options"
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}
<noinclude>
 
== Anhang ==
 
=== Siehe auch ===
<div style="column-count:3">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
 
=== Dokumentation ===
 
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
 
; Info-Pages
 
=== Links ===
==== Projekt ====
 
==== Weblinks ====
# https://de.wikipedia.org/wiki/Grand_Unified_Bootloader
# https://wiki.debian.org/Grub
# https://wiki.ubuntuusers.de/GRUB_2/
 
 
[[Kategorie:new]]
 
</noinclude>
 
= TMP =


| Name = GRUB
; Entwicklung
| Logo = {{nowrap|[[Datei:Grub logo.png|125px|Logo]] [[Datei:Grub logo2.png|118px|Logo]]}}
Unter [[GNU Hurd|GNU-Hurd]] entwickelt
| Screenshot = [[Datei:Debian Unstable GRUB2 (2015).png|200px|Screenshot]]
* Bootloader  
| Beschreibung = Bildschirmfoto des GRUB-Menüs von Debian
* [[GNU General Public License|GPL]]
| Hersteller = Das GRUB-Team
| AktuelleVersion = <!-- Wikidata -->
| AktuelleVersionFreigabeDatum = <!-- Wikidata -->
| AktuelleVorabVersion =
| AktuelleVorabVersionFreigabeDatum =
| Betriebssystem = Installation: [[Unixoides System|Unix-Derivate]]; Laufzeit: [[Plattformunabhängigkeit|plattformübergreifend]]
| Sprache = [[C]]; [[Assembler]]
| Kategorie = [[Bootloader]]
| Lizenz = [[GNU General Public License|GPL]] 3+ ([[Freie Software]])
| Deutsch = ja
| Website = [https://www.gnu.org/software/grub/ gnu.org/software/grub]


'''Grand Unified Bootloader''' (kurz '''GRUB''', {{enS}} für ''Großer vereinheitlichter [[Bootloader]]'') ist ein [[Freie Software|freies]] Bootloader-Programm, das oft zum Starten von [[Unixoides System|unixoiden Betriebssystemen]] wie z.&nbsp;B
Aufgrund seiner höheren Flexibilität verdrängte GRUB in vielen [[Linux-Distribution]]en den traditionellen Bootloader [[Linux Loader]] (LILO)
* Linux eingesetzt wird
 
GRUB wurde innerhalb des [[GNU Hurd|GNU-Hurd]]-Projektes als Bootloader entwickelt und wird unter der [[GNU General Public License|GPL]] bereitgestellt
* Aufgrund seiner höheren Flexibilität verdrängte GRUB in vielen [[Linux-Distribution]]en den traditionellen Bootloader [[Linux Loader]] (LILO)
* GRUB wird auch in Solaris 10 x86 benutzt
* GRUB wird auch in Solaris 10 x86 benutzt
Die aktuelle Version, '''GRUB 2''', welche erstmals im Juni 2012 veröffentlicht wurde<ref>{{Internetquelle |url=https://www.phoronix.com/scan.php?page=news_item&px=MTEyODc |titel=GRUB 2.00 Boot-Loader Officially Released |zugriff=2017-11-25}}</ref>, stellt eine komplette Überarbeitung der 0.9x-Reihe dar
Die aktuelle Version, '''GRUB 2''', welche erstmals im Juni 2012 veröffentlicht wurde, stellt eine komplette Überarbeitung der 0.9x-Reihe dar
* Diese wird daher als '''GRUB Legacy''' bezeichnet (englisch {{lang|en|''legacy''}} ‚Altlast‘, ‚Erbe‘, ‚Hinterlassenschaft‘)
* Diese wird daher als '''GRUB Legacy''' bezeichnet (englisch ''legacy''‚Altlast‘, ‚Erbe‘, ‚Hinterlassenschaft‘)


== Leistungsmerkmale ==
== Leistungsmerkmale ==
* Liest verschiedene [[Dateisystem]]e:
Liest verschiedene [[Dateisystem]]e
** GRUB Legacy (bis GRUB 0.9x): [[ext2]], [[ext3]], [[Unix File System|UFS]], [[Unix File System|UFS2]], [[Reiser File System|ReiserFS]], [[File Allocation Table|FAT]], [[Journaled File System|JFS]], [[Minix-Dateisystem|Minix]], [[Berkeley Fast File System|FFS]], [[XFS (Dateisystem)|XFS]], mit distributionsspezifischen Erweiterungen auch weitere;
* GRUB Legacy (bis GRUB 0.9x): [[ext2]], [[ext3]], [[Unix File System|UFS]], [[Unix File System|UFS2]], [[Reiser File System|ReiserFS]], [[File Allocation Table|FAT]], [[Journaled File System|JFS]], [[Minix-Dateisystem|Minix]], [[Berkeley Fast File System|FFS]], [[XFS (Dateisystem)|XFS]], mit distributionsspezifischen Erweiterungen auch weitere;
** GRUB2 (ab GRUB 1.9x) zusätzlich [[ext4]], [[ZFS (Dateisystem)|ZFS]] und [[btrfs]]
* GRUB2 zusätzlich [[ext4]], [[ZFS (Dateisystem)|ZFS]] und [[btrfs]]
* Bootet verschiedene Betriebssysteme per Auswahlmenü und automatischem Zeitablauf (Linux und Windows als [[Multi-Boot-System]])
 
Bootet verschiedene Betriebssysteme per Auswahlmenü und automatischem Zeitablauf (Linux und Windows als [[Multi-Boot-System]])
* Bootet Betriebssysteme von Festplatten, Disketten, CD- und DVD-Laufwerken sowie Flash-Disks
* Bootet Betriebssysteme von Festplatten, Disketten, CD- und DVD-Laufwerken sowie Flash-Disks
* Verfügt über einen eingebauten [[Kommandozeileninterpreter]] (Shell)
* Verfügt über einen eingebauten [[Kommandozeileninterpreter]] (Shell)
* Ist relativ einfach konfigurierbar (Farben, Hintergrundbild, Struktur usw.)
* Ist relativ einfach konfigurierbar (Farben, Hintergrundbild, Struktur und weitere)
* Kann mit einem [[Passwort]] gesichert werden
* Kann mit einem [[Passwort]] gesichert werden
* Kann über [[Trivial File Transfer Protocol|TFTP]] bereitgestellte [[Linux (Kernel)|Linux-Kernel]] booten
* Kann über [[Trivial File Transfer Protocol|TFTP]] bereitgestellte [[Linux (Kernel)|Linux-Kernel]] booten
Zeile 146: Zeile 58:
* Stage 1 und dem ersten Block der ersten Partition und ist in der Lage, genau ein Dateisystem zu lesen
* Stage 1 und dem ersten Block der ersten Partition und ist in der Lage, genau ein Dateisystem zu lesen
* Dabei wird die Variante installiert, welche das Dateisystem jener Partition unterstützt, auf welcher Stage 2 liegt
* Dabei wird die Variante installiert, welche das Dateisystem jener Partition unterstützt, auf welcher Stage 2 liegt
* Zurzeit gibt es Stage 1.5 für die Dateisysteme [[File Allocation Table|FAT]], [[Minix-Dateisystem|Minix]], [[ext2]], [[ext3]], [[Journaled File System|JFS]], [[Reiser File System|ReiserFS]], [[Unix File System|UFS2]], [[XFS (Dateisystem)|XFS]]<ref>[http://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz Sourcecode von Grub 0.97] ([[Gzip]]; 972&nbsp;kB)</ref> sowie Joliet<ref>[https://lists.gnu.org/archive/html/grub-devel/2008-02/msg00040.html &#x5B;PATCH&#x5D; – support joliet extension in iso9660 filesystem]</ref>
* Zurzeit gibt es Stage 1.5 für die Dateisysteme [[File Allocation Table|FAT]], [[Minix-Dateisystem|Minix]], [[ext2]], [[ext3]], [[Journaled File System|JFS]], [[Reiser File System|ReiserFS]], [[Unix File System|UFS2]], [[XFS (Dateisystem)|XFS]]
* Unterstützung für [[ReiserFS#Reiser4|Reiser4]]<ref>[https://reiser4.wiki.kernel.org/index.php/Reiser4_Howto/GRUB Reiser4 Howto/GRUB]</ref> und [[ext4]]<ref>[https://bugzilla.redhat.com/show_bug.cgi?id=486284 &#x5B;PATCH&#x5D; RFE: ext4 support in grub]</ref> gibt es durch Patches von Drittanbietern
* Unterstützung für [[ReiserFS#Reiser4|Reiser4]] gibt es durch Patches von Drittanbietern


=== GRUB 2 ===
=== GRUB 2 ===
Zeile 160: Zeile 72:
* Neben der [[Unix-Shell|Shell]]-ähnlichen [[Skriptsprache]] bietet GRUB 2 auch Unterstützung für die Sprache [[Lua]]
* Neben der [[Unix-Shell|Shell]]-ähnlichen [[Skriptsprache]] bietet GRUB 2 auch Unterstützung für die Sprache [[Lua]]


Des Weiteren lässt sich GRUB 2 auch als [[Nutzdaten|Payload]] für die [[Freie Software|freie]] [[BIOS]]-Alternative [[coreboot]] verwenden.<ref>[http://www.coreboot.org/Payloads#GRUB_2 GRUB 2 als coreboot Payload]</ref> Dabei muss GRUB nicht wie üblich in den MBR geschrieben werden, sondern wird zusammen mit coreboot direkt in den [[Flash-Speicher]]-Baustein („BIOS Chip“) des Systems geschrieben
Des Weiteren lässt sich GRUB 2 auch als [[Nutzdaten|Payload]] für die [[Freie Software|freie]] [[BIOS]]-Alternative [[coreboot]] verwenden. Dabei muss GRUB nicht wie üblich in den MBR geschrieben werden, sondern wird zusammen mit coreboot direkt in den [[Flash-Speicher]]-Baustein („BIOS Chip“) des Systems geschrieben
* Beim [[Booten|Bootvorgang]] übergibt coreboot, nachdem es die Hardware initialisiert hat, die Kontrolle an GRUB, welches anschließend wie üblich ein Menü anzeigt und das Laden eines Kernels erlaubt
* Beim [[Booten|Bootvorgang]] übergibt coreboot, nachdem es die Hardware initialisiert hat, die Kontrolle an GRUB, welches anschließend wie üblich ein Menü anzeigt und das Laden eines Kernels erlaubt


Die unterstützten [[Plattform (Computer)|Plattformen]] und [[Rechnerarchitektur|Architekturen]] sind neben [[IA-32]], also sowohl 32-Bit-[[x86-Prozessor|x86]] als auch [[x64]] (Linux-üblich „amd64“, aber auch oft als x86-64, also x86 64-Bit, bezeichnet), nun auch [[Open Firmware|Open-Firmware]]-basierte [[PowerPC]]-Rechner ([[Power Macintosh|Power Mac]] und [[Pegasos (Computer)|Pegasos]]) und ab GRUB 2.02 auch [[ARM-Architektur|ARM]] und ARM64 (64-Bit, ab [[ARM-Architektur#ARMv8 (2011)|ARMv8]]).<ref>{{Webarchiv|text=GRUB on ARM |url=https://wiki.linaro.org/LEG/Engineering/Kernel/GRUB |wayback=20160128222849 }} (englisch), abgerufen am 18
Die unterstützten [[Plattform (Computer)|Plattformen]] und [[Rechnerarchitektur|Architekturen]] sind neben [[IA-32]], also sowohl 32-Bit-[[x86-Prozessor|x86]] als auch [[x64]] (Linux-üblich „amd64“, aber auch oft als x86-64, also x86 64-Bit, bezeichnet), nun auch [[Open Firmware|Open-Firmware]]-basierte [[PowerPC]]-Rechner ([[Power Macintosh|Power Mac]] und [[Pegasos (Computer)|Pegasos]]) und ab GRUB 2.02 auch [[ARM-Architektur|ARM]] und ARM64 (64-Bit, ab [[ARM-Architektur#ARMv8 (2011)|ARMv8]]).<ref>{{Webarchiv|text=GRUB on ARM |url=https://wiki.linaro.org/LEG/Engineering/Kernel/GRUB |wayback=20160128222849 }} (englisch), abgerufen am 18
* Oktober 2015;<br />„{{lang|en|Both ARM and ARM64 are now supported in upstream GRUB both are available in the grub 2.02 betas, and included in several Linux distributions
* Oktober 2015;<br />„{{lang|en|Both ARM and ARM64 are now supported in upstream GRUB - both are available in the grub 2.02 betas, and included in several Linux distributions
* The ARM port supports U-Boot (but should shortly support also UEFI), and the ARM64 port supports UEFI.}}“</ref>
* The ARM port supports U-Boot (but should shortly support also UEFI), and the ARM64 port supports UEFI.}}“</ref>
* An der Unterstützung von [[SPARC-Architektur|UltraSparc]] wird gearbeitet.<ref name="grub-faq_current-release">[http://www.gnu.org/software/grub/grub-faq.html GNU GRUB FAQ] (englisch), abgerufen am 18
* An der Unterstützung von [[SPARC-Architektur|UltraSparc]] wird gearbeitet.<ref name="grub-faq_current-release">[http://www.gnu.org/software/grub/grub-faq.html GNU GRUB FAQ] (englisch), abgerufen am 18
Zeile 183: Zeile 95:
* Letzteres erspart das umständliche Extrahieren des Linux-Bootblocks mittels [[Dd (Unix)|<code>dd</code>]] in eine Datei
* Letzteres erspart das umständliche Extrahieren des Linux-Bootblocks mittels [[Dd (Unix)|<code>dd</code>]] in eine Datei
* Jedoch ist Grub4dos nur für DOS und 32-bit Windows-Systeme, die dazu kompatibel sind, verfügbar
* Jedoch ist Grub4dos nur für DOS und 32-bit Windows-Systeme, die dazu kompatibel sind, verfügbar
* Auf 64-Bit-Systemen können keine DOS-Programme ausgeführt werden, allerdings wird an einer Version für UEFI gearbeitet.<ref>[https://github.com/chenall/grub4dos/tree/efi Projektseite von grub4dos-for_UEFI] auf GitHub.com</ref>
* Auf 64-Bit-Systemen können keine DOS-Programme ausgeführt werden, allerdings wird an einer Version für UEFI gearbeitet.
 
Mit TrustedGRUB wird derzeit eine Erweiterung von GRUB entwickelt, die [[Trusted Platform Module]] (TPM) unterstützt.
 
== Installation ==
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>


Mit TrustedGRUB wird derzeit eine Erweiterung von GRUB entwickelt, die [[Trusted Platform Module]] (TPM) unterstützt.<ref>[http://sourceforge.net/projects/trustedgrub Projektseite von TrustedGRUB] auf SourceForge.net</ref>
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>


== Siehe auch ==
=== Optionen ===
{| class="wikitable sortable options gnu"
|-
! Unix !! GNU !! Parameter !! Beschreibung
|-
| || || ||
|-
|}
 
=== Parameter ===
 
=== Umgebungsvariablen ===
 
=== Exit-Status ===
{| class="wikitable options col1center"
|-
! Wert !! Beschreibung
|-
| 0 || Erfolg
|-
| >0 || Fehler
|}
 
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
 
=== Problembehebung ===
 
== Konfiguration ==
 
=== Dateien ===
{| class="wikitable options"
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}
<noinclude>
 
== Anhang ==
 
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
----
* [[Bootloader#Liste von Bootloadern|Liste von Bootloadern]]
* [[Bootloader#Liste von Bootloadern|Liste von Bootloadern]]


== Weblinks ==
=== Dokumentation ===
{{Commonscat|GNU GRUB}}
 
* [https://www.gnu.org/software/grub/ Homepage von GRUB] (englisch)
; Man-Page
* [https://gna.org/projects/grub4dos/ GRUB for DOS] (englisch)
<!--
* [http://www.linux-magazin.de/Online-Artikel/Schoener-Booten Artikel zu Änderungen in GRUB 2]
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
* [http://www.dedoimedo.com/computers/grub.html Tutorial zu GRUB-Legacy] (englisch)
-->
* [http://www.dedoimedo.com/computers/grub-2.html Tutorial zu GRUB2] (englisch)
; Info-Pages
* [https://thestarman.pcministry.com/asm/mbr/GRUB.htm The GRUB MBR - A Disk Editor View and Comments on the Code] (Erklärt Arbeitsweise von GRUB 1 im Detail) (englisch)
 
=== Links ===
==== Projekt ====
 
==== Weblinks ====
# https://de.wikipedia.org/wiki/Grand_Unified_Bootloader
# https://wiki.debian.org/Grub
# https://wiki.ubuntuusers.de/GRUB_2/


{{SORTIERUNG:Grub}}
[[Kategorie:Bootloader]]
[[Kategorie:Bootloader]]
[[Kategorie:Freie Systemsoftware]]
[[Kategorie:Freie Systemsoftware]]
[[Kategorie:Linux-Betriebssystemkomponente]]
[[Kategorie:Linux-Betriebssystemkomponente]]
[[Kategorie:GNU-Paket]]
[[Kategorie:GNU-Paket]]
</noinclude>

Aktuelle Version vom 28. Juni 2025, 11:12 Uhr

Grand Unified Bootloader - Bootloader-Programm (GRUB)

Beschreibung

Grand Unified Bootloader (GRUB)

Freies Bootloader-Programm

Starten von Betriebssystemen

Entwicklung

Unter GNU-Hurd entwickelt

Aufgrund seiner höheren Flexibilität verdrängte GRUB in vielen Linux-Distributionen den traditionellen Bootloader Linux Loader (LILO)

  • GRUB wird auch in Solaris 10 x86 benutzt

Die aktuelle Version, GRUB 2, welche erstmals im Juni 2012 veröffentlicht wurde, stellt eine komplette Überarbeitung der 0.9x-Reihe dar

  • Diese wird daher als GRUB Legacy bezeichnet (englisch legacy‚Altlast‘, ‚Erbe‘, ‚Hinterlassenschaft‘)

Leistungsmerkmale

Liest verschiedene Dateisysteme

Bootet verschiedene Betriebssysteme per Auswahlmenü und automatischem Zeitablauf (Linux und Windows als Multi-Boot-System)

  • Bootet Betriebssysteme von Festplatten, Disketten, CD- und DVD-Laufwerken sowie Flash-Disks
  • Verfügt über einen eingebauten Kommandozeileninterpreter (Shell)
  • Ist relativ einfach konfigurierbar (Farben, Hintergrundbild, Struktur und weitere)
  • Kann mit einem Passwort gesichert werden
  • Kann über TFTP bereitgestellte Linux-Kernel booten

Funktionsweise

GRUB Customizer, ein Konfigurationstool für GRUB 2
GNU GRUB auf MBR-partitionierter Festplatte
GNU GRUB auf GPT-partitionierter Festplatte
boot.img ist exakt 446 Bytes groß und befindet sich zusammen mit der Partitionstabelle im MBR (Sektor 0). core.img wird in die leeren Sektoren zwischen MBR und erster Partition geschrieben, falls verfügbar (die erste Partition beginnt üblicherweise bei Sektor 63 oder 4096 anstatt Sektor 1, das muss aber nicht vorliegen) * Das Verzeichnis /boot/grub kann auf einer eigenen Partition liegen oder auf der /-Partition.

GRUB allgemein und GRUB Legacy

Normalerweise wird der Bootloader von GRUB, die sogenannte Stage 1, in den Master Boot Record (MBR) geschrieben, welcher sich in den ersten 512 Bytes des primären Laufwerkes befindet

  • Aufgrund des durch die Partitionstabelle zusätzlich beschränkten Platzes kann die Stage 1 nur den ersten Sektor der sogenannten Stage 2 laden
  • In diesem Sektor befinden sich der Programmcode und eine Blockliste zum Lesen der restlichen Sektoren von Stage 2

Die Stage 2 kann sich auf einer beliebigen Partition befinden

  • Unter Unix-Systemen befindet sie sich meistens unter /boot/grub/stage2
  • Stage 2 enthält die Dateisystemtreiber, den Programmcode für das Auswahlmenü und die GRUB-Kommandozeile sowie die Laderoutine für die Kernel

Nach dem Laden von Stage 2 wird, sofern vorhanden, die Konfigurationsdatei /boot/grub/menu.lst eingelesen und verarbeitet

  • In dieser Datei sind die Einträge des Auswahlmenüs definiert, welche nun in der Konsole angezeigt werden
  • Aus dem Menü können nun das zu bootende Betriebssystem ausgewählt oder Befehle über die Kommandozeile direkt an GRUB gesendet werden
  • Stage 2 stellt somit den eigentlichen Bootloader dar, welcher einen Kernel oder den Bootsektor einer Partition lädt

Diese zweistufige Aufteilung des Bootloaders hatte den Nachteil, dass der Bootloader nach Verschieben oder Änderungen von Stage 2 nicht mehr bootfähig war

  • Deswegen wurde zwischen Stage 1 und 2 eine Zwischenstufe, Stage 1.5, eingeführt
  • Diese liegt auf den Datenblöcken zwischen MBR bzw
  • Stage 1 und dem ersten Block der ersten Partition und ist in der Lage, genau ein Dateisystem zu lesen
  • Dabei wird die Variante installiert, welche das Dateisystem jener Partition unterstützt, auf welcher Stage 2 liegt
  • Zurzeit gibt es Stage 1.5 für die Dateisysteme FAT, Minix, ext2, ext3, JFS, ReiserFS, UFS2, XFS
  • Unterstützung für Reiser4 gibt es durch Patches von Drittanbietern

GRUB 2

Für den Nachfolger GRUB 2 wurde ein vollständiges Redesign durchgeführt und auf Rückwärtskompatibilität zu GRUB Legacy verzichtet

  • Die Stage 2 wurde in einen Kernel (kernel.img) und viele ladbare Module (*.mod) aufgeteilt
  • Der Kernel enthält nur essentiellen Code mit Dekompression, ELF-Lader für Module, Festplattenzugriff und eine Rettungs-Shell
  • Bei der Installation werden die Module für das Dateisystem, das die restlichen Komponenten enthält, an den Kernel angehängt und als Datei core.img abgelegt
  • Hierbei kommt eines der Kompressionsverfahren LZMA oder LZO zum Einsatz, so dass die komprimierte Datei z. B
  • noch im Bootbereich hinter dem MBR abgelegt werden kann (Bei der Nutzung einer GPT erfolgt diese Ablage in eine eigens dafür vorgesehene BIOS Boot-Partition)
  • Nach dem Laden wird der Code entpackt und die Konfigurationsdatei /boot/grub/grub.cfg geladen
  • Bei Bedarf werden Module für weitere Dateisysteme, Bootmenü, Bootroutinen für verschiedene Betriebssysteme und GRUB Shell vom Dateisystem nachgeladen
  • Neben der Shell-ähnlichen Skriptsprache bietet GRUB 2 auch Unterstützung für die Sprache Lua

Des Weiteren lässt sich GRUB 2 auch als Payload für die freie BIOS-Alternative coreboot verwenden. Dabei muss GRUB nicht wie üblich in den MBR geschrieben werden, sondern wird zusammen mit coreboot direkt in den Flash-Speicher-Baustein („BIOS Chip“) des Systems geschrieben

  • Beim Bootvorgang übergibt coreboot, nachdem es die Hardware initialisiert hat, die Kontrolle an GRUB, welches anschließend wie üblich ein Menü anzeigt und das Laden eines Kernels erlaubt

Die unterstützten Plattformen und Architekturen sind neben IA-32, also sowohl 32-Bit-x86 als auch x64 (Linux-üblich „amd64“, aber auch oft als x86-64, also x86 64-Bit, bezeichnet), nun auch Open-Firmware-basierte PowerPC-Rechner (Power Mac und Pegasos) und ab GRUB 2.02 auch ARM und ARM64 (64-Bit, ab ARMv8).[1]

Besonderheiten von GRUB

GRUB kann über das Dateisystem auf die als normale Dateien gespeicherten Betriebssystemkerne zugreifen

  • Andere Bootloader wie zum Beispiel LILO waren lange Zeit auf Konfigurationsdaten angewiesen, die angeben, in welchen Datenblöcken der Kernel liegt
  • Diese Angaben können sich nach einem Kernel-Update ändern, und die entsprechenden Konfigurationsdaten müssen neu geschrieben werden
  • Dieser Schritt ist bei GRUB dagegen nicht notwendig

Erweiterungen

Der Standard-GRUB stellt, wie oben beschrieben, einen eigenen Bootblock zur Verfügung

  • Das führt dazu, dass man GRUB normalerweise nicht von einem bestehenden Betriebssystem aus starten kann
  • Die GRUB-Shell ist unter Linux zugänglich, eine Alternative stellt das Projekt GRUB4DOS bereit, welches GRUB Legacy so erweitert, dass es als Programm unter DOS bzw
  • als GRLDR aus dem Windows-XP-/-NT-Bootmenü, oder per ntldr von Grub2 aus startbar ist
  • Letzteres erspart das umständliche Extrahieren des Linux-Bootblocks mittels dd in eine Datei
  • Jedoch ist Grub4dos nur für DOS und 32-bit Windows-Systeme, die dazu kompatibel sind, verfügbar
  • Auf 64-Bit-Systemen können keine DOS-Programme ausgeführt werden, allerdings wird an einer Version für UEFI gearbeitet.

Mit TrustedGRUB wird derzeit eine Erweiterung von GRUB entwickelt, die Trusted Platform Module (TPM) unterstützt.

Installation

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Man-Page
Info-Pages

Links

Projekt

Weblinks

  1. https://de.wikipedia.org/wiki/Grand_Unified_Bootloader
  2. https://wiki.debian.org/Grub
  3. https://wiki.ubuntuusers.de/GRUB_2/


  1. Vorlage:Webarchiv (englisch), abgerufen am 18
  2. GNU GRUB FAQ (englisch), abgerufen am 18
  3. Wordpress Blog: GRUB on Sparc (englisch), abgerufen am 18
    • Oktober 2015