Was passiert eigentlich beim Start von Linux? Und was sind Bootmanager? Darum soll er hier gehen. Siehe auch: Bootmanager absichern.
Wenn man den Grub-Bootmanager verwendet, kann man diese auch im Bootmenu eingeben:
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.
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
Der Bootvorgang läuft in der folgenden Reihenfolge ab:
/sbin/init
init
wertet die Dabei /etc/inittab
aus init
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.
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.
Siehe eigene Seite zu Grub.
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 ist ein Bootmanager der hauptsächlich für das booten von Wechselmedien (CDs) benutzt wird.
Mit dem Plop Boot Manager kann man alten Rechnern (durch eine boot-CD) beibringen von einem USB-Datenträger zu starten:
Unter Windows:
plpcfgbt stm=hidden cnt=on cntval=1 dbt=usb plpbt.bin create-iso.bat