Linux-Server – Das Umfassende Handbuch 1.156 Seiten, Gebunden, 3
Total Page:16
File Type:pdf, Size:1020Kb
Wissen, wie’s geht. Leseprobe Dieses Buch ist wie ein Schweizer Taschenmesser für den Linux-Admin: Für jede Herausforderung hat es eine Lösung. In dieser Leseprobe finden Sie alles Wichtige zum Bootloader GRUP, und Sie machen sich mit dem Paketmanagement vertraut. Außerdem können Sie einen Blick in das vollständige Inhalts- und Stichwortverzeichnis des Buches werfen. »Bootvorgang« »Paketmanagement« Inhalt Index Die Autoren Leseprobe weiterempfehlen Dirk Deimeke, Stefan Kania, Charly Kühnast, Daniel van Soest, Peer Heinlein Linux-Server – Das umfassende Handbuch 1.156 Seiten, gebunden, 3. Auflage 2014 49,90 Euro, ISBN 978-3-8362-3020-9 www.galileo-press.de/3685 Kapitel 2 2 Bootvorgang Der Startvorgang eines Linux-Systems ist die Basis dafür, überhaupt etwas mit dem System anfangen zu können. Wir geben einen Einblick in den Bootloader, die initiale Ramdisk und den Start mittels init-Skripten. Ein kurzer Blick auf »eventgesteuertes Starten« mittels »upstart« und »systemd« rundet dieses Kapitel ab. 2.1 Einführung Mit dem Bootloader wird das Betriebssystem gestartet. Nachdem das BIOS den mehr oder weniger ausführlichen Systemcheck durchgeführt hat, werden die Bootmedien in der Rei- henfolge der Präferenzen abgearbeitet. Wenn es zur Festplatte kommt, werden die ersten 512 Byte der Festplatte ausgewertet; in die- sen ist der Master Boot Record (MBR) zu finden. Von den 512 Byte sind die ersten 446 für den Bootloader reserviert. In diesem begrenzten Bereich lassen sich keine großen Programme unterbringen, daher wird der Bereich dafür genutzt, Code von anderer Stelle nachzuladen. Der frühere Linux Loader (LILO) ist heute kaum nach verbreitet, daher beschränken wir uns im Weiteren auf den Grand Unified Bootloader (GRUB) und die Weiterentwicklung GRUB 2. 2.2 Der Bootloader GRUB Man unterscheidet bei GRUB drei Stages. Die Hauptaufgabe der ersten Stufe – Stage 1 –liegt darin, die zweite Stufe – Stage 1.5 – zu laden. In dieser Stufe liegen die notwendigen Treiber zum Ansprechen des Dateisystems. Stage 1.5 fällt unterschiedlich aus, je nachdem welches Dateisystem verwendet wird. Zu finden ist diese ebenfalls sehr kleine Stufe zwischen dem Master Boot Record (MBR) und der ersten Partition. Bei der Installation von GRUB werden die benötigten Treiber festgestellt und entsprechend installiert. Sobald der Dateisystemtreiber verfügbar ist, kann mit dem »eigentlichen« Bootloader be- gonnen werden. Nach Laden dieser dritten Stufe – Stage 2 – wird von allen verwendeten Dis- tributionen ein Menü angezeigt, mit dem sie das zu startende Betriebssystem oder spezielle Optionen starten können, häufig ist eine Option zum Speichertesten oder ein failsafe-Modus auswählbar. Wenn Sie keine Option auswählen, wird das Standardbetriebssystem gestartet. 63 Deimeke/Heinlein/Kania/Kühnast/van Soest – Das Linux-Administrationshandbuch – Dritte Auflage – Sommer 2014 Galileo Press, ISBN: 978-3-8362-3020-9 Layout: gp.cls, Version 3.5.016 (27th June, 2014), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 12. September 2014, 10:47 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi S. 63 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – extra breit – Zoom auf 100.0% Aktuelle Quelldatei: bootvorgang/bootvorgang , Aktueller Job: administration 2 Bootvorgang 2.2 Der Bootloader GRUB 2.2.1 Installation Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script 'grub-install'. 2 Die Installationsroutinen der Betriebssysteme installieren den Bootloader GRUB automa- (hd0) /dev/sda tisch vor Abschluss aller Installationsarbeiten. Im Normalfall müssen Sie keine Hand anle- Listing 2.2 Installation des »GRUB« auf älteren Systemen gen, es sei denn, Sie wollen spezielle Optionen setzen, einen Bootloader reparieren oder eine (defekte) Festplatte ersetzen. Statt des Skripts grub-install lässt sich die Arbeit auch direkt mit der GRUB-Shell ausführen. Der Standardweg, den Bootloader zu installieren, ist, grub-install zu verwenden. Dieses Sie wird mit grub aufgerufen und bietet eine große Anzahl an Kommandos, um GRUB auf Skript fasst die Befehle, die notwendig sind, einen Bootloader zu installieren, auf einfache Art vielfältige Weise zu konfigurieren. und Weise zusammen. Die Befehle müssten ansonsten manuell in der GRUB-Shell ausgeführt Wie Sie in Listing 2.1 gesehen haben, ließe sich der Befehl setup mit den notwendigen Pa- werden. Die Konfigurationsparameter werden in der Datei /etc/grub.conf gesucht. rametern auch von Hand ausführen. Alternativ dazu besteht aber auch die Möglichkeit, die Je nach Distribution werden leicht unterschiedliche Werkzeuge verwendet. Listing 2.1 zeigt Schritte kleiner zu wählen und mit root festzulegen, auf welcher Partition des Verzeichnis die Installation in SUSE Linux Enterprise Server (SLES) 11, openSUSE setzt in aktuellen Ver- boot liegt. Der Befehl setup schließlich schreibt die Informationen in den MBR. sionen auf GRUB 2. Um es dem Administrator nicht zu leicht zu machen, unterscheidet sich die zu verwendende sles:~ # grub-install Schreibweise von der sonst in Linux üblichen, was aber kein böser Wille ist. Zum Zeitpunkt GNU GRUB version 0.97 (640K lower / 3072K upper memory) des Systemstarts gibt es noch keine Verbindung zu den unter /dev beschriebenen Geräten und zu denen, die beim Starten des Systems gefunden wurden. So wird aus /dev/sda der [ Minimal BASH-like line editing is supported. For the first word, TAB Parameter (hd0), der die erste Festplatte im System meint. Weiterhin wird die erste Partition lists possible command completions. Anywhere else TAB lists the possible der ersten Festplatte nicht mit /dev/sda1 beschrieben, sondern mit (hd0,0). completions of a device/filename. ] grub> setup --stage2=/boot/grub/stage2 --force-lba (hd0,0) (hd0,0) In Listing 2.3 finden Sie ein Beispiel für die Arbeit mit der GRUB-Shell. Checking if "/boot/grub/stage1" exists... yes Bitte beachten Sie, dass die Zählung bei 0 beginnt und nicht bei 1, ebenfalls muss /boot sich Checking if "/boot/grub/stage2" exists... yes nicht zwangsläufig auf der gleichen Partition wie das root-Dateisystem unter / befinden. Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0,0)"... failed (this is not fatal) Viele Distributionen legen /boot auf eine eigene Partition mit dem Dateisystem ext2. Running "embed /boot/grub/e2fs_stage1_5 (hd0,0)"... failed (this is not fatal) sles:~ # grub Running "install --force-lba --stage2=/boot/grub/stage2 /boot/grub/stage1 (hd0,0) \ /boot/grub/stage2 p /boot/grub/menu.lst "... succeeded GNU GRUB version 0.97 (640K lower / 3072K upper memory) Done. grub> quit [ Minimal BASH-like line editing is supported. For the first word, TAB Listing 2.1 Installation des »GRUB« in SLES11 lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] Es müssen keine weiteren Eingaben vorgenommen werden, mit grub-install läuft der Rest automatisch. grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83 Bei älteren Linux-Distributionen benötigt grub-install das Device (die Festplatte), auf die der GRUB geschrieben werden soll, als Parameter, beispielsweise wie in Listing 2.2 gezeigt: grub> setup (hd0) root@debian:~# grub-install /dev/sda Checking if "/boot/grub/stage1" exists... yes Searching for GRUB installation directory ... found: /boot/grub Checking if "/boot/grub/stage2" exists... yes Installation finished. No error reported. Checking if "/boot/grub/e2fs_stage1_5" exists... yes This is the contents of the device map /boot/grub/device.map. Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded. 64 65 Deimeke/Heinlein/Kania/Kühnast/van Soest – Das Linux-Administrationshandbuch – Dritte Auflage – Sommer 2014 Galileo Press, ISBN: 978-3-8362-3020-9 Deimeke/Heinlein/Kania/Kühnast/van Soest – Das Linux-Administrationshandbuch – Dritte Auflage – Sommer 2014 Galileo Press, ISBN: 978-3-8362-3020-9 Layout: gp.cls, Version 3.5.016 (27th June, 2014), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 12. September 2014, 10:47 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi Layout: gp.cls, Version 3.5.016 (27th June, 2014), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 12. September 2014, 10:47 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi S. 64 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – extra breit – Zoom auf 100.0% S. 65 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – extra breit – Zoom auf 100.0% Aktuelle Quelldatei: bootvorgang/bootvorgang , Aktueller Job: administration Aktuelle Quelldatei: bootvorgang/bootvorgang , Aktueller Job: administration 2 Bootvorgang 2.2 Der Bootloader GRUB succeeded root (hd0,0) Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,0)/boot/grub/stage2 \ kernel /vmlinuz-3.0.76-0.11-default root=/dev/system/root showopts ide=nodma \ 2 /boot/grub/menu.lst"... succeeded apm=off noresume edd=off powersaved=off nohz=off highres=off \ Done. processor.max_cstate=1 nomodeset x11failsafe initrd /initrd-3.0.76-0.11-default grub> quit Listing 2.3 »GRUB-Shell« auf SLES11 ###Don't change this comment - YaST2 identifier: Original name: floppy### title Floppy In der Datei /boot/grub/device.map finden sich die Informationen über Devices, auf die der rootnoverify (fd0) GRUB geschrieben werden kann, sie sieht wie in Listing 2.4 gezeigt aus. Sollten die Informa- chainloader +1 tionen veraltet oder falsch sein, können Sie die Datei bearbeiten oder löschen. Falls sie nicht Listing 2.5 Die Datei »/etc/grub/menu.lst«