GRUB 2: Unterschied zwischen den Versionen
Gehrke (Diskussion | Beiträge) (→Buildsystem: /etc/grub.d) |
Gehrke (Diskussion | Beiträge) (→Buildsystem: /etc/grub.d: Bedeutung der meisten Scripte) |
||
Zeile 55: | Zeile 55: | ||
-rw-r--r-- 1 root root 483 Jul 31 11:48 README | -rw-r--r-- 1 root root 483 Jul 31 11:48 README | ||
</pre> | </pre> | ||
− | Es können diesem Schema entsprechend auch eigene Scripte hinzugefügt werden. | + | Dieses Beispiel stammt aus einer [[OpenSUSE]]-Installation (Release 12.3). Andere Distribution liefern geringfügig andere Scripten aus. Es können diesem Schema entsprechend auch eigene Scripte hinzugefügt werden. |
Bedeutung der Standard-Scripten: | Bedeutung der Standard-Scripten: | ||
− | *00_header: | + | *00_header: Initialisierung des Systems anhand der Einträge in /etc/default/grub ([[#Default-Konfiguration: /etc/default/grub|Default-Konfiguration]]). |
− | *10_linux: | + | *10_linux: Hier wird versucht, alle validen Kernel zu finden. Aus diesen wird dann das Bootmenü generiert. |
− | *20_linux_xen: | + | *20_linux_xen: <ToDo> |
− | *20_memtest86+: | + | *20_memtest86+: Aufnahme von [[memtest]] in das Bootmenü. |
− | *20_ppc_terminfo: | + | *20_ppc_terminfo: <ToDo> |
− | *30_os-prober: | + | *30_os-prober: Suche nach weiteren Bootladern sowie weiteren installierten Betriebssystemen. In einem Multi-Boot-Kontext werden hier Einträge beispielsweise für Windows oder parallele Linux-Installationen generiert. |
− | *40_custom: | + | *40_custom: Eigene Booteinträge können hier manuell hinterlegt werden. |
− | *41_custom: | + | *41_custom: Einbindung der Datei /boot/grub/custom.cfg |
− | *90_persistent: | + | *90_persistent: <ToDo> |
Version vom 28. November 2013, 14:22 Uhr
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist. |
--Gehrke (Diskussion) 22:26, 27. Nov. 2013 (CET)
GNU GRUB (GRand Unified Bootloader)
Inhaltsverzeichnis
Abgrenzung zu 'GRUB Legacy'
GRUB 2 ist eine vollständige Neuentwicklung des alten GRUB Legacy. Seit 2009 wird es in größeren Distributionen als Standard eingeführt, OpenSUSE beispielsweise vollführte diesen Schritt mit Release 12.3 im Frühjar 2013.
Um eine Reihe neuer Funktionalitäten anbieten zu können, haben sich die Entwickler für eine radikale Neu-Implementierung entschieden. Es gibt dementsprechend bis auf den Namen kaum Gemeinsamkeiten und bewusst wurde auf Kompatibilität zum Vorgänger verzichtet.
Erweiterte Funktionalitäten
- Unterstützung von mehr Dateisystemen wie beispielsweise ext4, HFS+, NTFS
- Direkter Zugriff auf LVM und RAID-Devices möglich
- Steuerung über ein graphisches Terminal und graphisches Menüsystem gegeben
- Mehrsprachigkeit inklusive der Einträge
- Zusätzliche Unterstützung für weitere Systemsoftware neben PC BIOS: PC EFI, PC coreboot, PowerPC, SPARC, MIPS Lemote Yeeloong
- <Was ist mit crypted Devices?!?>
<ToDo>
Unterschiede zu 'GRUB Legacy'
An dieser Stelle werden die Unterschiede zu GRUB Legacy hervorgehoben:
- In Grub 2 existiert die stufenweise Reihenfolge in den Einzelphasen ('Stage 1', 'Stage 1.5', 'Stage 2') nicht mehr.
- In der Konfiguration werden Partitionen ebenfalls über Zahlen adressiert, aber die Nummerierung beginnt mit 1 (und nicht 0).
- Die Konfiguration wurde komplett umgestellt. Wo früher eine einzelne Datei (menu.lst) zu editieren war, gibt es heute ein komplettes Konfigurationssystem aus vielen Dateien mit eigener Struktur und eigenem Build-System, welches die eigentlichen Konfigurationsdateien generiert (s. #Konfiguration).
<ToDo>
Installation
Analog zum Vorgänger wird zur Installation das Script 'grub-install' verwendet. Als Parameter wird das Ziel-Device angegeben (im Beispiel die erste Festplatte 'sda'):
# grub-install /dev/sda Installation finished. No error reported.
<ToDo>
Konfiguration
<ToDo>
Default-Konfiguration: /etc/default/grub
Globale Grundeinstellungen (Timeout, Standard-Eintrag...) werden hier definiert.
<ToDo>
Buildsystem: /etc/grub.d
Das Buildsystem ist eine Sammlung von Scripten. Ein Nummernpräfix sorgt für eine Abfolge in definierter Reihenfolge (bei '00' beginnend):
# ls -l /etc/grub.d -rwxr-xr-x 1 root root 7649 Jul 31 11:48 00_header -rwxr-xr-x 1 root root 10535 Jul 31 11:48 10_linux -rwxr-xr-x 1 root root 11019 Jul 31 11:48 20_linux_xen -rwxr-xr-x 1 root root 1802 Jul 31 11:49 20_memtest86+ -rwxr-xr-x 1 root root 2596 Jul 31 11:48 20_ppc_terminfo -rwxr-xr-x 1 root root 10132 Jul 31 11:48 30_os-prober -rwxr-xr-x 1 root root 489 Jul 11 15:04 40_custom -rwxr-xr-x 1 root root 216 Jul 31 11:48 41_custom -rwxr-xr-x 1 root root 1259 Jul 31 11:49 90_persistent -rw-r--r-- 1 root root 483 Jul 31 11:48 README
Dieses Beispiel stammt aus einer OpenSUSE-Installation (Release 12.3). Andere Distribution liefern geringfügig andere Scripten aus. Es können diesem Schema entsprechend auch eigene Scripte hinzugefügt werden.
Bedeutung der Standard-Scripten:
- 00_header: Initialisierung des Systems anhand der Einträge in /etc/default/grub (Default-Konfiguration).
- 10_linux: Hier wird versucht, alle validen Kernel zu finden. Aus diesen wird dann das Bootmenü generiert.
- 20_linux_xen: <ToDo>
- 20_memtest86+: Aufnahme von memtest in das Bootmenü.
- 20_ppc_terminfo: <ToDo>
- 30_os-prober: Suche nach weiteren Bootladern sowie weiteren installierten Betriebssystemen. In einem Multi-Boot-Kontext werden hier Einträge beispielsweise für Windows oder parallele Linux-Installationen generiert.
- 40_custom: Eigene Booteinträge können hier manuell hinterlegt werden.
- 41_custom: Einbindung der Datei /boot/grub/custom.cfg
- 90_persistent: <ToDo>
<ToDo>
Konfigurationsdatei: /etc/grub/grub.cfg
Dies ist die Hauptkonfigurationsdatei, welche wie oben beschrieben aber nicht manuell editiert werden darf, weil sie vom Buildsystem generiert wird!
<ToDo>