href="/w/index.php?title=Grand_Unified_Bootloader&veaction=edit§ion=1" title="mw-editsection">="mw-editsection-bracket">[Bearbeiten | | | | Quellcode bearbeiten]>
Der Grand Unified-Bootloader, kurz GRUB, ist ein kostenloses Bootloaderprogramm, das häufig zum Booten von Unix-ähnlichen Systemen wie z. B. Windows verwendet wird. Der GRUB wurde im Rahmen des GNU-Hurd Projekts als Bootsloader erstellt und steht unter der GPL. GRUB hat aufgrund seiner hohen FlexibilitÃ?t den klassischen Bootsloader LILO (Linux Loader) in vielen Linuxdistributionen abgelöst.
Der GRUB wird auch in der Software 10 x 86 verwendet. Mit der aktuellen Fassung GRUB 2, die erstmalig im Juli 2012 erschienen ist[2], wurde die Baureihe 9x komplett überarbeitet. Dies wird daher als GRUB Legacy bezeichne. Lesen verschiedener Dateisysteme: GRUB Legacy (bis GRUB 9x ): ext2, ext3, UFS, UFS2, ReiserFS, FAT, JFS, Minix, FFS, XFS, mit verteilungsspezifischen Dateierweiterungen auch weiter; GRUB2 (ab GRUB 9x ) außerdem Ext4, ZFS und BTRF.
Booten verschiedener Betriebsysteme über Auswahl-Menü und automatisches Timing (Linux und Windows als Multi-Boot-System). Startet das Betriebssystem von Harddisks, Floppy-Disks, CD- und DVD-Laufwerken sowie Flash-Disk. In der Regel wird der GRUB-Bootloader, der so genannte Stage1, in den MBR (Master Boot Record) eingetragen, der sich in den ersten 512 Byte des Primärlaufwerks wiederfindet.
Wegen des durch die Teilungstabelle begrenzten zusätzlichen Speicherplatzes kann Stufe 1 nur den ersten Abschnitt der so genannten Stufe 2 einlesen. Dieser Bereich enthält den Programm-Code und eine Block-Liste zum Auslesen der übrigen Bereiche von Stufe 2 Stufe 2 kann sich auf einer jeden Trennwand befanden.
Stufe 2 beinhaltet die Dateisystem-Treiber, den Programm-Code für das Auswahlmenu, die GRUB-Befehlszeile und die Laderoutine für den Kern. Nachdem Stufe 2 geladen wurde, wird die Konfigurations-Datei namens, falls verfügbar, gelesen und aufbereitet. Das zu startende Betriebsystem kann nun aus dem Menu gewählt oder über die Befehlszeile an GRUB geschickt werden.
Stufe 2 repräsentiert also den tatsächlichen Bootsloader, der einen eigenen Core oder den Boot-Sektor einer Partition einliest. Allerdings hatte diese 2-stufige Trennung des Bootsloaders den Vorteil, dass der Bootsloader nach dem Wechsel der Stufe 2 nicht mehr startfähig war. Deshalb wurde eine Zwischenetappe, Stufe 1. 5, zwischen Stufe 1 und 2 eingefügt.
Dieser befindet sich auf den Datenbausteinen zwischen MBR oder Stufe 1 und dem ersten Baustein der ersten Platte und kann exakt ein Filesystem auslesen. Damit wird die Version des Dateisystems der Festplatte auf der sich Stufe 2 befindet aufgesetzt. Derzeit gibt es Stufe 1.5 für die Filesysteme FAT, Minix, ext2, ext3, JFS, ReiserFS, UFS2, JFS, XFS[3] und Joliet[4].
Beim Nachfolgemodell GRUB 2 wurde ein komplettes Re-Design vorgenommen und auf Abwärtskompatibilität zu GRUB Legacy geachtet. Das Stadium 2 wurde in einen Kern ( "kernel. img") und viele belastbare Modulen ("*.mod") unterteilt. Es gibt nur notwendigen Quellcode mit Dekomprimierung, ELF-Loader für die einzelnen Bausteine, Plattenzugriff und eine Rescue-Shell. Während der Installierung werden die Bausteine für das Filesystem mit den übrigen Bausteinen an den Kern angefügt und als core.img-Datei gespeichert.
Gegebenenfalls werden vom Filesystem Modulen für andere Filesysteme, Boot-Menü, Boot-Routinen für andere Betriebsysteme und GRUB Shell geladen. Zusätzlich zur Shell-ähnlichen Scriptsprache unterstützt GRUB 2 auch die Programmiersprache Lua. GRUB 2 kann auch als Nutzlast für den kostenlosen BIOS-Alternativ-Coreboot verwendet werden. 7 ] GRUB muss nicht wie gewohnt in den MBR beschrieben werden, sondern wird zusammen mit dem Coreboot in den Flash-Speicher ("BIOS-Chip") des Rechners eingetragen.
Während des Bootvorgangs gibt coreboot nach der Initialisierung der Geräte die Steuerung an GRUB weiter, das dann wie gewohnt ein Menu zeigt und das Starten eines Kerns ermöglicht. Auf die als gewöhnliche Datei abgespeicherten Betriebssystem-Kerne kann GRUB über das Filesystem aufrufbar sein. Bei anderen Bootloadern, wie z.B. LILO, ist man schon lange auf Konfigurations-Daten angewiesen, die festlegen, in welchen Blöcken sich der Core befindet.
Bei GRUB ist dieser Arbeitsschritt nicht erforderlich. Dies bedeutet, dass GRUB in der Regel nicht von einem vorhandenen Betriebsystem aus gestartet werden kann. Auf die GRUB-Shell kann unter Linux zugegriffen werden, eine weitere Möglichkeit ist das GRUB4DOS-Projekt, das GRUB so weit ausbaut, dass es als DOS- oder als GRLDR-Programm aus dem Windows XP/NT-Bootmenü gestartet werden kann.
Hochsprung GRUB von ? GRUB 2. 2 Veröffentlichung. Hochsprung GRUB 3. 00 Boot-Loader offiziell freigegeben. Retrieved October 2010. Jumping up GRUB on ARM (Memento of the original January 2010 in the Internet Archive) Info: Der Archiv-Link wurde automatisiert und noch nicht überprüft. Überprüfen Sie bitte den Verweis entsprechend der Anweisung und entfernen Sie dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/wiki.linaro. org, abrufbar am 19. Dezember 2015; "Sowohl ARM als auch ARM64 werden nun im GRUB unterstützt - beide sind in der grub Version 2.02 verfügbar und in mehreren Linux-Distributionen enthalten.
" Springen Sie auf GNU GRUB FAQ, aufgerufen am 17. October 2015; "Die aktuelle Version läuft auf Intel/AMD-PCs, OpenFirmware-basierten PowerPC-Maschinen (PowerMac und Pegasos), EFI-basierten PCs (IntelMac) und Coreboot-PCs (früher LinuxBIOS) und wird auf UltraSparc portiert.