[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Pakete_installieren:] [:Terminal: Ein Terminalfenster öffnen] }}} [[Inhaltsverzeichnis(1)]] [wikipedia:Booten:] bezeichnet das Starten bzw. Hochfahren eines Computers nach dem Einschalten (Kaltstart) oder einem Warmstart ("Neu starten" bei der Abmeldung). Dabei werden Basisprogramme des [wikipedia:BIOS:]/[wikipedia:UEFI:] ausgeführt und anschließend das Betriebssystem gestartet. = BIOS und UEFI = Der Bootvorgang selbst ist historisch gewachsen und wurde wegen der damaligen Platzprobleme (wenig Speicherplatz) auf viele Einzelschritte aufgeteilt, die Schritt-für-Schritt nachgeladen werden. Auf den meisten Rechnern, die vor 2012 verkauft wurden, kommt noch der BIOS-Modus zum Einsatz. Neuere Computer booten normalerweise im EFI-Modus, da Microsoft dies für vorinstalliertes Windows 8 oder neuer erfordert. Sie haben aber meist ein zu BIOS kompatibles CSM. Sofern EFI aktiv eingesetzt wird, kommt "intelligenter" Programmcode viel früher im Bootprozess zum Einsatz. EFI kann man dabei als eigenständiges, zwischengeschaltetes Betriebssystem verstehen, das umfangreiche Aufgaben übernehmen kann und weitere Komponenten in einem eigenen Dateisystem innerhalb des Ordners '''/EFI''' vorhält. Auch auf UEFI-Systemen ist weiterhin ein BIOS im Einsatz. Mehr Details sind der Artikelserie [:EFI_Bootmanagement:] zu entnehmen. == Abgrenzung BIOS/UEFI == Das alte BIOS wird nicht komplett durch UEFI ersetzt. Dinge wie der [wikipedia:Power-on_self-test:POST] ('''P'''ower '''O'''n '''S'''elf '''T'''est) oder die grundlegende Konfiguration über das BIOS-Setup werden weiterhin über das BIOS geregelt. Im weiteren Verlauf des Artikels wird der Bootvorgang nach dem BIOS- und/oder EFI-Modus unterschieden. = Bootvorgang = == Einschalten == [[Vorlage(Bildunterschrift, bios.jpg, 200, "Meldungen des Power on self test (POST)", right)]] Nach dem Einschalten eines Computers wird durch das BIOS ('''B'''asic '''i'''nput '''o'''utput '''s'''ystem) der "Power on self Test" durchgeführt. Der POST dient dazu, Hardware zu erkennen und ansprechbar zu machen. So wird unter anderem ermittelt, welcher Prozessor verbaut ist, ob ein Bildschirm oder eine Tastatur angeschlossen ist, wie viel Arbeitsspeicher (RAM) zur Verfügung steht und welche Laufwerke vorhanden sind. In dieser Phase des Bootvorgangs ist es möglich, durch Drücken einer bestimmten Taste in die BIOS-Einstellungen zu kommen. Diese Einstellungen sind je nach System mehr oder weniger umfangreich. Hier lässt sich zum Beispiel die Bootreihenfolge der Festplatten ändern oder die primäre Grafikkarte umstellen. Je nach Modus, verläuft der weitere Bootvorgang etwas anders ab: * [#BIOS-Modus BIOS-Modus] (siehe unten) * [:EFI_Bootmanagement:EFI-Modus] (Artikelserie zu EFI) Ist ein Monitor angeschlossen, werden Fehler auf diesem ausgegeben. Da das Grafiksystem nicht funktionieren oder nicht vorhanden sein kann, werden Fehlermeldungen als akustische [wikipedia:Liste der BIOS-Signaltöne:Tonfolgen] ausgegeben. == BIOS-Modus == Nach dem erfolgreichen POST sucht das BIOS auf dem ersten Sektor (Master-Boot-Record) der eingestellten Bootfestplatte nach dem [wikipadia:Bootloader:] und gibt die Kontrolle an diesen weiter. [[Vorlage(Bildunterschrift, boot_grub.png, 200, "GRUB-Auswahlmenü", right)]] Da der Platz im Bootsektor mit 440 Bytes sehr gering ist, arbeiten die meisten Bootloader (bei Ubuntu ist das derzeit [:GRUB_2:]) in mehreren Stufen. Die erste Stufe kennt dabei nur die genaue Lage und die Länge der zweiten Stufe auf der Festplatte. Die zweite Stufe enthält Dateisystemtreiber und kann damit zum Beispiel Dateien aufrufen und weitere Stufen laden und/oder ein Bootmenü anzeigen. GRUB 2 kann auch andere Bootloader per "Chainload" aufrufen. So ist es möglich, dass GRUB 2 den Bootloader von Windows oder anderen Betriebssystemen lädt. Der Bootloader oder Bootmanager hat folgende Aufgaben: 1. Er bietet die Möglichkeit, [:Bootoptionen:] an den Kernel zu übergeben 1. Den Betriebssystemkernel ('''/boot/vmlinuz-KERNELNUMMER''') laden und starten 1. Die initiale RAM-Disk ([wikipedia:Initramfs:]) im Speicher erstellen Danach übernimmt der Kernel den weiteren Bootprozess. == Übernahme des Starts durch den Kernel == Nachdem der Kernel gestartet wurde, wird der Inhalt von '''/boot/initrd.img-KERNELNUMMER-generic''' in die RAM-Disk entpackt und als erstes das Root-Dateisystem eingehangen. Somit kann der Kernel auf die in diesem Dateisystem enthaltene Verzeichnisstruktur zugreifen und startet als ersten Prozess das Programm '''/sbin/init'''. Init steuert nun den weiteren Startvorgang und lädt benötigte Kernelmodule (Treiber). Lässt man sich alle [:Bootoptionen#Optionen-fuer-Bootmeldungen:Bootmeldungen] anzeigen, ist diese Phase des Bootvorgangs an Meldungen wie > Begin: Loading essential drivers ... done. > > Begin: Running /scripts/init-premount ... done. > >... zu erkennen. Normalerweise wird jedoch der Bootsplash [:Plymouth:] angezeigt, der (ebenfalls von der RAM-Disk geladen) die Bootmeldungen zugunsten einer optisch ansprechenderen grafischen Anzeige versteckt. === Busybox === Werden beim Start des [:Dienste#Init-Systeme: Init-Systems] schwerwiegende Fehler entdeckt, dann startet [wikipedia:BusyBox:]. Busybox ist ein Minibetriebssystem und stellt eine Shell zur Eingabe und Ausgabe bereit. Der Befehlssatz von Busybox ist jedoch eingeschränkt und die enthaltenen Befehle können von denen des eigenen Systems abweichen. Durch die Eingabe von `help` kann man sich alle vorhandenen Befehle anzeigen lassen. === Einbinden der Root-Partition === Nach der Überprüfung der in der Datei [:fstab:/etc/fstab] enthaltenen Partitionen wird das Root-Dateisystem durch [man:pivot_root:] {en} von der RAM-Disk auf die Root-Partition des realen Datenträgers verlagert. Die RAM-Disk ist nach Abschluss der Verlagerung nicht mehr notwendig und der benutzte Speicher wird wieder freigegeben. Nach dem Start von init und der [:Dienste:] ist der eigentliche Bootvorgang abgeschlossen. Wird mittels Diensten auch ein [:Displaymanager:] gestartet, übernimmt dieser den Start einer Desktop-Umgebung. Ohne Displaymanager erscheint eine textbasierte Anmeldung (login). == Start der Desktop-Umgebung == Wird ein Displaymanager gestartet, übernimmt dieser das Starten in eine grafische Umgebung. Dazu wird 1. der [:Wayland:] oder [:XServer:] gestartet - je nach Ubuntu-Version, Derivat und unterstützter Hardware 1. aktuelle Spracheinstellungen aus '''/etc/default/locale''' ausgelesen 1. der grafische Anmeldedialog angezeigt Nach Eingabe des Benutzernamens wird nun die entsprechende grafische [:Displaymanager#Sitzungsauswahl:Sitzung] bzw. der Desktop gestartet. = Schematischer Ablauf = {{{#!vorlage Tabelle <-2 rowclass="titel"> Vereinfachtes Schema eines Standardablaufs mit dem Bootloader [:GRUB_2:] +++ <>Bedeutung +++ 1. Einschalten des Computers und den "Power-on self-test" ([wikipedia:Power-on_self-test:POST]) durchführen, inkl. Grafikkarte verfügbar machen. +++ Sobald die Grafikkarte eingerichtet ist, kann man weitere Hinweise/Fehler auf dem Bildschirm ablesen und, sofern notwendig, in das BIOS-/EFI-Setup wechseln. Dies geschieht über die [[Vorlage (Tasten F)]]-Tasten oder bei einigen Boards mit [[Vorlage (Tasten esc)]] oder [[Vorlage (Tasten entf)]]. In der Regel wird dazu ein Hinweis am unteren Bildschirmrand gegeben. +++ <^>2. <>BIOS-Modus: [wikipedia:Master_Boot_Record#Bootloader:Bootcode] des [wikipedia:Master_Boot_Record:MBR] laden, den sog. Urlader.[[BR]]EFI-Modus: [wikipedia:UEFI:EFI-Umgebung] starten und die [:GRUB_2/Grundlagen#Mit-EFI:EFI System Partition (EF00)] verfügbar machen. +++ <^ cellstyle="border-bottom: none">3. Die [:GRUB_2/Grundlagen:GRUB 2] verfügbar machen, um auf Systemdateien, z.B. [:Verzeichnisstruktur#boot:/boot/grub/], zugreifen zu können. Ein [:GRUB_2/Grundlagen#Systemstart:Teil] von GRUB 2 liegt je nach Start-Modus in einem speziellen Bereich: +++ BIOS-Modus mit [wikipedia:Partitionstabelle:MBR/MPT]: in freien, verborgenen Bereichen des Datenträgers (Stichworte: [:GRUB_2/Installation/#Grub-in-einen-anderen-Ort-als-den-MBR-installieren:MBR, Partitionsbereich, andere Stelle]) [[BR]]BIOS-Modus mit [wikipedia:GUID_Partition_Table:GPT]: in einer eigenen [:GRUB_2/Grundlagen#Ohne-EFI:BIOS Boot Partition (EF02)][[BR]]EFI-Modus mit GPT: in einer eigenen EFI-System-Partition (EF00) (bei Ubuntu unter: [:efibootmgr#Booteintrag-erstellen:/EFI/ubuntu/grubx64.efi]) +++ 4. Die Konfigurationsdatei des Bootloaders ([:GRUB_2/Konfiguration#Grub-Konfiguration-updaten:grub.cfg]) laden und die eingetragenen [wikipedia:Betriebssystem:Betriebssysteme] zur Auswahl anbieten bzw. starten. +++ 5. Die [wikipedia:Ramdisk:] ([wikipedia:Initramfs:initramfs]) zur Verfügung stellen und den [:Kernel:] (linux/kernel) laden. +++ <^ cellstyle="border-bottom: none">6. Das ausgewählte [:Downloads:Betriebssystem] starten: +++ Das kann ein Basissystem, wie z.B. der [:Recovery_Modus:Wiederherstellungsmodus], ein Server im Kommandozeilen-Modus oder eine [:XServer:grafische Oberfläche] mit [:Displaymanager:] sein, aber auch ein fremdes System wie z.B. [:MS-Windows_Integration:Windows]. }}} [[Anker (Angabe-von-Optionen-beim-Booten-von-CD)]] = Hilfreiche Tastaturbelegung = Oft steht man vor dem Problem, dass die Tastatur zu diesem Zeitpunkt noch auf die us-amerikanische [wikipedia:Datei\:KB_United_States.svg:Tasten-Belegung] eingestellt ist und nicht umgestellt werden kann. Um dennoch die richtigen Zeichen auf einer [wikipedia:Datei\:KB_Germany.svg:deutschen Tastatur:] zu finden, soll die folgende Tabelle einen Überblick bieten. || deutsche Tastatur ||<)> ^ || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 0 || ß || '''´''' || <|3>[[Vorlage (Tasten, backspace)]] || || US-Zeichen || <)>'''\`''' || || || || || || || || || || || '''-''' || = || || US-Zeichen mit [[Vorlage (Tasten, shift)]] ||<)> ~ || ! ||@ ||# ||$ ||% ||^ ||& ||* || ( || ) || _ ||+ || || deutsche Tastatur ||<|3>[[Vorlage (Tasten, tab)]] || q || w || e || r || t || z || u || i || o || p || ü ||+ ||<|6> [[Vorlage (Tasten, enter)]] || || US-Zeichen || || || || || || y || || || || || { || } || || US-Zeichen mit [[Vorlage (Tasten, shift)]] || || || || || || Y || || || || || [ || ] || || deutsche Tastatur ||<|3>[[Vorlage (Tasten, caps)]] || a || s || d || f || g || h || j || k || l || ö || ä || # || || US-Zeichen || || || || || || || || || || ''';''' || ''''''' || \ || || US-Zeichen mit [[Vorlage (Tasten, shift)]] || || || || || || || || || || ''':''' || " || | || || deutsche Tastatur ||<|3>[[Vorlage (Tasten, shift)]] || '''<''' || y || x || c || v || b || n || m || ''',''' || '''.''' || '''-''' ||<|3-2:> [[Vorlage (Tasten, shift)]] || || US-Zeichen || '''<''' || z || || || || || || || || || '''/''' || || US-Zeichen mit [[Vorlage (Tasten, shift)]] || '''>''' || Z || || || || || || || '''<''' || '''>''' || ? || = Generelle Bootprobleme = Im Wiki finden sich eine Reihe von speziellen Lösungen zu Problemen bei bestimmten Hardware-Konstellationen, die dort nachgelesen werden müssen. Im folgenden gibt nur eine kurze Übersicht über die am meisten auftretenden Probleme. == GRUB-Meldungen == Der Start des Systems endet mit einem schwarzen Bildschirm und es werden GRUB-Meldungen ausgeben. Dabei handelt es sich nicht um ein Bootproblem, das mit Optionen umgangen werden kann. Zu Problemen und Lösungsansätzen mit dem Bootloader gibt es eigene Artikel unter [:GRUB_2/Problembehebung#Probleme-vor-Erscheinen-des-Auswahlmenues:]. == Keine Partitionen gefunden == Es kann vorkommen, dass die [:Installation:Installationsroutine] keinen Datenträger oder keine Partitionen findet. Sofern es sich dabei nicht um ein Problem mit der Partitionstabelle handelt (z.B. Apple=APM), siehe dazu die Bootoption [:Bootoptionen:nodmraid]. == Booten hängt, wie weiter == 1. Wenn Ubuntu bei der Animation von [:Plymouth:] stehenbleibt, kann man durch Drücken von [[Vorlage (Tasten, esc)]] oder [[Vorlage (Tasten, f1)]] die dahinter verborgenen Meldungen anzeigen lassen und auswerten. 1. Versuchen, das System mit den [:Magic_SysRQ:] auf eine "sanfte" Art zum Herunterfahren anzuregen. Ein "hartes" Ausschalten des Rechner sollte nur die letzte Option sein, da es z.B. zu Datenverlust bei bereits [:mount:eingehangenen] Partitionen führen kann. 1. Die Optionen [:Bootoptionen:nomodeset, noapic, nolapic] ausprobieren - auch in Kombinationen. 1. Die Optionen [:Bootoptionen:quiet und splash] durch `noplymouth` ersetzten, um den ganzen Startvorgang beobachten zu können und Fehlerhinweise zu finden. 1. Wenn man unter den angebotenen Optionen keinen Lösungsansatz findet, dann kann man über das [http://forum.ubuntuusers.de/ Forum] Hilfe erbitten. Vorher sollte man die Fehlerausgabe aktivieren und den Bootvorgang beobachten, d.h. die sichtbaren Fehler zum Zeitpunkt des Stopps, abschreiben und im Post unbedingt in [:Forum/Syntax#Syntaxelemente:Codeblock/Rohformat] mit angeben. == Grafikkarten == Sofern die Optionen [:Bootoptionen:nomodeset oder noplymouth] keinen Erfolg bringen, kann man unter [:Grafikkarten:] weitere Bootoptionen zur entsprechenden Karte finden. == Multicore == Moderne Prozessoren besitzen meist zwei oder noch mehr Kerne, Informationen dazu gibt es unter [:Multicore:]. == Festplatten == Unter [:Festplatten_Problembehebung:Festplatten-Problembehebungen] werden Informationen zur Fehlererkennung aufgelistet. === SSD === Beim Einsatz eines [:SSD:Solid State Drive] (meist SSD genannt) gibt es einige Einstellungsmöglichkeiten, die unter [:SSD/TRIM:] beschrieben sind. = Links = == Intern == ## * [:Konsolen-Auflösung:] - Details, wie man die Auflösung der virtuellen Konsole ändert * [:PXE-Boot:] - Booten über eine Netzwerkverbindung * [:Recovery-Modus:Wiederherstellungmodus] - Die Root-Shell zum Reparieren von Ubuntu * [:Plymouth:] - Der grafische "Boot Splash" * [:Kernel:] * [:Kernelmodule:] * [:dmidecode:] - Informationen zur Charakteristik des Mainboards ermitteln * [:efibootmgr:] - Ein Linuxprogramm zum Bearbeiten des (U)EFI‐Boot-Menüs == Extern == * [https://www.almesberger.net/cv/papers/ols2k-9.pdf Booting Linux: The History and the Future] {en} {dl} - Beschreibung des Linux-Bootprozess, 06/2000 (PDF-Datei) * [https://www.kernel.org/doc/Documentation/admin-guide/initrd.rst Using the initial RAM disk (initrd)] {en} - Wie die initiale RAM-Disk und initrd benutzt wird, 06/2000 * [https://www.uefi.org/faq UEFI-FAQ] {en} - Fragen und Antworten zu UEFI * [https://www.ibm.com/developerworks/linux/library/l-linuxboot/ Inside the Linux Bootprocess] {en} - Ausführliche Beschreibung des Linux-Boot-Prozesses, 05/2006 * Thomas Krenn Wiki: * [https://www.thomas-krenn.com/de/wiki/BIOS_Einstellungen BIOS-Einstellungen] {de} * [https://www.thomas-krenn.com/de/wiki/Kategorie:UEFI UEFI] {de} * [https://www.kernel.org/doc/Documentation kernel.org] {en} Kernel-Dokumentation * [ubuntu_doc:community/BootOptions#Changing_the_CD.27s_Default_Boot_Options:Boot Options] {en} im Ubuntu Wiki * [man:initramfs-tools:] {en} - Manpage mit Bootoptionen * [man:casper:] {en} - Manpage zum initramfs-Werkzeug von Ubuntu # tag: System, Booten, Übersicht