Bootmanager und Bootprozess
Was passiert eigentlich beim Start von Linux? Und was sind Bootmanager? Darum soll er hier gehen. Siehe auch: Bootmanager absichern.
Bootparameter des Kernels
Wenn man den Grub-Bootmanager verwendet, kann man diese auch im Bootmenu eingeben:
- beim Start ESC drücken
- gewünschten Eintrag (beginnend mit „Kernel“) mit den Pfeiltasten auswählen
- „e“ und „Enter“ drücken und den Eintrag entsprechend abändern
- anschließend „Enter“ und „b“ um diesen Eintrag zu starten
Gültige Optionen findet man in den Quellen der Kernel unter Documentation/kernel-parameters.txt
(z. B. VESA only: xforcevesa; Failsafe-boot: acpi=off noapic nolapic edd=on nodmraid nomodeset).
Permanente Änderungen sollten dann in der Konfigurationsdatei dauerhaft abgelegt werden.
initrd
Die „initrd“ ist eine Art Dateisystem das Treiber und Einstellungen für den Start enthält. Tatsächlich ist es ein cpio-Archiv das mit gzip gepackt wurde.
Eine manuelle Bearbeitung würde in etwa so aussehen:
cat initrd.gz | gzip -d | cpio -i rm initrd.gz # make changes find | cpio -H newc -o | gzip > ../initrd-neu
Bootprozess
Der Bootvorgang läuft in der folgenden Reihenfolge ab:
- Der Bootmanager (heute meist Grub) lädt und startet den Kernel.
- Der Kernel startet das Programm
/sbin/init
init
wertet die Dabei/etc/inittab
ausinit
führt ein Script zur Systeminitialisierung aus (Debian,Ubuntu:/etc/init.d/rcS
; Fedora, Red Hat:/etc/rc.d/rc.sysinit
; (Open)Suse:/etc/init.d/boot
)
Ubuntu benutzt ab Version 6.10 statt init
die Alternative upstart
, daher ist auch /etc/inittab
nicht vorhanden.
Links
Bootprozess beschleunigen
Bootmanager
Man braucht die Bootmanager um verschiedene Kernel oder andere Betriebssystem zu booten, diese kann man beim Start des Rechners auswählen.
Die Bootmanager installieren sich meist in den MBR (Master Boot Record) der Festplatte bzw. in den Bootsektor z.B. einer Diskette.
Windows überschreibt beim Installieren generell erstmal den MBR, deshalb sollte man bei einer Neuinstallation (wenn andere Betriebssysteme parallel durch einen anderen Bootmanager wie Grub gestartet werden) vorher den MBR sichern: unter Linux mit
dd if=/dev/hda of=/tmp/mbr.save bs=512 count=1
Für Startskripte beim Bootvorgang siehe Runlevels.
Grub
Siehe eigene Seite zu Grub.
Lilo
Ein alter, mittlerweise kaum noch verwendeter, Bootmanager. Lilo ist nämlich nicht in der Lage aus einem Dateisystem zu lesen, stattdesen wird eine Liste von Datenblöcken gespeichert, die alle relevanten Dateien (Kernel, initrd) enthalten. Daher muss bei jedem Kernelupdate (oder bei Veränderungen an initrd-Dateien) lilo neu in den Bootsektor installiert werden, sonst started das System nicht mehr. In der Konfigurationsdatei /etc/lilo.conf
steht das Installationsziel. Deinstallieren kann sich lilo anhand der gespeicherten Sicherheitskopie /boot/boot.0300
und dem Befehl lilo -u
.
Unter Debian kann das Script liloconfig
zur Konfiguration benutzt werden.
ISOLINUX
ISOLINUX ist ein Bootmanager der hauptsächlich für das booten von Wechselmedien (CDs) benutzt wird.
Plop Boot Manager
Mit dem Plop Boot Manager kann man alten Rechnern (durch eine boot-CD) beibringen von einem USB-Datenträger zu starten:
- Aktuelle Version ziehen, z. B.: http://download.plop.at/files/bootmngr/plpbt-5.0.10.zip
Unter Windows:
plpcfgbt stm=hidden cnt=on cntval=1 dbt=usb plpbt.bin create-iso.bat
XOSL