Update to r42014

This commit is contained in:
Bjoern Heidotting 2016-05-14 08:13:04 +00:00
parent a099fe2f72
commit d9ce482f61
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48808

View file

@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/boot/chapter.xml,v 1.63 2012/04/22 20:05:15 bcr Exp $
basiert auf: r40897
basiert auf: r42014
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="boot">
<info><title>&os;s Bootvorgang</title>
@ -82,53 +82,58 @@
Bootstrap dann die Technik das Betriebssystem zu laden bezeichnet
und wurde hinterher mit booten abgekürzt.</para>
<indexterm><primary>BIOS</primary></indexterm>
<indexterm><primary><acronym>BIOS</acronym></primary></indexterm>
<indexterm>
<primary>Basic Input/Output System</primary>
<see>BIOS</see>
<see><acronym>BIOS</acronym></see>
</indexterm>
<para>Auf x86-Plattformen ist das BIOS (Basic Input/Output System)
dafür verantwortlich, das Betriebssystem zu laden. Dazu
liest das BIOS den Master Bootsektor (MBR; Master Boot Record)
aus, der sich an einer bestimmten Stelle auf der
Festplatte/Diskette befinden muss. Das BIOS kann den MBR
selbstständig laden und ausführen und geht davon aus,
dass dieser die restlichen Dinge, die für das Laden des
Betriebssystems notwendig sind, selbst oder mit Hilfe des BIOS
erledigen kann.</para>
<para>Auf x86-Plattformen ist das Basic Input/Output System
(<acronym>BIOS</acronym>) dafür verantwortlich, das
Betriebssystem zu laden. Dazu liest das <acronym>BIOS</acronym>
den Master Boot Record (<acronym>MBR</acronym>) aus, der sich an
einer bestimmten Stelle auf der Festplatte befinden muss. Das
<acronym>BIOS</acronym> kann den <acronym>MBR</acronym>
selbstständig laden und ausführen und geht davon aus, dass
dieser die restlichen Dinge, die für das Laden des
Betriebssystems notwendig sind, selbst oder mit Hilfe des
<acronym>BIOS</acronym> erledigen kann.</para>
<indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
<indexterm>
<primary>Master Boot Record (<acronym>MBR</acronym>)</primary>
</indexterm>
<indexterm><primary>Boot Manager</primary></indexterm>
<indexterm><primary>Boot Loader</primary></indexterm>
<para>Der Code innerhalb des MBRs wird für gewöhnlich als
<emphasis>Boot-Manager</emphasis> bezeichnet, insbesondere, wenn
eine Interaktion mit dem Anwender stattfindet. Ist dies der Fall,
verwaltet der Boot-Manager zusätzlichen Code im ersten
<emphasis>Track</emphasis> der Platte oder in Dateisystemen
anderer Betriebssysteme. (Boot-Manager werden manchmal auch als
<para>Der Code innerhalb des <acronym>MBR</acronym>s wird für
gewöhnlich als <emphasis>Boot-Manager</emphasis> bezeichnet,
insbesondere, wenn eine Interaktion mit dem Anwender
stattfindet. Ist dies der Fall, verwaltet der Boot-Manager
zusätzlichen Code im ersten <emphasis>Track</emphasis> der
Platte oder in Dateisystemen anderer Betriebssysteme.
Boot-Manager werden manchmal auch als
<emphasis>Boot Loader</emphasis> bezeichnet, unter &os; wird
dieser Begriff aber für eine spätere Phase des
Systemstarts verwendet.) Zu den bekanntesten Boot-Managern
gehören <application>boot0</application> (der auch als
dieser Begriff aber für eine spätere Phase des Systemstarts
verwendet. Zu den bekanntesten Boot-Managern gehören
<application>boot0</application>, der auch als
<application>Boot Easy</application> bekannte
Standard-Boot-Manager von &os;), <application>Grub</application>,
Standard-Boot-Manager von &os;, <application>Grub</application>,
<application>GAG</application>, sowie
<application>LILO</application>.
(Von diesen Boot-Managern hat nur <application>boot0</application>
innerhalb des MBRs Platz.)</para>
<application>LILO</application>. Von diesen Boot-Managern hat
nur <application>boot0</application> innerhalb des
<acronym>MBR</acronym>s Platz.</para>
<para>Falls nur ein Betriebssystem installiert ist, ist der
Standard MBR ausreichend. Dieser MBR sucht nach dem ersten
bootbaren Slice (das dabei als <emphasis>active</emphasis>
gekennzeichnet ist) auf dem Laufwerk und führt den dort
vorhandenen Code aus, um das restliche Betriebssystem zu
laden. Der von &man.fdisk.8; in der Voreinstellung
installierte MBR ist ein solcher MBR und basiert auf
Standard <acronym>MBR</acronym> ausreichend. Dieser
<acronym>MBR</acronym> sucht nach dem ersten bootbaren Slice
(das dabei als <emphasis>active</emphasis> gekennzeichnet ist)
auf dem Laufwerk und führt den dort vorhandenen Code aus, um das
restliche Betriebssystem zu laden. Der von &man.fdisk.8; in der
Voreinstellung installierte <acronym>MBR</acronym> ist ein
solcher <acronym>MBR</acronym> und basiert auf
<filename>/boot/mbr</filename>.</para>
<para>Falls mehrere Betriebssysteme installiert sind, kann ein
@ -138,20 +143,20 @@
Abschnitt beschreibt zwei Boot-Manager.</para>
<para>Das restliche &os;-Bootstrap-System ist in drei Phasen
unterteilt. Die erste Phase wird vom MBR durchgeführt, der
gerade genug Funktionalität besitzt um den Computer in
einen bestimmten Status zu verhelfen und die zweite Phase zu
starten. Die zweite Phase führt ein wenig mehr Operationen
durch und startet schließlich die dritte Phase, die das Laden
des Betriebssystems abschließt. Der ganze Prozess wird in drei
Phasen durchgeführt, weil PC Standards die Größe
der Programme, die in Phase eins und zwei ausgeführt
werden, limitiert. Durch das Verketten der durchzuführenden
Aufgaben wird es &os; möglich, ein sehr flexibles
Ladeprogramm zu besitzen.</para>
unterteilt. Die erste Phase wird vom <acronym>MBR</acronym>
durchgeführt, der gerade genug Funktionalität besitzt um den
Computer in einen bestimmten Status zu verhelfen und die zweite
Phase zu starten. Die zweite Phase führt ein wenig mehr
Operationen durch und startet schließlich die dritte Phase, die
das Laden des Betriebssystems abschließt. Der ganze Prozess
wird in drei Phasen durchgeführt, weil PC Standards die Größe
der Programme, die in Phase eins und zwei ausgeführt werden,
limitiert. Durch das Verketten der durchzuführenden Aufgaben
wird es &os; möglich, ein sehr flexibles Ladeprogramm zu
besitzen.</para>
<indexterm><primary>Kernel</primary></indexterm>
<indexterm><primary><command>init</command></primary></indexterm>
<indexterm><primary>&man.init.8;</primary></indexterm>
<para>Als nächstes wird der Kernel gestartet, der zunächst nach
Geräten sucht und sie für den Gebrauch
@ -173,28 +178,32 @@
<sect2 xml:id="boot-boot0">
<title>Der Boot-Manager</title>
<indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
<indexterm>
<primary>Master Boot Record (<acronym>MBR</acronym>)</primary>
</indexterm>
<para>Der Code im MBR oder im Boot-Manager wird manchmal auch
als <emphasis>stage zero</emphasis> des Boot-Prozesses
bezeichnet. Dieser Abschnitt beschreibt zwei Boot-Manager:
<application>boot0</application> und
<application>LILO</application>.</para>
<para>Der Code im <acronym>MBR</acronym> oder im Boot-Manager
wird manchmal auch als <emphasis>stage zero</emphasis> des
Boot-Prozesses bezeichnet. Dieser Abschnitt beschreibt zwei
Boot-Manager: <application>boot0</application> und
<application>LILO</application>.</para>
<formalpara><title>Der <application>boot0</application> Boot-Manager:</title>
<formalpara>
<title>Der <application>boot0</application>
Boot-Manager:</title>
<para>Der vom &os;-Installationsprogramm oder &man.boot0cfg.8;
in der Voreinstelung installierte Master Boot Record (MBR)
<para>Der vom &os;-Installationsprogramm oder &man.boot0cfg.8;
in der Voreinstelung installierte <acronym>MBR</acronym>
basiert auf <filename>/boot/boot0</filename>. Die Größe und
Leistungsfähigkeit von <application>boot0</application> ist
auf 446&nbsp;Bytes beschränkt, weil der restliche Platz
für die Partitionstabelle sowie den
<literal>0x55AA</literal>-Identifier
am Ende des MBRs benötigt wird. Wenn
<application>boot0</application> und mehrere
Betriebssysteme installiert sind, wird beim Starten des
Computers eine Anzeige ähnlich der folgenden zu sehen
sein:</para></formalpara>
auf 446&nbsp;Bytes beschränkt, weil der restliche Platz für
die Partitionstabelle sowie den
<literal>0x55AA</literal>-Identifier am Ende des
<acronym>MBR</acronym>s benötigt wird. Wenn
<application>boot0</application> und mehrere Betriebssysteme
installiert sind, wird beim Starten des Computers eine
Anzeige ähnlich der folgenden zu sehen sein:</para>
</formalpara>
<example xml:id="boot-boot0-example">
<title><filename>boot0</filename>-Screenshot</title>
@ -206,21 +215,22 @@ Default: F2</screen>
</example>
<para>Diverse Betriebssysteme, insbesondere &windows;,
überschreiben den existierenden MBR, wenn sie nach &os;
installiert werden. Falls dies passiert, kann mit
folgendem Kommando der momentane MBR durch den &os;-MBR
ersetzt werden:</para>
überschreiben den existierenden <acronym>MBR</acronym>, wenn
sie nach &os; installiert werden. Falls dies passiert, kann
mit folgendem Kommando der momentane <acronym>MBR</acronym>
durch den &os;-<acronym>MBR</acronym> ersetzt werden:</para>
<screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>Gerät</replaceable></userinput></screen>
<para>Bei <replaceable>Gerät</replaceable> handelt es sich
um das Gerät, von dem gebootet wird, also beispielsweise
<filename>ad0</filename> für die erste IDE-Festplatte,
<filename>ad2</filename> für die erste IDE-Festplatte
am zweiten IDE-Controller, <filename>da0</filename>
für die erste SCSI-Festplatte. Um eine angepasste
Konfiguration des MBR zu erstellen, lesen Sie
&man.boot0cfg.8;.</para>
<para>Bei <replaceable>Gerät</replaceable> handelt es sich um
das Gerät, von dem gebootet wird, also beispielsweise
<filename>ad0</filename> für die erste
<acronym>IDE</acronym>-Festplatte, <filename>ad2</filename>
für die erste <acronym>IDE</acronym>-Festplatte am zweiten
<acronym>IDE</acronym>-Controller, <filename>da0</filename>
für die erste <acronym>SCSI</acronym>-Festplatte. Um eine
angepasste Konfiguration des <acronym>MBR</acronym> zu
erstellen, lesen Sie &man.boot0cfg.8;.</para>
<formalpara>
<title>Der LILO-Boot-Manager:</title>
@ -246,7 +256,7 @@ label=FreeBSD</programlisting>
<replaceable>/dev/hd</replaceable> verwendet. Die Zeile
<option>loader=/boot/chain.b</option> kann weggelassen werden,
wenn beide Betriebssysteme auf der gleichen Platte installiert
sind. Geben Sie danach <command>/sbin/lilo&nbsp;-v</command>
sind. Geben Sie danach <command>/sbin/lilo -v</command>
ein, um die Änderungen zu übernehmen. Achten Sie
dabei besonders auf etwaige Fehlermeldungen.</para>
</sect2>
@ -260,12 +270,13 @@ label=FreeBSD</programlisting>
Festplatte. Aufgrund von Speicherplatz-Beschränkungen
wurden sie in zwei Teile aufgeteilt, welche jedoch immer
zusammen installiert werden. Beide werden entweder vom
Installer oder von <application>bsdlabel</application> aus
Installer oder von &man.bsdlabel.8; aus
der kombinierten <filename>/boot/boot</filename>
kopiert.</para>
<para>Beide Phasen befinden sich außerhalb des Dateisystems
im Bootsektor des Boot-Slices, wo <link linkend="boot-boot0">boot0</link> oder ein anderer Boot-Manager
im Bootsektor des Boot-Slices, wo boot0 (<xref
linkend="boot-boot0"/>) oder ein anderer Boot-Manager
ein Programm erwarten, das den weiteren Bootvorgang
durchführen kann. Die Anzahl der dabei verwendeten
Sektoren wird durch die Größe von
@ -285,13 +296,10 @@ label=FreeBSD</programlisting>
eine einfache Schnittstelle, die es ermöglicht, den zu
ladenden Kernel oder Loader auszuwählen.</para>
<para>Da der <link linkend="boot-loader">Loader</link> einen
weitaus größeren Funktionsumfang hat und eine schöne
und einfach zu bedienende Boot-Konfigurations-Schnittstelle zur
Verfügung stellt, wird er gewöhnlich von
<filename>boot2</filename> anstatt des Kernels
gestartet. Früher war es jedoch dazu da den Kernel direkt
zu starten.</para>
<para>Da der &man.loader.8; einen weitaus größeren
Funktionsumfang hat und eine einfach zu bedienende
Boot-Konfigurations-Schnittstelle zur Verfügung stellt, wird
er gewöhnlich von <filename>boot2</filename> gestartet.</para>
<example xml:id="boot-boot2-example">
<title><filename>boot2</filename>-Screenshot</title>
@ -310,7 +318,7 @@ boot:</screen>
<para>Wobei <replaceable>diskslice</replaceable> das Laufwerk
und die Slice darstellt, von dem gebootet wird, beispielsweise
<filename>ad0s1</filename> für die erste Slice
auf der ersten IDE-Festplatte.</para>
auf der ersten <acronym>IDE</acronym>-Festplatte.</para>
<warning>
<title>Dangerously Dedicated Mode</title>
@ -595,7 +603,8 @@ boot:</screen>
ist die altbekannte, auf virtuellen Konsolen basierte Kommandozeile.
Nachdem das System den Bootvorgang abgeschlossen hat, wird ein
Anmeldebildschirm auf der Konsole anzeigt. Die zweite Umgebung
ist die graphische Umgebung von <link linkend="x11">Xorg</link>.
ist die graphische Umgebung, welche in <xref
linkend="x11"/>.
In diesem Kapitel finden Sie weitere Informationen zur
Installation und Konfiguration eines grafischen
Display-Managers und Login-Managers.</para>
@ -615,8 +624,8 @@ boot:</screen>
<para>Damit grössere Bilder bis zu einer maximalen Auflösung
von 1024 mal 768 Pixeln verwendet werden können, muss das
<acronym>VESA</acronym> Modul beim Systemstart geladen
werden. Für einen <link linkend="kernelconfig">angepassten
Kernel</link> muss die
werden. Für einen angepassten Kernel, wie in <xref
linkend="kernelconfig"/> beschrieben, muss die
<literal>VESA</literal>-Kernelkonfigurationsoption
eingefügt werden. <acronym>VESA</acronym>-Unterstützung
ermöglicht es, einen Willkommensbildschirm als Vollbild
@ -746,19 +755,21 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
<sect1 xml:id="boot-kernel">
<title>Kernel Interaktion während des Bootprozesses</title>
<indexterm>
<primary>Kernel</primary>
<secondary>boot interaction</secondary>
</indexterm>
<para>Wenn der Kernel einmal geladen ist, entweder durch den
<link linkend="boot-loader">Loader</link> oder durch
<link linkend="boot-boot1">boot2</link> welches den Loader
umgeht, dann überprüft er evtl. vorhandene Boot-Flags und passt
sein Verhalten nach Bedarf an.</para>
Loader (<xref linkend="boot-loader"/>) oder durch boot2
(<xref linkend="boot-boot1"/>), welches den Loader umgeht, dann
überprüft er evtl. vorhandene Boot-Flags und passt sein
Verhalten nach Bedarf an.</para>
<sect2 xml:id="boot-kernel-bootflags">
<title>Kernel Boot-Flags</title>
<indexterm>
<primary>Kernel</primary>
<secondary>bootflags</secondary>
@ -838,17 +849,20 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
</indexterm>
<para>Der Boot-Loader liest während des Systemstarts die Datei
&man.device.hints.5;, die Variablen, auch <quote>device hints</quote>
genannt, zur Konfiguration von Geräten enthält.</para>
&man.device.hints.5;, die Variablen, auch
<quote>device hints</quote> genannt, zur Konfiguration von
Geräten enthält.</para>
<para>Die Variablen können auch mit Kommandos in der <link linkend="boot-loader">Phase&nbsp;3 des Boot-Loaders</link> bearbeitet
werden. Neue Variablen werden mit <command>set</command> gesetzt,
<command>unset</command> löscht schon definierte Variablen und
<command>show</command> zeigt Variablen an. Variablen aus
<filename>/boot/device.hints</filename> können zu diesem Zeitpunkt
überschrieben werden. Die hier durchgeführten Änderungen
sind nicht permanent und beim nächsten Systemstart nicht mehr
gültig.</para>
<para>Die Variablen können auch mit Kommandos in Phase 3 des
Boot-Loaders, wie in <xref linkend="boot-loader"/> beschrieben,
bearbeitet werden. Neue Variablen werden mit
<command>set</command> gesetzt, <command>unset</command> löscht
schon definierte Variablen und <command>show</command> zeigt
Variablen an. Variablen aus
<filename>/boot/device.hints</filename> können zu diesem
Zeitpunkt überschrieben werden. Die hier durchgeführten
Änderungen sind nicht permanent und beim nächsten Systemstart
nicht mehr gültig.</para>
<para>Nach dem Systemstart können alle Variablen mit &man.kenv.1;
angezeigt werden.</para>
@ -913,8 +927,9 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
<sect1 xml:id="boot-init">
<title>Init: Initialisierung der Prozess-Kontrolle</title>
<indexterm>
<primary><command>init</command></primary>
<primary>&man.init.8;</primary>
</indexterm>
<para>Nachdem der Kernel den Bootprozess abgeschlossen hat,
@ -931,26 +946,26 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
Dateisysteme des Systems konsistent sind. Falls dies nicht
der Fall ist und die Inkonsistenz des UFS-Dateisystems nicht
durch &man.fsck.8; behebbar ist, schaltet &man.init.8; das
System in den <link
linkend="boot-singleuser">Single-User Modus</link>, damit
der Systemadministrator sich des Problems annehmen
kann.</para>
System in den Single-User-Modus (<xref
linkend="boot-singleuser"/>), damit der Systemadministrator
sich des Problems annehmen kann.</para>
</sect2>
<sect2 xml:id="boot-singleuser">
<title>Der Single-User Modus</title>
<indexterm><primary>Single-User Modus</primary></indexterm>
<indexterm><primary>Konsole</primary></indexterm>
<para>Der Wechsel in den Single-User Modus kann durch <link
linkend="boot-autoreboot">den automatischen
Reboot-Vorgang</link>, das Booten mit der Option
<para>Der Wechsel in den Single-User Modus kann durch den
automatischen Reboot-Vorgang (<xref
linkend="boot-autoreboot"/>), das Booten mit der Option
<option>-s</option>, oder das Setzen der
<envar>boot_single</envar> Variable in
<command>loader</command> erreicht werden.</para>
<envar>boot_single</envar> Variable in &man.loader.8; erreicht
werden.</para>
<para>Weiterhin kann der Single-User Modus aus dem <link
linkend="boot-multiuser">Mehrbenutzermodus</link> heraus
<para>Weiterhin kann der Single-User Modus aus dem
Mehrbenutzermodus (<xref linkend="boot-multiuser"/>) heraus
durch den Aufruf von &man.shutdown.8;, ohne die Option
<option>-r</option> oder <option>-h</option>,
erreicht werden.</para>
@ -988,17 +1003,19 @@ console none unknown off insecure</programlisting>
<sect2 xml:id="boot-multiuser">
<title>Mehrbenutzermodus</title>
<indexterm><primary>Mehrbenutzermodus</primary></indexterm>
<para>Stellt &man.init.8; fest, dass das Dateisystem
in Ordnung ist, oder der Benutzer den <link
linkend="boot-singleuser">Single-User Modus</link> beendet,
schaltet das System in den Mehrbenutzermodus, in dem dann die
Ressourcen Konfiguration des Systems gestartet wird.</para>
in Ordnung ist, oder der Benutzer den Single-User-Modus (<xref
linkend="boot-singleuser"/>) beendet, schaltet das System in
den Mehrbenutzermodus, in dem dann die Ressourcen
Konfiguration des Systems gestartet wird.</para>
<sect3 xml:id="boot-rc">
<title>Ressourcen Konfiguration, rc-Dateien</title>
<indexterm><primary>rc-Dateien</primary></indexterm>
<title>Ressourcen Konfiguration</title>
<indexterm><primary>rc-Dateien</primary></indexterm>
<para>Das Ressourcen Konfigurationssystem (engl.
<foreignphrase>resource configuration</foreignphrase>, rc)
@ -1020,8 +1037,9 @@ console none unknown off insecure</programlisting>
<sect1 xml:id="boot-shutdown">
<title>Der Shutdown-Vorgang</title>
<indexterm>
<primary><command>shutdown</command></primary>
<primary>&man.shutdown.8;</primary>
</indexterm>
<para>Im Falle eines regulären Herunterfahrens durch