Linux booten. Jörg Ahrens

Ähnliche Dokumente
BACKUP Datensicherung unter Linux

Ausgewählte Komponenten von Betriebssystemen. Lehrstuhl Prof. Paul

UEFI. Unified Extensible Firmware Interface UEFI. OSP 2015 UEFI Rene Brothuhn Seite: 1

Partitionierung unter Linux

Linux Tutorium. Linux Tutorium Systemkonfiguration. Linux Tutorium Systemkonfiguration Seite: 1

HOWTO: Multi Boot USB Stick erstellen

Booten eines Linux-PCs

FP&S. Linux-basierter Zugangsrouter und Firewall

Konzepte von Betriebssystemkomponenten

Master-Boot-Record sichern

Installieren von Betriebssystemen

BOOTSTRAPPING. Konzepte von Betriebssystem-Komponenten

So funktioniert der Bootvorgang unter WindowsXP

Dateisystem: Einführung

Dateisystem: Einführung

Kali Linux. Hax0r. Kali USB (Persistenz + NTFS) Windows Benutzer freischalten

Software-RAID. Im Folgenden werden die RAID-Level 1, RAID 1 mit HotSpare und RAID 5 beschrieben.

BOOTSTRAPPING. Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg

1. Während der Installation Linux, wenn leere Partition für Betriebsystem vorhanden

Erstellen eines Boot-Mediums

Fachreferat. EFI -BIOS Nachfolger-

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32

Knoppix-Remastering Workshop

Linux Grundlagen. Wolfgang Scheicher 20. Mai Allgemeines Bootvorgang Verzeichnisstruktur... 2

Linux Grundlagen. Wolfgang Scheicher. 20. Mai 2006

KNOPPIX GNU/Linux ohne Installation

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

Dateisystem: Einführung

Dateisystem: Einführung

4 Linux einsatzbereit konfigurieren

Dateisystem 1, Suchpfad, Befehlstypen

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Knoppix-Remastering Knoppix-Remastering. Christian Perle, secunet Security Networks AG, NL Dresden 1

Erstellung und Installation einer Windows Unattended CD

Der Bootloader von Windows 2000 / XP

1.1 Leicht oder schwer? Installieren Automatisiert und schnell: Installieren mit Kickstart Prüfungsvorbereitung 27

1 Bitte beachten Kurzanleitung imgPTN-Dateien Portable machen Links & Quellen... 11

RAM-Dateisysteme. Proseminar Speicher- und Dateisysteme SoSe Christoffer Kassens

Dualboot Installation Windows 10 / Linux-Betriebssystem

Betriebssysteme Teil 16: Dateisysteme (Beispiele)

PUE, UEFI und IPv6 Herausforderungen im Datacenter. Markus Schade

4.1 Datenträger/Partitionen

Initramfs - The initial RAM filesystem

Hardware. Heimo Schön 4/2002 Seite 1/22

Dateisysteme. Was ist ein Dateisystem?:

LINUX auf einem Compaq Presario 1800 installieren

Installations-Dokumentation, YALG Team

Installationshinweise Linux Kubuntu 9.04 bei Verwendung des PC-Wächter

ASUS Disk Unlocker Anleitung

Windows-Installation aus einer ISO-Datei

Booten mit EFI. Prof. Dipl.-Ing. Klaus Knopper

Festplatte klonen: Tutorial

BIO-SETUP UND SICHERHEIT

Linux booten leicht gemacht: Barebox

Automatisierte Installation der ESXi Hosts (z.b. für Disaster Recovery).

Vorlesung - Linux Boot

PPS - Linux-basierter Zugangsrouter und Firewall USB und lrp-pakete

Installationshinweise Linux Edubuntu 7.10 bei Verwendung des PC-Wächter

10 Jahre KNOPPIX KNOPPIX. Live GNU/Linux System. Schwarz: Transparent, CD Hintergrundfarbe (silber) bei Zweifarbdruck, sonst schwarz.

Tutorial GParted Erweitern einer NTFS-System-Partition

tune2fs -O extents,uninit_bg,dir_index /dev/device

Geräteverwaltung: Einführung

Migration Physischer Linux-Server auf VMware ESX 3.0

Partitionieren und Formatieren

Installationsanleitungen

2 Installation. jungfräulichen PC installieren, der noch kein anderes System gesehen hatte.

Bios update Anleitung mit Q-Flash im 2D Bios. Wichtige Hinweise!

.DSLWHO*%HWULHEXQWHU6&281,;9

Linux gefahrlos testen

Multiboot USB Stick. Alle wichtigen ISOs immer auf einem Stick dabei. Emanuel Duss Emanuel Duss Multiboot USB Stick / 14

Einrichtung Triple-Boot Macbook. In diesem Tutorial wird gezeigt, wie Mac OS, Debian (Linux) und Windows XP auf dem Macbook installiert wird.

Dateisystem 1, Suchpfad, Befehlstypen

Dateisystem 1, Suchpfad, Befehlstypen

(PCs SerNr Mainboard Gigabyte 586 ATX2 T-TX) Eingangsbildschirm wenn BIOS aufgerufen wird

Grundlagen Linux. Grundlagen Linux. Axel Pemmann. 08. Februar 2005

Leitfaden zum Sichern einer Festplatte als Image mit der System Rescue CD

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Network-Attached Storage mit FreeNAS

Der Bootprozess unter Linux

Mount zu Windows Share Backup automatisieren

Macrium Reflect Freeware-Tutorial:

SATAII150 TX2plus UND TX4

Bernd Bleßmann, Jörg Bleßmann. Linux. Aufbau und Einsatz eines Betriebssystems. 1. Auflage. HLuHB Darmstadt. Bestellnummer Bildungsverlag EINS

Hauptseminar DVP - Projekt

.DSLWHO+%HWULHEXQWHU,QWHUDFWLYH81,;

Sicherheit wird messbar Lösungsansätze und Methoden. Case. 15. September 2009, Hotel St. Gotthard, Zürich

Das U-Boot Der Bootvorgang von Linux

Bootstrap, Bootup & Multiboot

Computer-Systeme. Teil 16: Dateisysteme

Betriebssysteme Vorstellung

Bootvorgang und Partitionstabelle

Raid auf einem neuem System erstellen

Bootvorgang des DSM-Systems Systems Plurix

Gparted Tutorial by Georg

Betriebssysteme 1. Thomas Kolarz. Folie 1

Linux und Windows parallel auf dem PC

Dateisysteme Linux-Kurs der Unix-AG

How to install ubuntu by crypted file system

Halt! Wo bin ich überhaupt?... C:\

Transkript:

Linux booten Was passiert beim Einschalten eines PCs? Das BIOS Viele Bootsektoren Bootloader (Grub, LILO) Kernel Parameter und InitRD Feinheiten beim Plattenausfall

Der Bootvorgang Beim Einschalten eines PCs wird das BIOS ausgeführt Das BIOS lädt einen Bootloader von einem Speichermedium oder vom Netzwerk Der Bootloader lädt ein Betriebssystem (oder einen weiteren Bootloader)

Das BIOS Das Basic Input Output System ist ein kleines Betriebssystem. Es stellt Ein-/Ausgabe Dienste für Tastatur, Grafikkarte, Speichergeräte, Drucker, usw. zur Verfügung. Das BIOS wohnt in einem (P)ROM auf dem Motherboard. Beim Einschalten des PCs wird das BIOS ausgeführt. Es führt den Power On Self Test durch. Es liest einen Boot Sektor von einem Speichergerät und startet ihn.

BIOS Interrupt 0x13 Schnittstelle zum Zugriff auf Speichergeräte Gerätecodes des Interrupt 0x13: 0x00 Diskette 1 0x01 Diskette 2 0x80 Platte 1 0x81 Platte 2 0x83 Platte 3 usw. Die Gerätecodes werden POST festgelegt! (z.b.: IDE Ctrl. 1 Master, Slave, IDE Ctrl. 2 Master, Slave) Bootloader benutzen int 0x13 zum Zugriff auf Geräte. Sie können also nur auf die Blöcke einer Platte zugreifen, die das BIOS sieht (1024 Zylinder Grenze!)

BIOS boot Priorität Das BIOS sucht nach eingestellten Prioritäten die Geräte nach gültigen Bootsektoren ab. Im BIOS Setup können diese Prioritäten verändert werden z.b.: Diskette, CD, Platte1, Platte2 oder CD, Platte2, Diskette, Platte1. Der PC Standard sieht vor, dass nur von der ersten Diskette und von der ersten Platte gebootet werden kann. Fast alle BIOS Implementierungen können mehr. Soll von der 2. Platte gebootet werden, passt das BIOS die Gerätecodes an, die 2. Platte wird 0x80 und die erste Platte 0x81!

Bootsektoren Ein Medium mit Partitionierung (Platte) hat Einen Master Bootsektor (MBR), das ist der 1. Sektor des Mediums Pro Partition einen Volume Bootsektor(VBR), das ist der erste Sektor der Partition Ein Medium ohne Partitionierung (Diskette) kann nur einen Volume Bootsektor enthalten. Ein Bootsektor ist 512 Bytes groß und muss eine bestimmte Signatur (0xAA55 an Position 0x01FE) tragen, um gültig zu sein. Das BIOS startet bei partitionierten Medien nur den MBR (Ausnahmen bestätigen die Regel)

Orte für Bootsektoren V B R Diskette M B R V B R P1 V V B B P1 P2 P3 R R P2 P3 V B V R B P4 R Erweiterte Partition (P4) V V L1 B L2 B L3 R R Festplatte

Struktur eine Bootloaders Ein Bootloader besteht aus mehreren Teilen (stages), weil in einem Bootsektor nicht genug Platz ist. Der Code für Stage 1 ist im Bootsektor enthalten. Seine Aufgabe ist es, die nächste Stage zu laden und zu starten. Stage 1 kennt keine Strukturen wie Dateisysteme. Daher muss die Information, wo die nächste Stage zu finden ist in Blocknummern (oder CHS Adressen) im Stage 1 Code eingebaut werden.

Grub Stage 1 auf einem VBR Lädt Stage 2 per Blockliste von einem Volume(Plattenpartition) Stage 2 kennt Dateisysteme und kann einen Linux Kernel per Dateinamen laden Stage 1 auf einem MBR Lädt Stage 1.5 aus den Blöcken zwischen MBR und erster Partition. Stage 1.5 kennt Dateisysteme und kann Stage 2 per Dateinamen laden Stage 2 kennt Dateisysteme und kann einen Linux Kernel per Dateinamen laden

Grub VBR Stage 1 blocklist Minix Dateisystem Stage 2 menu.lst Diskette MBR Stage 1 blocklist Stage 1_5 V B R Ext2 Dateisystem Stage 2 menu.lst Festplatte

Grub Die Grub hat eine shell (Stage 2) mit der man Grub im Bootvorgang interaktiv bedienen kann. Grub Grundlagen: Gerätenamen in Klammern: (fd0) (hd0)... Platten werden von 0 an hochgezählt: (hd0), (hd1)... Partitionen werden von 0 hochgezählt und mit, an die Plattenbezeichnung angehängt: (hd0,0) (hd0,1)... Grub arbeitet immer im Kontext eines root Gerätes.

Grub Kommandos root <Gerät> : bestimmt das aktive Volume (Partition), auf der sich stage 2 und Kernel befinden. kernel <Dateiname> : bestimmt die Datei, die als Kernel geladen werden soll. initrd <Dateiname> : bestimmt die Init Ramdisk, die geladen werden soll. boot : startet den Bootvorgang (wenn mindestens root und kernel angegeben sind) setup <Gerät> : installiert eine Grub stage 1 auf einem Bootsektor

Grub Praxis Wir bauen eine Grub Diskette auf einem System, auf dem Grub als Software installiert ist: Minix Dateisystem auf Diskette anlegen mit mkfs.minix /dev/fd0 Dateisystem mounten mit mount /dev/fd0 /mnt Grub Stages kopieren mit cp -Rp /boot/grub /mnt Dateisystem unmounten mit umount /mnt Grub Bootsektor auf Diskette schreiben mit $ grub > root (fd0) > setup (fd0) > quit

Grub Praxis Wir booten mit dieser Diskette eine System (hda1 = /boot und hda2 = /) > root (hd0,0) > kernel /<tab> Der Tab Ergänzungsmechanismus, der aus der bash bekannt ist. > boot

Grub Menü Alle Grub Kommandos können in einer Datei menu.lst benutzt werden. Zusätzlich: timeout : legt eine Wartezeit fest default : legt den default Menüeintrag fest title : leitet einen Menü Eintrag ein Praxis: wir bauen ein Menü und machen die Platte bootfähig.

Kernel Command Line Dient dazu, dem Kernel Parameter zu übergeben. Näheres siehe BootPrompt HowTo und Documentation/kernel-parameters.txt im Kernel Quellverzeichis. Einige wichtige Kernel Parameter: root=/dev/hd... sagt den Kernel, auf welcher Partition sein root Dateisystem liegt init=... sagt den Kernel, welches Programm als Init zu starten ist.

Initrd Ist ein vorbereitetes Dateisystem, dass vom Bootloader in eine Ramdisk geladen wird. Es wird vom Kernel kurz nach dem Start gemountet. Es muss ein Script mit dem Namen linuxrc enthalten, das vom Kernel ausgeführt wird. Es hauptsächlich dazu, Module zu laden, bevor der Kernel Zugriff auf die Festplatte hat (z.b. Treiber für RAID Controller,...) Es wird von Distributoren gern benutzt, um mit einem stark modularisierten Kernel jede Hardware bedienen zu können. Ist im Normalbetrieb mit einem eigenen an die Hardware angepassten Kernel nicht notwendig.

Bootloader: Chain Loading Dient dazu, Bootsektoren zu laden und starten (z.b. eine Linux Installation auf einer zweiten Festplatte oder ein ganz fremdes System ;-) Mit Grub: > rootnoverify (hd1) > chainloader +1 > boot um den MBR der zweiten Festplatte zu booten. Oder > rootnoverify (hd0,3) > chainloader +1 > boot um den VBR der 4. Partition der ersten Platte zu booten.

Chain Loading: Praxis Booten der zweiten Platte von der ersten (und umgekert). Booten eines Volume Boot Sektors

LILO Der LInux Loader arbeitet nur mit Blocklisten (map file) Das bedeutet: nach jeder Veränderung an einer Kernel-, InitRD- oder Menü-Datei muss LILO neu installiert werden. Keine shell, daher auch nur wenig Interaktion möglich. Funktioniert ebenso sicher und zuverlässig wie Grub.

Plattenausfall des Primary Masters Kann man die verbliebene Platte noch vollautomatisch booten? Jein! Praxis: Vorbereitung auf den Ernstfall Mounten der Dateisysteme über Label Kernel Parameter root= als Label angeben

Links BIOS http://en.wikipedia.org/wiki/bios PC BIOS Boot Standard http://www.phoenix.com/en/customer+services/white+ Papers-Specs/pc+industry+specifications.htm Booting http://en.wikipedia.org/wiki/booting Grub manual http://www.gnu.org/software/grub/manual/ BootPrompt Howto http://www.tldp.org/howto/bootprompt-howto.html