home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
Chip_2000-05_cd2.bin
/
docu
/
ascii
/
suselxde
/
slxde-04.txt
< prev
next >
Wrap
Text File
|
2000-02-29
|
87KB
|
1,740 lines
Kapitel 4
Booten und Bootmanager ¡
LILO, loadlin etc.
In diesem Kapitel sollen verschiedene Methoden vorgestellt werden, wie sich
das fertig installierte System booten lΣsst. Um das VerstΣndnis der einzel-
nen Methoden zu erleichtern, werden zunΣchst einige technische Details des
Bootprozesses auf PCs erlΣutert.
4.1 Der Bootvorgang auf dem PC
Nach dem Einschalten des Rechners werden vom BIOS (engl. Basic Input
Output System) Bildschirm und Tastatur initialisiert sowie der Hauptspeicher
getestet. Bis zu diesem Zeitpunkt existieren noch keine Massenspeicherme-
dien in der Welt Ihres PCs!
Nachdem das Rumpfsystem seine Innenschau" beendet hat, kann es sich
der Erkundung der ⁿbrigen Welt widmen. Informationen ⁿber aktuelles Da-
tum, Zeit und eine Auswahl der wichtigsten Peripherie-GerΣte werden aus
den CMOS-Werten (CMOS setup) ausgelesen. Da nun die erste Festplatte
einschlie▀lich ihrer Geometrie bekannt sein sollte, kann das Laden des Be-
triebssystems von dort beginnen.
Dazu wird von der ersten Festplatte der physikalisch erste Datensektor von
512 Byte Gr÷▀e in den Speicher geladen, und die Programmkontrolle geht
auf das ProgrΣmmchen zu Beginn dieses Sektors ⁿber. Die Abfolge der auf
diese Weise ausgefⁿhrten Anweisungen bestimmt den weiteren Ablauf des
Bootvorgangs. Die ersten 512 Byte auf der ersten Festplatte werden deshalb
auch als Master Boot Record (MBR) bezeichnet.
Die ZusammenhΣnge ¡ wenngleich hier nur sehr verkⁿrzt und vereinfacht
wiedergegeben ¡ erlauben bereits zwei fⁿr das VerstΣndnis des Folgenden
wichtige Beobachtungen: Bis zu diesem Zeitpunkt (Laden des MBR) lΣuft
der Bootvorgang v÷llig unabhΣngig vom installierten System auf jedem PC
immer gleich ab, und der PC hat bis dahin zum Zugriff auf die Peripherie
lediglich die im BIOS gespeicherten Routinen (Treiber) zur Verfⁿgung.
115
4. Booten und Bootmanager
Master Boot Record
Die Struktur des MBR ist durch eine betriebssystemⁿbergreifende Konven-
tion festgelegt. Die ersten 446 Byte sind fⁿr Programmcode reserviert.1 Die
nΣchsten 64 Byte bieten Platz fⁿr eine Partitionstabelle mit bis zu vier EintrΣ-
gen (vgl. Abschnitt 2.8 auf Seite 67 und Abschnitt 2.9 auf Seite 68).2 Die letz-
ten 2 Byte mⁿssen eine feste magische Zahl" (AA55) enthalten: ein MBR,
der dort etwas anderes stehen hat, wird vom BIOS und von allen PC-Betriebs-
systemen als ungⁿltig angesehen.
Bootsektoren
Bootsektoren sind die jeweils ersten Sektoren der Festplatten-Partitionen.3
Sie bieten 512 Byte Platz und sind dazu gedacht, Code aufzunehmen, der
ein auf dieser Partition befindliches Betriebssystem starten kann. Die Boot-
sektoren formatierter DOS-, Windows- oder OS/2-Partitionen tun das auch
stets (und enthalten zusΣtzlich noch wichtige Grunddaten des Dateisystems).
Im Gegensatz dazu sind Bootsektoren von Linux-Partitionen ¡ auch nach der
Anlage eines Dateisystems ¡ von Hause aus erst einmal leer (!). Eine Linux-
Partition ist daher nicht von selbst startbar, auch wenn sie einen Kernel und
ein gⁿltiges Root-Dateisystem enthΣlt.
Ein Bootsektor mit gⁿltigem Systemstart-Code trΣgt in den letzten 2 Byte
dieselbe magische" Kennung wie der MBR.
Booten von DOS oder Windows 95/98
Im DOS-MBR der ersten Festplatte ist ein Partitionseintrag als aktiv (engl.
bootable) gekennzeichnet, was hei▀t, dass dort nach dem zu ladenden System
gesucht werden soll.4 Der DOS-Programmcode im MBR ist die erste Stufe
des Bootloaders (engl. first stage bootloader) und ⁿberprⁿft, ob auf der ange-
gebenen Partition ein gⁿltiger Bootsektor vorhanden ist.
Falls dies der Fall ist, kann der Code in diesem Bootsektor als zweite Stufe"
des Bootloaders (engl. secondary stage loader) nachgestartet werden. Dieser
lΣdt nun die Systemprogramme, und schlie▀lich erscheint der gewohnte DOS-
Prompt bzw. es startet die Windows 95/98-OberflΣche.
Unter DOS lΣsst sich nur eine einzige primΣre Partition als aktiv markieren.
Folglich kann das DOS-System nicht auf logischen Laufwerken in einer er-
weiterten Partition untergebracht werden.
4.2 Bootkonzepte
Das einfachste Bootkonzept" betrifft einen Rechner mit einem einzigen
Betriebssystem. Eine verbreitete solche Konfiguration ist DOS oder Win-
1 Der Code selbst ¡ und seine FΣhigkeiten ¡ hΣngen allerdings sehr wohl von dem Betriebssystem
ab, unter dem der MBR angelegt wurde!
2 Ohne die Partitionstabelle gibt es keine Dateisysteme (MS-DOS: Laufwerke), d. h. die Fest-
platte ist praktisch nicht zu verwenden.
3 Ausgenommen die erweiterte Partition, die nur ein BehΣlter" fⁿr andere Partitionen ist.
4 Dies bedeutet insbesondere, dass DOS zwingend auf der ersten Festplatte installiert sein muss.
116
4.2. Bootkonzepte
dows 95/98 als ausschlie▀liches Betriebssystem auf dem Rechner. Die Ab-
lΣufe in der Startphase in diesem Fall haben wir soeben geschildert.
Ein solcher Bootvorgang ist auch fⁿr einen Nur-Linux-Rechner denkbar.
Dann kann theoretisch auf die Installation von LILO verzichtet werden. Bei
einem solchen Szenario wΣre es allerdings nicht m÷glich, dem Kernel wΣh-
rend des Startens eine Kommandozeile (mit Spezialwⁿnschen zum Startvor-
gang, zusΣtzlichen Hardware-Informationen usw.) mitzugeben.
Sobald mehr als ein Betriebssystem auf einem Rechner installiert ist, bieten
sich verschiedene Bootkonzepte an:
ZusΣtzliche Systeme von Diskette booten: Ein Betriebssystem wird von
Platte geladen, mit Hilfe von Boot-Disketten k÷nnen alternativ weitere
Betriebssysteme vom Disketten-Laufwerk aus gestartet werden.
* Bedingung: Ein bootfΣhiges Diskettenlaufwerk ist vorhanden.
* Beispiel: Sie installieren Linux zusΣtzlich auf Ihrem DOS-, Win-
dows 95/98- oder OS/2-System und starten Linux stets von Bootdis-
kette.
* Vorteil: Sie ersparen sich die doch etwas heikle Bootloader-Installa-
tion.
* Nachteile: Sie mⁿssen sehr darauf bedacht sein, einen Sicherheitsvor-
rat funktionierender Bootdisketten zu haben. Der Start dauert lΣnger.
* Dass Ihr Linux ohne Bootdiskette nicht starten kann, mag je nach be-
absichtigtem Einsatz Ihres Rechners ein Nachteil oder Vorteil sein.
ZusΣtzliche Systeme zur Laufzeit nachladen: Ein Betriebssystem wird
bei jedem Systemstart geladen, weitere k÷nnen von diesem aus optional
nachgeladen werden.
* Bedingung: Geeignete Programme zum Nachstarten eines Systems
sind vorhanden.
* Beispiele: Das Laden von Linux von DOS aus mit Hilfe des Pro-
gramms loadlin.exe (vgl. Abschnitt 4.9 auf Seite 139) oder das Hoch-
fahren eines NetWare-Servers von DOS aus mit server.exe.
Installation eines Bootmanagers: Ein Bootmanager erlaubt, mehrere Sys-
teme gleichzeitig auf einem Rechner zu halten und sie abwechselnd zu
nutzen. Der Benutzer wΣhlt das zu ladende System bereits wΣhrend des
Bootvorgangs aus; ein Wechsel erfordert den Neustart des Rechners.
* Bedingung: Der gewΣhlte Bootmanager harmoniert" mit allen Be-
triebssystemen.
* Beispiele fⁿr (zumindest unter bestimmten Bedingungen) mit Linux
harmonierende Bootmanager sind OS/2 (vgl. dazu Abschnitt 4.7.3 auf
Seite 133) oder der DOS-Bootloader boot.sys.
Im folgenden wird die Installation und Konfiguration von LILO, dem Stan-
dard-Bootmanager fⁿr Linux-Systeme, nΣher erlΣutert ¡ eine grⁿndliche Be-
schreibung der FΣhigkeiten von LILO findet sich in [Alm96]5. Es schlie▀en
sich Ausfⁿhrungen zu loadlin an.
5 Mit lpr /usr/doc/packages/lilo/user.dvi kann diese Datei auf dem Drucker
ausgegeben werden.
117
4. Booten und Bootmanager
4.3 LILO stellt sich vor: Ein ▄berblick
LILO ¡ Ihr Auftritt!
Der Linux-Bootloader ist fⁿr die Installation im MBR geeignet (Einzelhei-
ten spΣter auf der nΣchsten Seite und in Abschnitt 4.5 auf Seite 127). LILO
hat Zugriff auf beide im Real Modus bekannten Festplatten und ist bereits
von seiner Installation her in der Lage, alle ben÷tigten Daten auf den rohen"
Festplatten6, ohne Informationen zur Partitionierung, zu finden. Deshalb las-
sen sich auch Betriebssysteme von der zweiten Festplatte booten. Die Ein-
trΣge in der Partitionstabelle werden im Gegensatz zum DOS-Bootvorgang
ignoriert.
Der Hauptunterschied zum DOS-Bootvorgang besteht jedoch in der M÷glich-
keit, beim Booten zwischen dem Laden verschiedener installierter Betriebs-
systeme ¡ einschlie▀lich Linux ¡ wΣhlen zu k÷nnen. Nach dem Laden des
MBR in den Speicher wird LILO gestartet; LILO kann nun seinerseits dem
Benutzer die Auswahl aus einer Liste vorinstallierter Systeme anbieten (siehe
auf dieser Seite).
Was ist LILO und was kann er?
LILO ist ein vielseitiger Bootmanager. Er kann beim Systemstart folgende
Systemprogramme laden und starten:
* Bootsektoren von Partitionen (Start eines Betriebssystems von dieser Par-
tition)
* Linux-Kernel (Start von Linux)
Das Zweite k÷nnen die meisten anderen Bootmanager nicht.
Zudem bietet er die wichtige Gelegenheit, dem Linux-Kernel eine Komman-
dozeile mitzugeben. Zu Sicherheitszwecken k÷nnen die LILO-Dienste ganz
oder teilweise passwortgeschⁿtzt werden.
Wie sieht das Booten mit LILO aus?
Wenn LILO startet, gibt er den Text LILO und eine Begrⁿ▀ungsmeldung
aus ¡ letztere haben Sie ihm bei der Konfiguration selbst mitgegeben (vgl.
Abschnitt 4.4.2 auf Seite 124). Danach erscheint eine Eingabeaufforderung
(Prompt):
boot:
Hier wΣhlen Sie durch Eingabe eines Namens Ihr gewⁿnschtes Betriebssys-
tem aus, das dann sofort gestartet wird. Die Namen fⁿr Ihre Betriebssysteme
haben Sie gleichfalls selbst vorher bei der Konfiguration vergeben. Einem Li-
nux-Kernel k÷nnen Sie an dieser Stelle eine Kommandozeile mitgeben. Eine
Liste aller Namen k÷nnen Sie sich mit Tab (= Taste Tab
) anzeigen lassen.
6 Von einem rohen" DatentrΣger (engl. raw device) spricht man, wenn auf ein BlockgerΣt
(Festplatte, Partition, Diskette ... ) direkt als einzelne (GerΣte-)Datei zugegriffen wird, nicht
ⁿber ein darauf angelegtes Dateisystem.
118
4.3. LILO stellt sich vor: Ein ▄berblick
Woraus besteht LILO?
Die LILO-Startmaschinerie umfasst die folgenden Bestandteile7:
* einen LILO-Bootsektor mit einem Anfangsstⁿck ( erste Stufe") des LI-
LO-Codes, das den eigentlichen LILO beim Systemstart aktiviert
* den LILO-Maschinencode (sein Herz").
Standardlokation: /boot/boot.b
* eine Map-Datei, in der LILO bei seiner Installation eintrΣgt, wo die Li-
nux-Kernel und sonstigen Daten, die er braucht, zu finden sind.
Standardlokation: /boot/map
* optional: eine Message-Datei, deren Inhalt vor der LILO-Bootauswahl
als Begrⁿ▀ungsbotschaft ausgegeben wird. ▄bliche Lokation:
/boot/message (oder Σhnlich)
* die verschiedenen Linux-Kernel und Bootsektoren, die LILO zum Starten
anbieten soll.
Jeder Schreibzugriff (auch durch Dateiverschiebung) auf eines dieser Be-
standteile macht die Map-Datei ungⁿltig und daher eine Neu-Installation
von LILO erforderlich (siehe auf Seite 127)! Dies betrifft vor allem den
Wechsel zu einem neuen Linux-Kernel.
Wo kann LILO installiert werden?
Gemeint ist mit dieser Frage in Wirklichkeit meist der LILO-Bootsektor
( erste Stufe"). Bevor wir darauf eingehen, wollen wir aber gleich hier auf
eine generelle EinschrΣnkung hinweisen:
Dies kann man durch eine kleine Extrapartition erreichen die unter dem Ver-
zeichnis /boot eingehΣngt (gemountet) wird und die komplett innerhalb der
ersten 1024 Zylinder liegt.
Alle Bestandteile der LILO-Startmaschinerie und das Kernelimage
/boot/vmlinuz mⁿssen bei Festplatten in den ersten 1024 Zylindern
liegen!
Dies kann man durch eine kleine Extrapartition erreichen, die unter dem
Verzeichnis /boot eingehΣngt ( gemountet") wird und die komplett in-
nerhalb der ersten 1024 Zylinder liegt.
Nur diese physikalischen Bereiche sind schon wΣhrend der Systemstartphase
mit den BIOS-Treibern erreichbar. Noch dazu ist man in der Regel auf die
ersten beiden Festplatten eingeschrΣnkt. Wenn Sie ein Σlteres BIOS haben,
gilt m÷glicherweise zudem: das zusΣtzliche Vorhandensein von (E)IDE-Fest-
platten schlie▀t gleichfalls vorhandene SCSI-GerΣte von der BootfΣhigkeit
aus.
7 ▄brigens: Die von LILO installierten Bootsektoren enthalten eine Byte-Sequenz, die auch fⁿr
Bootsektorviren charakteristisch ist. Daher ist es nicht verwunderlich, wenn DOS-Virenscanner
in Dateien wie /boot/chain.b oder /boot/os2_d.b das AIRCOP-Bootsektor-Virus ge-
funden zu haben glauben. ;-)
119
4. Booten und Bootmanager
Erst ein neueres BIOS lΣsst in der Regeln den Zugriff auf weitere GerΣte zu:
so etwa in Verbindung mit EIDE-Festplattencontrollern auf bis zu vier EI-
DE-Platten. Viele moderne BIOS/SCSI-Hostadapter Kombinationen erlauben
sogar das Nach-vorne-Schieben" von SCSI-Platten hinsichtlich der BootfΣ-
higkeit. Zur Nutzung dieser M÷glichkeit mit LILO vgl. die Beschreibung der
disk-Option auf Seite 125.
All das fassen wir der Einfachheit halber unter dem Schlagwort 1024-Zylin-
der-Grenze zusammen. Sie ist schon bei der Partitionierung Ihrer Festplatten
vor der Linux-Erstinstallation unbedingt zu berⁿcksichtigen ¡ danach ist es
zu spΣt und macht Ihnen m÷glicherweise eine Menge zusΣtzlicher Arbeit!
Einzelheiten zum Umgang damit spΣter unter Abschnitt 4.8.2 auf Seite 136.
Fⁿr den LILO-Bootsektor stehen folgende Installationsziele zur Auswahl:
* Auf einer Diskette
Dies ist die sicherste, aber auch langsamste Methode, mit LILO zu booten
(siehe auf Seite 130). Wem auch nach der Lektⁿre dieses Kapitels die
VerΣnderung der Bootsektoren ein GrΣuel ist, der sollte (zunΣchst) die
Disketten-Variante wΣhlen.
* Im Bootsektor einer primΣren Linux-Partition der ersten Festplatte
Diese Variante lΣsst den MBR unberⁿhrt. Vor dem Booten muss diese
Partition mit fdisk als aktiv markiert werden. Wenn Linux ganz auf lo-
gischen Laufwerken oder Partitionen der zweiten Festplatte eingerichtet
wurde, bleibt fⁿr LILO nur der Bootsektor der erweiterten Partition der
ersten Festplatte ¡ sofern diese existiert ¡ ⁿbrig. Linux fdisk kann auch
diese Partition aktivieren.
Wenn Sie mehrere Betriebssysteme von der Festplatte booten wollen, ist
dieses Verfahren allerdings etwas umstΣndlich: jedesmal vor einem Be-
triebssystem-Wechsel mⁿssen Sie unter dem bisherigen Betriebssystem
dessen Startpartition deaktivieren und die des nΣchsten Betriebssystem
aktivieren. Die folgenden beiden Verfahren sind fⁿr diesen Fall besser ge-
eignet.
* Im Master Boot Record
Diese Variante bietet die gr÷▀te FlexibilitΣt. Insbesondere ist dies die ein-
zige M÷glichkeit, Linux von Festplatte aus zu booten, wenn sΣmtliche Li-
nux-Partitionen auf der zweiten Festplatte liegen, und auf der ersten keine
erweiterte Partition zur Verfⁿgung steht. Ein VerΣnderung des MBR birgt
aber bei unsachgemΣ▀er Installation auch gewisse Risiken. Die n÷tigen
Sicherheitsma▀nahmen kommen in Abschnitt 4.5 auf Seite 127 zur Spra-
che.
* Wenn Sie bisher einen anderen Bootmanager verwendet haben ...
... und ihn weiterverwenden wollen, gibt es, je nach dessen FΣhigkeiten,
noch weitere M÷glichkeiten. Ein hΣufiger Fall: Sie haben eine primΣre Li-
nux-Partition auf der zweiten Platte, von der aus Sie Linux starten wollen.
Ihr anderer Bootmanager wΣre imstande, diese Partition ⁿber den Boot-
sektor zu starten. Dann k÷nnen Sie diese Partition startbar machen, indem
Sie LILO in ihrem Bootsektor installieren, und sie dem anderen Bootma-
nager als startbar melden.
120
4.4. Ein LILO nach Ma▀: Konfiguration
Vorsicht aber mit dem Wunsch, eine logische Linux-Partition startbar zu
machen, indem Sie LILO dort installieren: Es geht oft gut; aber selbst
wenn Ihr anderer Bootmanager logische Partitionen starten k÷nnte, ist der
Erfolg z. Z. ausdrⁿcklich nicht garantiert.
Sie k÷nnen es natⁿrlich ausprobieren, am besten zunΣchst mit einer ganz
kleinen Linux-Installation. M÷glicherweise haben Sie Glⁿck ¡ besser ist
es aber auf jeden Fall, doch wenigstens eine primΣre startbare Linux-
Partition einzuplanen!
4.4 Ein LILO nach Ma▀: Konfiguration
Als flexibler Bootmanager bietet LILO zahlreiche M÷glichkeiten, seine Kon-
figuration den individuellen Erfordernissen anzupassen. Die wichtigsten Op-
tionen und ihre Bedeutung werden im folgenden erlΣutert. Fⁿr eine umfas-
sende Beschreibung sei auf [Alm96] verwiesen.
Die Konfiguration von LILO wird in der Datei /etc/lilo.conf einge-
tragen. Bei einer Erstinstallation von Linux empfehlen wir, dies zunΣchst
von YaST durchfⁿhren zu lassen. Eine eventuell n÷tige Nachbearbeitung von
lilo.conf kann auf der von YaST erstellten Datei aufbauen.
Die Datei /etc/lilo.conf sollte nur fⁿr `root' lesbar sein, da sie
Passw÷rter enthalten kann (vgl. Abschnitt 4.4.2 auf Seite 124); dies ist
Standard bei SuSE Linux; schauen Sie einmal nach ¡ im Zweifelsfall hilft
der Befehl:
erde: # chmod 0600 /etc/lilo.conf
Es ist ratsam, die bei der letzten LILO-Installation verwendete Konfigura-
tionsdatei sorgfΣltig aufzubewahren und vor jeder ─nderung eine Sicherheits-
kopie herzustellen. Eine ─nderung wird erst wirksam, indem Sie LILO mit
der neuesten Fassung der Konfigurationsdatei neu installieren (Abschnitt 4.5
auf Seite 127)!
4.4.1 Der Aufbau der Datei lilo.conf
Die /etc/lilo.conf beginnt mit einem globalen Abschnitt (engl. glo-
bal options section) mit allgemeinen Einstellungen, gefolgt von einem oder
mehreren System-Abschnitten (engl. image sections) fⁿr die einzelnen Be-
triebssysteme, die LILO starten soll. Ein neuer Systemabschnitt wird jeweils
eingeleitet durch eine Zeile mit der Option image oder other.
Die Reihenfolge der einzelnen Betriebssysteme in der lilo.conf ist nur
insofern von Bedeutung, als das zuerst in der Liste aufgefⁿhrte System auto-
matisch gebootet wird, wenn keine Benutzereingabe erfolgt ¡ gegebenenfalls
nach Ablauf einer vorkonfigurierten Wartezeit (s. u. die Optionen delay und
timeout).
Datei 4.4.1 auf der nΣchsten Seite zeigt eine Beispielkonfiguration auf ei-
nem Rechner mit Linux und DOS. Zur Auswahl beim Booten sollen ste-
hen: ein neuer und ein alter Linux-Kernel auf der gegenwΣrtigen Root-Par-
tition (primΣr, auf der zweiten Platte), sowie MS-DOS (oder Windows 95)
auf /dev/hda1.
121
4. Booten und Bootmanager
# LILO Konfigurations-Datei
# Start LILO global Section
boot=/dev/hda # LILO Installations-
ziel: MBR
backup=/boot/MBR.hda.970428 # Backup-Datei fⁿr al-
ten MBR
# vom 28. Apr 1997
#compact # faster, but won't work on all systems.
#linear
message=/boot/message # LILO's Begrⁿ▀ungsmeldung
prompt
password = q99iwr4 # Allgemeines LILO Passwort
timeout=100 # 10 s am Prompt warten, be-
vor Voreinstellung
# gebootet wird
vga = normal # normaler Textmodus (80x25 Zeichen)
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz # Voreinstellung
root = /dev/hdb3 # Root-
Partition fⁿr Kernel
read-only
label = Linux
# Linux bootable partition config ends
# Second Linux bootable partition config
image = /boot/vmlinuz.old
root = /dev/hdb3
read-only
label = Linux.old
# 2nd Linux bootable partition config ends
# DOS bootable partition config begins
other = /dev/hda1
label = DOS
loader = /boot/chain.b
table = /dev/hda
# DOS bootable partition config ends
Datei 4.4.1: Beispielkonfiguration in /etc/lilo.conf
122
4.4. Ein LILO nach Ma▀: Konfiguration
In /etc/lilo.conf ist alles von einem # bis zum Zeilenende Kommentar.
Er wird ¡ ebenso wie Zwischenraum ¡ von LILO ignoriert und kann zur
Verbesserung der Lesbarkeit verwendet werden.
Gehen wir einmal die wichtigsten Zeilen Schritt fⁿr Schritt durch. Die weite-
ren Optionen sind in Abschnitt 4.4.2 auf Seite 124 beschrieben.
* Globaler Abschnitt (Parameterteil)
¡ boot=<bootdevice>
Device auf dessen erstem Sektor der LILO-Bootsektor installiert wer-
den soll (das Installationsziel).
<bootdevice> kann sein: ein Diskettenlaufwerk (/dev/fd0), eine
Partition (z. B. /dev/hdb3), oder eine ganze Platte (z. B. /dev/
hda): letzteres bedeutet die Installation im MBR.
Voreinstellung: Fehlt diese Angabe, wird LILO auf der gegenwΣrtigen
Linux-Rootpartition installiert.
¡ prompt
Erzwingt das Erscheinen der LILO-Eingabeaufforderung (Prompt).
Die Voreinstellung ist: kein Prompt! (Vgl. Abschnitt 4.4.2 auf der
nΣchsten Seite, Option delay.)
Empfohlen, sobald LILO mehr als nur ein System starten soll. Zusam-
men damit sollte auch die timeout-Option gesetzt werden, damit ein
automatischer Reboot m÷glich ist, wenn keine Eingabe am Prompt er-
folgt.
¡ timeout=<zehntelsekunden>
Setzt eine Auszeit fⁿr Eingaben am Prompt und erm÷glicht dadurch
einen automatischen Reboot, wenn nicht rechtzeitig eine Eingabe er-
folgt ist. <zehntelsekunden> ist dabei die verbleibende Zeit in Zehn-
telsekunden fⁿr eine Eingabe. Drⁿcken von Shift am Prompt lΣsst
die Auszeit von neuem starten. Voreinstellung: keine zeitliche Begren-
zung, d. h. es wird kein automatischer Reboot durchgefⁿhrt!
* Linux-Abschnitt
¡ image=<kernelimage>
Hier muss der Name des zu bootenden Kernel-Images stehen. Dies
wird in der Regel /boot/vmlinuz sein ¡ bzw. bei Σlteren SuSE
Linux-Systemen (vor Version 6.0) /vmlinuz oder /zImage.
¡ label=<name>
Innerhalb der /etc/lilo.conf eindeutiger, aber sonst frei wΣhlba-
rer Name fⁿr das System (z. B. Linux). Maximale LΣnge 15 Zeichen:
m÷glichst nur Buchstaben, Ziffern und Unterstrich ¡ keine Leerzei-
chen, Sonderzeichen wie deutsche Umlaute u. ─.8. Voreinstellung: der
Dateiname des Kernel-Images (z. B. /boot/vmlinuz).
Durch Eingabe dieses Namens wΣhlen Sie beim Systemstart an der LI-
LO-Eingabeaufforderung das gewⁿnschte Betriebssystem zum Star-
ten aus. Bei mehreren Systemen empfiehlt es sich, eine nΣhere Be-
8 Die genauen Regeln fⁿr erlaubte Zeichen finden Sie in [Alm96], Abschnitt 3.2.1.
123
4. Booten und Bootmanager
schreibung der Namen und Systeme in einer message-Datei (s. Ab-
schnitt 4.4.2 auf der nΣchsten Seite, Option message) bereitzustellen.
¡ root=<rootdevice>
Damit gibt LILO dem Kernel die Rootpartition (z. B. /dev/hda2)
des Linux-Systems an. Zur Sicherheit empfohlen! Wird diese Option
weggelassen, nimmt der Kernel die in ihm selbst eingetragene Root-
partition9.
* Anderes System
¡ other=<partition>
Mit other werden dem LILO Startpartitionen anderer Systeme zum
Booten bekanntgemacht (z. B. /dev/hda1).
¡ loader=<Boot-Loader>
Fⁿr das Laden eines fremden Bootsektors baut LILO in seiner Map-
Datei einen Pseudo-MBR" (beim Booten startet erst LILO den Pseu-
do-MBR, und dieser dann den fremden Bootsektor). Diese Option gibt
die Datei an, aus der der Code fⁿr den Pseudo-MBR zu nehmen ist.
Voreinstellung und generell richtig: /boot/chain.b .
Manchmal soll ein Betriebssystem, das von der ersten Festplatte ge-
bootet werden will (z. B. DOS), dennoch mit LILO von einer anderen
Platte gestartet werden. Die Zusatzoptionen map-drive=<Nummer>
und to=<Nummer> gestatten es, diese beiden Platten anhand ihrer
BIOS-GerΣtenummern zu vertauschen". Beispiel: Datei 4.4.2.
Der Loader os2_d.b dient dazu, OS/2 von der zweiten Festplatte zu
booten10. Neu ab LILO-Version 20: auch bei diesem Loader muss das
Vertauschen" der ersten beiden Festplatten nun ausdrⁿcklich vorge-
schrieben werden (wie im Beispiel Datei 4.4.2).
# Booting DOS from the second hard drive
# DOS bootable partition config begins
other = /dev/hdb1
label = DOS
loader = /boot/chain.b
map-drive = 0x80 # first hd: BIOS number 0x80
to = 0x81 # second hd: BIOS number 0x81
map-drive = 0x81
to = 0x80
table = /dev/hdb
# DOS bootable partition config ends
Datei 4.4.2: /etc/lilo.conf Auszug: DOS von 2. Festplatte booten
¡ table=<ptabelle>
<ptabelle> muss das Quell-Device fⁿr die Partitionstabelle angeben,
die in den Pseudo-MBR soll (in der Regel /dev/hda oder /dev/
sda).
9 Zu sehen mit dem Kommando rdev <kernelimage>.
10 any_b.b (Booten von B:) und any_d.b (Booten von der zweiten Festplatte) sind seit der
LILO-Version 20 obsolet.
124
4.4. Ein LILO nach Ma▀: Konfiguration
¡ label=<name>
Der (wiederum frei wΣhlbare) Name fⁿr dieses System. Empfohlen.
Die Voreinstellung ¡ der blo▀e Device-Name der Partition ¡ ist beim
Booten nicht so aussagekrΣftig.
4.4.2 Weitere optionale Konfigurationsm÷glichkeiten (Auswahl)
Im letzten Abschnitt wurden nur die in /etc/lilo.conf minimal n÷tigen
EintrΣge besprochen. Weitere nⁿtzliche Einstellungen folgen nun hier.
Diejenigen Optionen, die ausdrⁿcklich als Image-Optionen gekennzeichnet
sind, geh÷ren in den Abschnitt eines einzelnen Betriebssystems. Die anderen
sind fⁿr den globalen Parameterteil von /etc/lilo.conf gedacht.
* backup=<backup-Datei>
Die Datei, in der LILO ein Backup desjenigen Bootsektors ablegt, in den
er anschlie▀end installiert wird. Hierfⁿr ist /boot/boot.xxxx die Vor-
gabe, wobei xxxx die interne GerΣtenummer der Installationspartition
ist11.
Wir empfehlen, einen leichter deutbaren Namen zu verwenden, etwa wie
oben im Beispiel (mit GerΣtenamen und Datumsangabe). Sie verzichten
damit auf das eingebaute Uninstall-Feature von LILO; aber dies macht
man unserer Meinung nach sowieso besser mit aller Sorgfalt von Hand
(siehe auf Seite 128).
Wenn die Backup-Datei vorher schon vorhanden ist, legt LILO kein neu-
es Backup an! Sorgen Sie daher dafⁿr, dass hier jeweils ein neuer, unge-
brauchter Dateiname verwendet wird.
* compact
Diese Option empfiehlt sich bei Installation des LILO auf Diskette. LI-
LO versucht dann, beim Start mehrere Sektoren auf einmal zu lesen und
bootet u. U. schneller. Dies funktioniert leider nicht auf allen Maschinen.
Bei Installation des LILO sollten Sie darauf verzichten: es ist sicherer,
und der Zeitgewinn betrΣgt nur wenige Sekunden.
* disk=<GerΣtedatei>
bios=<BIOS-GerΣtenummer>
cylinders=<Anzahl>
heads=<Anzahl>
sectors=<Anzahl>
Hier kann dem LILO fⁿr einzelne Festplatten direkt vorgeschrieben wer-
den, welche BIOS-GerΣtenummer und Geometrie er zur Adressierung
von Sektoren dieser Platte verwenden soll. Nur sehr selten erforderlich!
Wichtigste Anwendung:
IDE-SCSI-Mischsysteme: Wenn Sie ein BIOS haben, das die Bootrei-
henfolge SCSI vor IDE erlaubt, und Sie diese M÷glichkeit nutzen wol-
len, muss LILO extra ⁿber die geΣnderte Reihenfolge der Festplatten aus
BIOS-Sicht informiert werden. Dies geschieht durch Zusatzeintrag in den
11 Dies ist zu finden in den Kernelsourcen in /usr/src/linux/init/main.c, Funktion
parse_root_dev().
125
4. Booten und Bootmanager
globalen Teil der lilo.conf wie z. B. in Datei 4.4.3 fⁿr den Fall eines
Systems mit je einer IDE- und SCSI-Platte.
# Enable LILO to correctly access /dev/sda and /dev/hda
# at boot time if their boot order is interchanged in
# the BIOS:
disk = /dev/sda # The SCSI disk is regarded as ...
bios = 0x80 # ... first BIOS disk;
disk = /dev/hda # the IDE disk is regarded as ...
bios = 0x81 # ... second BIOS disk.
Datei 4.4.3: lilo.conf Auszug: Bootreihenfolge: SCSI vor IDE
* linear
Die Angabe dieser Option bewirkt, dass bei der Installation von LILO
sΣmtliche Referenzen auf Plattensektoren als logische anstelle physika-
lischer Adressen abgelegt werden, so dass sie unabhΣngig von der Fest-
plattengeometrie werden. Diese Option ist fⁿr den Fall gedacht, dass bei
manchen Plattencontrollern das BIOS beim Systemstart eine andere Geo-
metrie erkennt als das laufende Linux-System. Nur selten erforderlich!
Die linear Option befreit nicht von der 1024-Zylinder-Grenze, die
durch die BIOS-Geometrie der Boot-Festplatte festgelegt ist. Vgl. auch
http://sdb.suse.de/sdb/de/html/kgw_lilo_linear.
html.
* message=<message-datei>
Verweist auf eine Textdatei, die von LILO beim Systemstart als erstes
ausgegeben wird. Sie soll nicht mehr als 24 Zeilen haben (sonst scrollt sie
weg) und kann z. B. einen ▄berblick ⁿber die anstehende LILO-Bootaus-
wahl geben. Eine solche Startmeldung kennen Sie ⁿbrigens bereits von
der mitgelieferten SuSE-Bootdiskette. Empfohlen.
Wird diese Option verwendet, so geh÷rt die message-Datei zur LILO-
Startmaschinerie. Jede ─nderung dieser Datei macht eine Neuinstallation
von LILO erforderlich (Abschnitt 4.5 auf der nΣchsten Seite)!
* password=<passwort>
Kann sowohl am Anfang im Parameter-Abschnitt, als auch in einzel-
nen Systemabschnitten stehen. Sichert den Zugriff auf die LILO-Dienste
bzw. auf das Booten des betreffenden Systems mit einem Passwort ab.
Wenn Sie damit Ernst machen, sollten Sie das Passwort nach der ers-
ten Verwendung dieser lilo.conf gleich wieder herausl÷schen ¡ als
root k÷nnen Sie sowieso jederzeit durch Neu-Installation von LILO
ein neues Passwort setzen. ¡ Es empfiehlt sich, zusΣtzlich die Option
restricted zu setzen. Andernfalls kann man mit einem Parameter wo-
m÷glich direkt eine Shell starten; vgl. die Manual-Page von lilo.conf
(man lilo.conf)!
* read-only
Mit dieser Image-Option weist LILO den betreffenden Kernel an, die
Rootpartition zunΣchst read-only zu mounten, wie es beim Start von
126
4.5. Installation und De-Installation von LILO
Linux- Systemen generell ⁿblich ist. Wird diese Option weggelassen, ver-
wendet der Kernel die in ihm selbst eingetragene Voreinstellung12.
* delay=<zehntelsekunden>
Wenn der Prompt nicht zwingend vorgeschrieben worden ist, kann der
Benutzer dennoch zur Startzeit von LILO durch Tastendruck ( Shift
,
Strg
, Alt
) einen Prompt anfordern. Die delay Option gibt die Zeit
vor, die LILO nach seinem Start auf einen solchen Tastendruck wartet,
bevor er automatisch das erste System aus seiner Betriebssystem-Liste
lΣdt. Die Voreinstellung ist 0, d. h. keine Wartezeit.
Die delay Option ist natⁿrlich ⁿberflⁿssig, wenn mit prompt sowieso
ein Prompt zwingend angefordert wird.
* vga=<mode>
WΣhlt den VGA-Textmodus beim Start. Gⁿltige Werte fⁿr <mode> sind
normal (fⁿr 80x25), ext (fⁿr 80x50) oder ask (beim Booten fragen).
* append="<parameter>"
Image-Option fⁿr Linux-Kernel. Erm÷glicht die ▄bergabe von Kernel-
Parametern wie etwa bei der ▄bergabe von Hardwarekomponenten, ge-
nauso wie dies am LILO-Prompt m÷glich ist. Der Kernel erhΣlt zuerst
die append Zeile, dann die Eingaben am Prompt; daher ⁿberwiegen im
Zweifelsfall die Eingaben am Prompt.
Zum Beispiel: append="mcd=0x300,10"
4.5 Installation und De-Installation von LILO
Bei einer Neuinstallation von Linux fⁿhrt YaST den Benutzer interaktiv durch
die n÷tigen Schritte. Ein Eingreifen von Hand ist bei der Installation von
LILO i. Allg. nicht n÷tig. Hier m÷chten wir aber davon ausgehen, dass LILO
mit speziellen Optionen in ein bestehendes System integriert werden soll.
Die Installation eines Bootmanagers ist ein tiefer Eingriff ins System und
dementsprechend heikel. Vergewissern Sie sich vor der Installation von
LILO auf jeden Fall, dass Sie Ihr Linux, und m÷glichst auch Ihre ande-
ren vorhandenen Betriebssysteme, von Diskette booten k÷nnen! Vor allem
fdisk muss zur Verfⁿgung stehen.
Installation nach ─nderung der Konfiguration
Wenn sich an den LILO-Komponenten (siehe auf Seite 119) etwas geΣndert
hat oder wenn Sie Ihre Konfiguration in /etc/lilo.conf modifiziert ha-
ben, mⁿssen Sie LILO neu installieren. Dies geschieht durch einfachen Auf-
ruf des sog. Map-Installers:
erde: # /sbin/lilo
12 Zu sehen mit dem Kommando rdev -R <kernelimage>. Sie ist bei den Installations-
kernel und auch bei einem neu-ⁿbersetzten Kernel ohnehin read-only (prⁿfen!), daher braucht
man diese Option normalerweise nicht.
127
4. Booten und Bootmanager
Was dann geschieht, ist, dass LILO ein Backup des Ziel-(Boot-)Sektors an-
legt, seine erste Stufe" in diesen Sektor schreibt und eine neue Map-Datei er-
zeugt (siehe auf Seite 119). LILO meldet nacheinander die installierten Sys-
teme ¡ z. B. im Fall unserer obigen Beispielkonfiguration (s. Ausgabe 4.5.1):
Added Linux*
Added Linux.old
Added DOS
Ausgabe 4.5.1: Ausgaben beim Aufruf von LILO
Nach abgeschlossener Installation kann der Rechner neu gestartet werden:
erde: # shutdown -r now
Nachdem das BIOS seinen Systemtest ausgefⁿhrt hat, meldet sich LILO mit
seiner Eingabeaufforderung, an der Sie dem LILO Parameter fⁿr den Ker-
nel ⁿbergeben und das gewⁿnschte Bootimage auswΣhlen k÷nnen. Mit Tab
lassen sich die Bezeichnungen der installierten Konfigurationen auflisten.
Installation nach Neu-Kompilierung des Kernels
Wenn Sie einen neu kompilierten Kernel in Ihr Bootkonzept aufnehmen wol-
len, haben Sie neben der LILO-Neuinstallation von Hand noch eine weitere,
und zwar bequemere M÷glichkeit:
Die Organisation der Befehle zum Konfigurieren und zum Erzeugen des
Kernels ist niedergelegt in der Datei /usr/src/linux/Makefile;
dort soll INSTALL_PATH=/boot festgelegt werden (vgl. Abschnitt 13.5
auf Seite 357). Dieses Makefile verfⁿgt ⁿber ein target namens
bzlilo, das nach einer Kernel-Kompilierung automatisch den derzeit als
/boot/vmlinuz (frⁿher /vmlinuz) installierten Kernel nach /boot/
vmlinuz.old kopiert, den neu erzeugten Kernel nach /boot/vmlinuz
schreibt und schlie▀lich LILO neu installiert. Dazu reicht:
erde:/usr/src/linux # make bzlilo
Das ist freilich nur sinnvoll, wenn Ihre /etc/lilo.conf auf diesen LI-
LO-Aufruf vorher vorbereitet worden ist und Ihr bisheriger Kernel wirklich
unter /boot/vmlinuz liegt. Unter Ihren Images sollten Sie den neuen Ker-
nel ¡ und zur Sicherheit auch den alten ¡ auffⁿhren; etwa so, wie es in Da-
tei 4.4.1 auf Seite 122 geschehen ist.
Dadurch k÷nnen Sie am LILO-Bootprompt sowohl den neuen Kernel star-
ten als auch den alten ¡ funktionierenden ¡ Kernel (Name im Beispiel:
Linux.old). So bauen Sie eine weitere Sicherheitsstufe ein, die dann von
Nutzen ist, wenn das System mit dem neuen Kernel nicht booten kann.
Zum Erzeugen eines neuen Kernels siehe Kapitel 13 auf Seite 353 ff.
128
4.5. Installation und De-Installation von LILO
Entfernen von LILO
Die Deinstallation eines Bootmanagers ist ein tiefer Eingriff ins System
und dementsprechend heikel. Vergewissern Sie sich vor der Deinstallation
von LILO auf jeden Fall, dass Sie Ihr Linux, und m÷glichst auch Ihre an-
deren Betriebssysteme ¡ soweit vorhanden ¡ von Diskette booten k÷nnen!
Sie geraten sonst m÷glicherweise in die unangenehme Lage, nicht mehr
auf die Betriebssysteme auf Ihrer Festplatte zugreifen zu k÷nnen.
Vielleicht wird es eines Tages doch einmal n÷tig, LILO wieder zu deinstal-
lieren :-( Dies geschieht, indem der Ziel-(Boot-)sektor, in dem LILO in-
stalliert worden ist, seinen vorigen Inhalt zurⁿckerhΣlt. Unter Linux ist das
kein Problem, wenn ein gⁿltiges Backup vorhanden ist (vgl. Abschnitt 4.4.2
auf Seite 124, Option backup).
Ein Bootsektor-Backup wird ungⁿltig, wenn die betreffende Partition ein
neues Dateisystem erhalten hat (DOS-Welt: formatiert worden ist). Die
Partitionstabelle in einem MBR-Backup wird ungⁿltig, wenn die betref-
fende Festplatte zwischenzeitlich anders partitioniert worden ist. Solche
Backups sind Zeitbomben": am besten sofort l÷schen! Das Zurⁿckspie-
len veralteter Backups in diese Systemsektoren ist ein ziemlich sicherer
Weg zu massivem Datenverlust!
Am einfachsten ist es, einen DOS-, Windows- oder OS/2-MBR wiederherzu-
stellen. Es geschieht mit dem MS-DOS-Befehl (verfⁿgbar ab DOS-Version
5.0):
C:\> fdisk /mbr
bzw. dem OS/2-Befehl:
C:\> fdisk /newmbr
Diese Befehle schreiben nur die 446 ersten Bytes (den Boot-Code) in den
MBR zurⁿck und lassen die gegenwΣrtige Partitionstabelle unangetastet13.
Nicht vergessen: Mit fdisk die von jetzt an gewⁿnschte Startpartition wie-
der als aktiv (engl. bootable) kennzeichnen; die MBR-Routinen von DOS,
Windows, OS/2 brauchen das!
Ansonsten legen Sie zunΣchst von dem fraglichen LILO-Sektor ein weiteres
frisches Backup an ¡ sicher ist sicher. Dann prⁿfen Sie ¡ wenigstens zweimal
;-) ¡ ob Ihre alte Backup-Datei die richtige ist und ob sie genau 512 Byte
gro▀ ist. Schlie▀lich spielen Sie sie dann zurⁿck. Das Ganze geht mit den
folgenden Befehlen (dabei if= und of= nicht verwechseln!!):
* Wenn LILO in Partition yyyy (z. B. hda1, hda2, ... ) residiert:
erde: # dd if=/dev/yyyy of=Neue-Datei bs=512 count=1
erde: # dd if=Backup-Datei of=/dev/yyyy
* Wenn LILO im MBR der Platte zzz (z. B. hda, sda) residiert:
13 Au▀er, wenn der MBR (siehe auf Seite 116) wegen einer falschen magischen Zahl" als im
ganzen ungⁿltig behandelt wird: dann wird die Partitionstabelle genullt!!
129
4. Booten und Bootmanager
erde: # dd if=/dev/zzz of=Neue-Datei bs=512 count=1
erde: # dd if=Backup-Datei of=/dev/zzz bs=446 count=1
Der letzte Befehl ist vorsichtig" und schreibt gleichfalls nicht in die Partiti-
onstabelle. Auch hier nicht vergessen: Mit fdisk anschlie▀end die von jetzt
an gewⁿnschte Startpartition wieder als aktiv (engl. bootable) kennzeichnen.
▄brigens: beachten Sie, wie schnell so ein Bootsektor-Backup geht! Zur hΣu-
figeren Anwendung empfohlen.
4.6 Linux-Bootdiskette erzeugen
Eine Linux-Bootdiskette besteht - vereinfacht gesagt - aus einem oder
mehreren Linux-Kerneln, eventuell gemanagt von LILO. Sie dient dem
Zweck, Ihr Linux-System auf der Festplatte auch dann zu starten, wenn das
Booten direkt von der Platte nicht mehr m÷glich ist. M÷gliche AnlΣsse dafⁿr
k÷nnen sein: MBR ⁿberschrieben, falsch konfigurierter Bootmanager, Fehler
bei der LILO-Installation.
Eine solche Bootdiskette lΣdt nur den Kernel: alles andere (init, Startskrip-
ten, wichtige Systemprogramme) wird von Ihrem System erwartet und muss
nach wie vor funktionsfΣhig sein. Die Verbindung von der Bootdiskette zum
System auf der Festplatte wird dadurch hergestellt, dass in dem Kernel die
betreffende Root-Partition als Root-Device eingestellt wird.
Dies ist nicht zu verwechseln mit den SuSE-Bootdisketten fⁿr Installations-
und Rettungssystem, von denen Sie anhand der Abbilddateien (engl. image
files) unter /disks auf der ersten CD jederzeit neue Exemplare herstellen
k÷nnen (vgl. Abschnitt 16.5 auf Seite 432).
Bootdiskette ohne LILO
Wenn Sie in der glⁿcklichen Lage sind, dass Ihr Kernel beim Starten keine
zusΣtzliche Kommandozeile mit Hardware-Info usw. ben÷tigt14, besteht der
schnellste Weg zu einer Bootdiskette fⁿr Ihr Linux-System einfach darin,
Ihren aktuellen Kernel auf eine rohe, fehlerfreie Diskette zu schreiben und,
falls nicht schon vorher geschehen, das Root-Device richtig einzustellen:
erde: # /sbin/badblocks -v /dev/fd0 1440
erde: # dd if=Ihr_Kernel of=/dev/fd0 bs=18k
erde: # rdev /dev/fd0 Ihre_Root_Partition
erde: # rdev -R /dev/fd0 1
Der erste Befehl prⁿft die Diskette auf fehlerhafte Bl÷cke (1 Block = 1 k).
Der letzte Befehl sorgt dafⁿr, dass der Kernel die Root-Partition zunΣchst
read-only mountet, wie es sich geh÷rt (die Systemstart-Skripten verlassen
sich darauf).
14 Dies ist der Normalfall, wenn Sie Unterstⁿtzung fⁿr den Festplatten-Controller in den Kernel
hineincompiliert haben ( monolithischer" Kernel).
130
4.6. Linux-Bootdiskette erzeugen
Bootdiskette mit LILO
Eine komfortablere Bootdiskette mit Begrⁿ▀ungsmeldung, Eingabeaufforde-
rung fⁿr Kernel und Kernelparameter sowie den sonstigen LILO-Goodies
wird erzeugt, indem man eine komplette LILO-Startmaschinerie auf die Dis-
kette ⁿbertrΣgt (vgl. auf Seite 119). Dazu braucht die Diskette ein Dateisys-
tem, am besten minix.
Gehen Sie zum Selbermachen im Einzelnen wie folgt vor:
* Auf neuer, leerer Diskette ein minix-Dateisystem anlegen ¡ zur Sicher-
heit mit Fehlerprⁿfung ¡ und, wenn erfolgreich, mounten, z. B. unter
/mnt:
erde: # /sbin/mkfs.minix -c /dev/fd0 1440
erde: # /bin/mount /dev/fd0 /mnt
* Ihre Kernel-Dateien und die LILO-Datei /boot/boot.b nach /mnt
(d. h. auf die Diskette) kopieren.
* Optional: Eine Datei /mnt/message fⁿr die Begrⁿ▀ungsmeldung anle-
gen.
* In /mnt eine eigene lilo.conf anlegen wie in Datei 4.6.1 auf der
nΣchsten Seite. Natⁿrlich mⁿssen Sie noch die tatsΣchliche Root-Partition
statt Ihr_Root_Device eintragen:
# LILO Konfigurations-Datei Bootdiskette
# Start LILO global Section
boot=/dev/fd0 # Installationsziel: Floppy
install=/mnt/boot.b # Natⁿrlich LILO und
map=/mnt/map # Map-Datei auf die Floppy!
message=/mnt/message # optional
prompt
timeout=100 # Warten am Prompt: 10 s
vga = normal #
# End LILO global section
## Linux bootable partition config begins
image = /mnt/vmlinuz # default
root = /dev/Ihr_Root_Device # Root-
Partition hierher!
label = linux
# Linux bootable partition config ends
## Systemabschnitte fⁿr weitere Kernel hier:
Datei 4.6.1: lilo.conf fⁿr Bootdiskette
* Wenn Sie eine initrd verwenden, bitte auch diese in die lilo.conf
eintragen; vgl. die Hinweise in Abschnitt 16.2.3 auf Seite 419.
* LILO mit dieser lilo.conf installieren:
erde: # /sbin/lilo -C /mnt/lilo.conf
* Floppy unmounten", fertig!
erde: # /bin/umount /mnt
131
4. Booten und Bootmanager
* Nicht vergessen: Bootdiskette ausprobieren, ob sie wirklich geht :-)
4.7 Beispielkonfigurationen
Wenn Ihr neues Linux allein auf dem System ist, besteht zunΣchst gar kein
Handlungsbedarf. Denn alles N÷tige wurde im Rahmen der Installation unter
YaST erledigt.
Es folgen einige Beispiele fⁿr Mehrsystem-Rechner. Schauen Sie zu diesem
Thema doch auch mal nach /usr/doc/howto/en/mini/Linux+*.
gz , wo einige flei▀ige Linux-Freunde ihre eigenen Mehrsystem-Konfigu-
rationen dokumentiert haben.
4.7.1 DOS/Windows 95/98 und Linux
Voraussetzung: Fⁿr DOS/Windows 95/98 und Linux steht jeweils eine pri-
mΣre Partition unter der 1024-Zylinder-Grenze zur Verfⁿgung (vgl. auf Sei-
te 119); die Linux Boot-Partition kann auch eine logische Partition sein, so-
fern diese ganz unter der 1024-Zylinder-Grenze liegt.
Fⁿr diesen Fall wurde eine geeignete Konfiguration bereits besprochen (vgl.
Datei 4.4.1 auf Seite 122) ¡ nur die Angaben bei root, image und other
sind an die tatsΣchlichen VerhΣltnisse anzupassen. LILO wird im MBR in-
stalliert. Natⁿrlich werden Sie den Linux.old Abschnitt weglassen, wenn
es keinen solchen zweiten Linux-Kernel gibt.
Heben Sie die /etc/lilo.conf gut auf, des weiteren eine Bootdiskette
fⁿr Ihr Linux! Gerade Windows 95/98 neigt verschiedentlich dazu, fremde"
MBRs kurzerhand zu eliminieren. Wenn Sie Linux danach noch mit einer
Bootdiskette starten k÷nnen, ist dieses Problem rasch behoben mit dem ein-
fachen Befehl
erde: # /sbin/lilo
4.7.2 Windows NT und Linux auf einer Festplatte
1. M÷glichkeit: Zum Booten wird der Bootmanager von NT benutzt. Dieser
kann neben Bootsektoren auch Abbilddateien solcher Bootsektoren star-
ten. Mit den folgenden Schritten lΣsst sich eine Koexistenz von Linux und
Windows NT erreichen:
* Installation von NT.
* Einen DatentrΣger (Festplatten-Partition oder fehlerfreie Floppy) be-
reithalten mit einem Dateisystem, das Linux beschreiben und NT lesen
kann, z. B. FAT.
* Linux wie ⁿblich" installieren (als Root-Partition nehmen wir hier im
Beispiel mal /dev/sda3 an). FAT-DatentrΣger (z. B. unter /dosa)
mounten (zum Mounten allgemein vgl. Abschnitt 19.11.2 auf Sei-
te 493). Achtung: nicht die verfΣlschenden mount-Optionen
conv=auto oder conv=text verwenden!
* LILO in der Linux-Rootpartition (also /dev/sda3) installieren,
nicht in den MBR (/dev/sda)! Sie haben dabei nach wie vor die
132
4.7. Beispielkonfigurationen
M÷glichkeit, fⁿr LILO eine Auswahl unter mehreren Linux-Kernel-
images zu konfigurieren. Als Beispiel fⁿr eine lilo.conf siehe
Datei 4.7.1.
# LILO Konfigurations-Datei: Rootpartition /dev/sda3
# startbar machen
# Start LILO global Section
boot=/dev/sda3 # Installationsziel
backup=/boot/boot.sda3.980428 # Backup fⁿr den vorigen
# Bootsektor
prompt
timeout=100 # Warten am Prompt: 10 s
vga = normal # force sane state
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz # default image to boot
root = /dev/sda3 # Root-Partition hierher!
label = Linux
# Linux bootable partition config ends
Datei 4.7.1: lilo.conf zum Startbar-Machen einer Linux-Rootpartition
* Kopieren des LILO-Bootsektors in eine Datei auf dem FAT-DatentrΣ-
ger, z. B.
erde: # dd if=/dev/sda3 of=/dosa/bootsek.lin bs=512 count=1
Dieser Schritt, wie auch der folgende, muss natⁿrlich nach jedem Ker-
nel-Update wiederholt werden!
* NT booten. Die Datei bootsek.lin vom FAT-DatentrΣger ins
Hauptverzeichnis des NT-Systemlaufwerks kopieren, falls die Datei
nicht schon dort ist.
* In der Datei boot.ini (Attribute setzen) folgenden Eintrag am Ende
ergΣnzen:
c:\bootsek.lin="Linux"
* Beim nΣchsten Booten sollte ¡ wenn alles geklappt hat ¡ ein entspre-
chender Eintrag im NT-Bootmanager vorhanden sein!
2. M÷glichkeit, leider nicht immer praktikabel: LILO im MBR installieren
und fⁿr Windows NT so tun, als sei es DOS (wie im vorigen Beispiel);
aber Achtung: Dies scheint bei neueren NT-Versionen nicht mehr zu funk-
tionieren, da es nur zu starten scheint, wenn es spezielle (undokumentier-
te) Sequenzen im MBR findet, von denen LILO leider nichts wei▀ :-(
Windows NT (3.5* und 4.0) kennt die von Linux verwendeten Partitionsty-
pen 82 und 83 nicht! Achten Sie darauf, dass kein NT-Programm die Par-
titionstabelle dahingehend repariert": es droht Datenverlust! Halten Sie
sicherheitshalber gⁿltige Backups des LILO-MBR bereit.
133
4. Booten und Bootmanager
4.7.3 OS/2 und Linux
1. M÷glichkeit: Zum Booten wird der Bootmanager von OS/2 benutzt. Die-
ser kann beliebige primΣre und logische Partitionen innerhalb der 1024-
Zylinder-Grenze starten ¡ die Verantwortung dafⁿr, dass sie wirklich
startbar sind, liegt beim Benutzer. Der Bootmanager wird mit dem fdisk
von OS/2 konfiguriert.
Vorbereitung auf Seiten von Linux: Eine primΣre Linux-Partition (ⁿbli-
cherweise: die Root-Partition) mit LILO startbar machen. Geeignet dafⁿr
ist wieder lilo.conf wie in Datei 4.7.1 auf der vorherigen Seite. Aber
vorher gibt es noch etwas zu bedenken ... :
Vorbereitung auf Seiten von OS/2: OS/2 begnⁿgt sich bei der Buch-
fⁿhrung ⁿber die vorhandenen Partitionen (in den MBRs der Festplat-
ten und den Partitionssektoren der erweiterten und logischen Partitionen)
nicht mit den konventionellen, allgemein verstΣndlichen EintrΣgen, son-
dern nutzt freien Platz in diesen Sektoren zum Speichern von Zusatzin-
formationen. Sind diese inkonsistent, so sieht fdisk von OS/2 die Parti-
tionstabelle als fehlerhaft an und verweigert Bootmanager-Dienste. Die
fdisk-Programme anderer Betriebssysteme pflegen diese Zusatzinforma-
tionen natⁿrlich nicht ... Konflikte sind vorprogrammiert.
Daher vor der Linux-Installation zuerst OS/2 laden (das Installationssys-
tem genⁿgt) und die Linux-Partitionen, zumindest die logischen, mit fdisk
von OS/2 anlegen. Dies ergibt zunΣchst weitere OS/2-Laufwerke, die un-
ter UmstΣnden arg st÷ren k÷nnen.
Abhilfe: gleich danach das Linux-Installationssystem (oder das Rettungs-
system) von der SuSE Linux CD laden und fⁿr die Linux-Partitionen mit
fdisk von Linux den Typ in 83 (Linux native) Σndern. Damit werden diese
Partitionen in Zukunft von OS/2 ordnungsgemΣ▀ ignoriert.
2. M÷glichkeit: Als Haupt-Bootmanager wird LILO in einer primΣren Parti-
tion der ersten Platte benutzt15. Dies ist ein Spezialfall des nΣchstfolgen-
den Beispiels, in dem auch noch DOS dabei ist.
4.7.4 DOS, OS/2 und Linux
1. Wenn Sie fⁿr DOS und OS/2 den OS/2 Bootmanager verwendet haben
und ihn weiterverwenden wollen, nehmen Sie am einfachsten Linux in
dessen Start-Menⁿ auf: genauso wie im letzten Beispiel beschrieben.
2. M÷glichkeit: Als Haupt-Bootmanager wird LILO in einer primΣren Par-
tition der ersten Platte benutzt.
Das folgende kompliziertere Beispiel fⁿr lilo.conf (Datei 4.7.2
nimmt an, dass die Startpartitionen fⁿr DOS (primΣr) und Linux (pri-
mΣr) auf der ersten, die fⁿr OS/2 (logisch) auf der zweiten Platte liegen
¡ alle jeweils innerhalb der 1024-Zylinder-Grenze. OS/2 liegt auf der
zweiten Platte, daher wird statt /boot/chain.b der spezielle Loader
/boot/os2_d.b verwendet.
15 Weniger gⁿnstig: der MBR, da jede Umpartitionierung mit einem fremden fdisk denselben neu
schreiben und damit LILO entfernen k÷nnte.
134
4.8. Probleme mit LILO
Es ist gleichgⁿltig, ob der MBR-Code von MS-DOS oder OS/2 stammt.
In der Partitionstabelle ist mit einem fdisk-Programm die LILO-Partition
/dev/sda4 als Startpartition (aktiv) zu markieren.
# LILO Konfigurations-Datei
# Start LILO global Section
boot = /dev/sda4 # LILO in Linux Root-Partition
backup = /boot/boot.sda4.970428
message = /boot/message # Begruessungsbildschirm
prompt
delay = 100
vga = normal
## Linux bootable partition config begins
image = /boot/vmlinuz
label = linux
root = /dev/sda4
# Linux bootable partition config ends
## OS/2 bootable partition config begins
other = /dev/sdb5
table = /dev/sdb
label = os2
loader = /boot/os2_d.b
# New for LILO v20 and newer: interchange disk drives:
map-drive = 0x80 # first hd: BIOS number 0x80
to = 0x81 # second hd: BIOS number 0x81
map-drive = 0x81
to = 0x80
# OS/2 bootable partition config ends
## DOS bootable partition config begins
other = /dev/sda1
table = /dev/sda
label = dos
# DOS bootable partition config ends
Datei 4.7.2: LILO mit DOS, OS/2 und Linux auf zwei Festplatten
4.8 Probleme mit LILO
Einige Richtlinien
Zu Beginn ein paar einfache Richtlinien, mit denen die meisten LILO-Pro-
bleme von vorneherein vermieden werden k÷nnen (entnommen dem LILO-
Benutzerhandbuch [Alm96]):
* Keine Panik! Wenn etwas nicht geht: versuchen Sie erst, den Fehler und
die Ursache zu finden; ⁿberprⁿfen Sie die Diagnose und beginnen Sie erst
dann mit Ma▀nahmen zur Fehlerbehebung.
* Halten Sie stets eine aktuelle und erprobte Bootdiskette" bereit.
135
4. Booten und Bootmanager
SuSE Linux enthΣlt seit der Version 5.0 auf der Bootdiskette und der
Installations-CD ein selbstΣndiges Linux-System (Rettungssystem, siehe
Abschnitt 16.5 auf Seite 432), mit dem Sie an alle Ihre Linux-Partitionen
wieder herankommen. Mit enthalten ist genⁿgend Werkzeug, um die al-
lermeisten Probleme mit unzugΣnglich gewordenen Festplatten zu l÷sen.
* Lesen Sie die Dokumentation. Vor allem dann, wenn das System nicht tut,
was es Ihrer Meinung nach tun sollte.
* Vor jedem Aufruf des Map-Installers (/sbin/lilo): ⁿberprⁿfen Sie
sorgfΣltig die Konfigurationsdatei /etc/lilo.conf .
* Rufen Sie /sbin/lilo jedesmal auf, wenn irgendein Bestand-
teil der LILO-Startmaschinerie oder die LILO-Konfigurationsdatei
/etc/lilo.conf geΣndert worden ist.
* Aufmerksamkeit ist bei gro▀en oder bei mehreren Festplatten geboten:
berⁿcksichtigen Sie die 1024-Zylinder-Grenze!
* Probieren Sie es ohne und mit Option linear (meist besser: ohne!).
4.8.1 Fehlerdiagnose: LILO Start-Meldungen
Hier wiederholen wir im Wesentlichen in ▄bersetzung einen Abschnitt aus
[Alm96], der LILO-Beschreibung von WERNER ALMESBERGER.
Wenn LILO geladen wird, zeigt er das Wort `LILO' an. Jeder Buchstabe
entspricht der Vollendung einer spezifischen Phase. Wenn LILO nicht starten
kann, bilden die bereits ausgegebenen Buchstaben einen genaueren Hinweis
darauf, in welchem Stadium ein Problem aufgetreten ist.
(nichts) Kein Teil von LILO wurde geladen. Entweder LILO ist gar nicht
installiert, oder es wurde nicht die Partition mit dem LILO-Bootsektor
gestartet.
`L' error ... Die erste Stufe" wurde geladen und gestartet, aber sie konn-
te die zweite Stufe (/boot/boot.b) nicht laden. Dies weist ⁿblicher-
weise auf einen physikalischen Fehler des Boot-DatentrΣgers oder eine
fehlerhafte Platten-Geometrie hin.
`LI' Die zweite Stufe von LILO wurde geladen, konnte aber nicht gestartet
werden. Dies kann verursacht werden durch eine fehlerhafte Platten-Geo-
metrie oder durch Verschieben von /boot/boot.b ohne Neuinstallati-
on von LILO.
`LIL' Die zweite Stufe von LILO wurde gestartet, konnte aber die n÷tigen
Daten (Zeiger usw.) nicht aus der Map-Datei laden. Dies wird typischer-
weise verursacht durch einen physikalischen Fehler des Boot-DatentrΣ-
gers oder eine fehlerhafte Platten-Geometrie.
`LIL?' Die zweite Stufe von LILO wurde an eine falsche Speicheradresse
geladen. Dies wird typischerweise verursacht durch einen subtilen Fehler
in der Platten-Geometrie oder durch Verschieben von /boot/boot.b
ohne Neuinstallation von LILO.
`LIL-' Die Daten in der Map-Datei sind ungⁿltig. Dies wird typischer-
weise verursacht durch einen Fehler in der Platten-Geometrie oder durch
Verschieben von /boot/boot.b ohne Neuinstallation von LILO.
`LILO' Alle Teile von LILO wurden erfolgreich geladen.
136
4.8. Probleme mit LILO
Die hΣufigsten Ursachen fⁿr Geometriefehler sind nicht physikalische Defek-
te oder ungⁿltige Partitionstabellen, sondern Fehler bei der Installation von
LILO:
* Missachtung der 1024-Zylinder-Grenze (s. nΣchsten Abschnitt);
* missglⁿckter Versuch, mit LILO von einer logischen Partition zu starten.
4.8.2 Die 1024-Zylinder-Grenze
Wie schon mehrfach betont (z. B. auf Seite 119), muss die gesamte LILO-
Startmaschinerie, d. h. alle Daten, die LILO zum Starten ben÷tigt, mit BIOS-
Routinen allein zugΣnglich sein. Welche Festplatten-Bereiche demnach dafⁿr
in Frage kommen (wir nennen das im folgenden kurz: zulΣssiger Bereich),
haben wir dort bereits ausgefⁿhrt.
Welche M÷glichkeiten lΣsst diese EinschrΣnkung nun offen? Eigentlich noch
eine ganze Menge, wenn man bedenkt, dass nur die Startmaschinerie betrof-
fen ist. Es gibt kein Gesetz, nach dem diese in der Linux-Rootpartition liegen
mⁿsste: ja, es ist im Notfall sogar m÷glich (wenn auch nicht ganz ungefΣhr-
lich), Dateien der Startmaschinerie auf Partitionen fremder Betriebssysteme
unterzubringen, wenn nur Linux Lese- und Schreibzugriff auf deren Datei-
systeme hat.
Sie mⁿssen sich nur davor hⁿten, den LILO-Bootsektor in eine fremde Par-
tition zu installieren, weil damit in der Regel deren Dateisystem beschΣdigt
wird!
* Die sauberste L÷sung besteht auf jeden Fall darin, bei der Linux-In-
stallation eine primΣre Linux-Partition ganz innerhalb des zulΣssigen
Bereichs anzulegen und die LILO-Daten (einschlie▀lich des LILO-Boot-
sektors) dort unterzubringen. Diese Partition ist bislang meist die Linux-
Rootpartition.
Seit SuSE Linux 6.0 wird bei der Installation mit YaST eine eigene Parti-
tion (/boot) vorgesehen: diese Partition ist lediglich gro▀ genug, um die
folgenden Dateien aufzunehmen:
¡ boot.b, map, message,
¡ die Linux-Kernel, die LILO booten soll.
Es genⁿgen also wenige Megabytes. Das ganze ⁿbrige System unterliegt
dann hinsichtlich der Lokation auf der/den Festplatte(n) keiner EinschrΣn-
kung mehr: wenn der Kernel erst mal lΣuft, hat er uneingeschrΣnkten
Zugriff auf alle Festplatten im System.
Aber was tun, wenn fⁿr so eine Partition kein Platz mehr ist? Wenn Sie nicht
umpartitionieren wollen oder k÷nnen, und auch ein Upgrade auf SCSI oder
ein modernes BIOS nicht in Frage kommt, gibt es doch noch zwei behelfs-
mΣ▀ige M÷glichkeiten:
* An Stelle von LILO auf der Platte eine Bootdiskette oder, wenn Sie MS-
DOS betreiben, loadlin verwenden, um Linux zu booten.
137
4. Booten und Bootmanager
* Die LILO-Startmaschinerie auf einer Nicht-Linux-Partition unterbringen,
die ganz im zulΣssigen Bereich liegt, und auf die Linux schreiben kann
(z. B. ein FAT/VFAT DOS-Laufwerk). Natⁿrlich k÷nnen wir den LILO-
Bootsektor nicht auch dorthin schreiben! So bleiben dafⁿr nur ⁿbrig: der
Anfang einer erweiterten Partition auf der ersten Platte ¡ sofern vor Zy-
linder 1024 ¡ oder der MBR. Nehmen wir an, die betreffende Partition ist
unter /mnt gemountet. LILO soll in den MBR, etwa /dev/hda, und
soll zusΣtzlich DOS von /dev/hda1 booten. Dann ist das Vorgehen wie
folgt:
¡ Neues Verzeichnis, z. B. /mnt/LINUX anlegen und die eben schon
genannten LILO-Dateien aus /boot dorthin kopieren: boot.b,
map, message, sowie die Chain-Loader fⁿr Ihre anderen Betriebs-
systeme (i. Allg. chain.b) und die Linux-Kernel, die LILO booten
soll.
¡ Legen Sie eine /mnt/LINUX/lilo.cfg an, in der alle Pfade nach
/mnt/LINUX verweisen (Datei 4.8.1 auf der nΣchsten Seite):
# LILO Konfigurations-Datei Fremdverzeichnis
# Start LILO global Section
boot=/dev/hda # Installationsziel
backup=/mnt/LINUX/hda.xxxx # backup alter MBR
install=/mnt/LINUX/boot.b # Natⁿrlich sind LILO und
map=/mnt/LINUX/map # Map-Datei in /mnt/LINUX!
message=/mnt/LINUX/message # optional
prompt
timeout=100 # Warten am Prompt: 10 s
vga = normal #
# End LILO global section
## Linux bootable partition config begins
image = /mnt/LINUX/Erster_Kernel # default
root = /dev/Ihr_Root_Device # Root-
Partition hierher!
label = linux
# Linux bootable partition config ends
## Systemabschnitte fⁿr weitere Kernel hier:
## Ende Linux
# DOS bootable partition config begins
other = /dev/hda1 # MSDOS-Systemlaufwerk
label = dos
loader = /mnt/LINUX/chain.b
table = /dev/hda
# DOS bootable partition config ends
Datei 4.8.1: lilo.cfg fⁿr fremde Partition
¡ LILO mit dieser lilo.cfg installieren:
erde: # /sbin/lilo -C /mnt/LINUX/lilo.cfg
138
4.8. Probleme mit LILO
Danach sollte LILO funktionieren. Booten Sie MS-DOS und schⁿtzen
Sie die LILO-Dateien, so gut es geht, gegen Schreibzugriffe. (Zur Er-
innerung: jeder solche setzt LILO au▀er Funktion!) Zumindest geben
Sie allen Dateien in X:\LINUX (wo X: das eben unter /mnt gemoun-
tete MS-DOS-Laufwerk ist) die DOS-Attribute System und Versteckt.
Abschlie▀end m÷chten wir zum selben Thema noch verweisen auf die zwei
HOWTOs LILO.gz und Large-Disk.gz in /usr/doc/howto/en/
mini/.
4.8.3 Spezielle Bootprobleme mit Kernel ab 2.0
Beim Booten mit LILO ¡ egal, ob von Diskette oder Festplatte ¡ treten nach
dem Laden eines gro▀en Kernels (z. B. SuSE-Installations-Kernel) zum Teil
Probleme auf :-(
Zwar kann am LILO-Prompt ein Kernel gewΣhlt werden, der Kernel wird
auch geladen (es werden einige Punkte angezeigt), aber der Start des Kernels
klappt nicht. Das hei▀t, bevor die Meldung "uncompressing Linux"
kommt, stⁿrzt das System mit unterschiedlichen Reaktionen ab.
M÷gliche Fehlermeldungen oder -erscheinungen:
* System bootet neu
* System bleibt einfach stehen
* "crc-error"
* "no free space"
* "Error 0x00"
* "Error 0x01"
* "incomplete literal tree"
Danach wird zum Teil noch auf die Diskette zugegriffen, aber das System
steht.
Die Ursache dafⁿr liegt in einer Kombination aus gro▀en Kernels, LILO und
mangelhafter Hardware. Es sind grob geschΣtzt ein Prozent der Rechner be-
troffen. Wir vermuten, dass ein fehlerhaftes BIOS Probleme mit dem schnel-
len Speicherzugriff hat. ¡ Das Problem tritt nicht auf, wenn
* Linux mit Loadlin (Abschnitt 4.9 auf der nΣchsten Seite) geladen wird,
* der Kernel z. B. mit
erde: # dd if=/boot/vmlinuz of=/dev/fd0
auf eine Floppy kopiert und direkt von dort geladen wird,
* ein kleinerer Kernel, der mit
erde: # make zImage
erstellt wurde, mit LILO gebootet wird.
Folgende BIOS-Einstellungen konnten ebenfalls problemlos booten:
* Internal Cache abschalten (disable)
* DRAM Precharge Wait State auf 1 und
* DRAM Wait Burst Timing auf 0x3333
139
4. Booten und Bootmanager
L÷sung
ZunΣchst einmal muss ein System installiert werden k÷nnen. Falls Sie nicht
mit loadlin (bzw. setup.exe) direkt booten k÷nnen, sollten Sie zur Installation
zunΣchst eine alte 1.2.13-Bootdisk verwenden. Falls Sie keine zur Verfⁿgung
haben, stellen Sie die BIOS-Parameter um.
Nach erfolgreicher Installation, stellt sich die Frage, wie man denn nun sein
System booten kann. ZunΣchst bootet man mit demselben Medium wie zur
Installation. Mit Loadlin von der DOS-Partition gibt es ja keine Problem. Bei
einer Bootdiskette geben Sie dazu als Parameter an:
load_ramdisk=0 root=/dev/<rootpartition>
wobei <rootpartition> Ihre Rootpartition, z. B. hda1, ist.
4.9 Einrichten des Bootmechanismus mit loadlin
Es soll nun mit loadlin noch eine weitere Methode vorgestellt werden, SuSE
Linux zu booten. loadlin ist ein DOS-Programm, das in der Lage ist, einen
in einem DOS-Verzeichnis gespeicherten Linux-Kernel zu starten. loadlin
fⁿgt sich nahtlos in eine bestehende DOS/Windows 9x-Umgebung ein und
kann mit Hilfe des Windows Bootmanagers komfortabel gestartet werden.
Da kein Eintrag in den MBR erfolgt, sieht Windows von Linux lediglich
eine oder mehrere Partitionen mit ihm unbekannten Kennungen (engl. IDs).
Die Gefahr unerwⁿnschter Nebeneffekte aufgrund der Existenz von Linux auf
Ihrem System ist so minimiert.
Das hier beschriebene Vorgehen funktioniert auf Windows 95 und Win-
dows 98. Die gezeigten Konfigurationsdateien wurden unter Windows 95
entwickelt; es ist deshalb im folgenden nur von Windows 95 die Rede.
Wenn Sie loadlin verwenden m÷chten, um Ihr Linux zu starten, mⁿssen Sie
diesen Weg vorbereiten. Je nach Systemgegebenheiten mⁿssen Sie auch eini-
ge Startdateien modifizieren.
Prinzipiell k÷nnen Sie loadlin auf zwei Arten aktivieren: indem Sie beim
Systemstart via Bootmenⁿ zwischen mehreren Konfigurationen wΣhlen oder
indem Sie aus dem laufenden System heraus loadlin aktivieren und zu Linux
ⁿberwechseln.
Beide Methoden haben Ihre Vor- und Nachteile:
* Das Bootmenⁿ spart den Umweg ⁿber ein anderes Betriebssystem, um
Linux zu starten.
* In ein Bootmenⁿ k÷nnen Sie weitere Konfigurationen einbauen und sich
so einen universellen Startmechanismus aufbauen.
* Sie mⁿssen allerdings die Startdateien modifizieren, um ein Bootmenⁿ
aufzubauen; eventuell ist dazu Probieren n÷tig. In den DOS-Hilfedateien
k÷nnen Sie eventuell fⁿndig werden; geben Sie einmal help menu ein.
* Am DOS-Prompt ist der Wechsel zu Linux sehr einfach.
* Unter Windows 95 kann man den Linux-Start sch÷n in die grafische Ober-
flΣche integrieren. Mit einem Doppelklick auf ein Icon k÷nnen Sie zu Li-
nux wechseln. Es ist jedoch auch unter Windows 95 ein Bootmenⁿ m÷g-
lich (Windows 95 enthΣlt DOS 7.0).
140
4.9. Einrichten des Bootmechanismus mit loadlin
Verwenden Sie nach M÷glichkeit ein Boot-Menⁿ, wenn Sie nach dem
Einschalten direkt Linux booten wollen. Die DOS-Prompt- bzw. Dop-
pelklick-Methode kann zusΣtzlich verwendet werden, wenn Sie von
DOS/Windows 95 nach Linux wechseln wollen.
Mit Startmenⁿs und der Windows 95-Konfiguration kann man sich recht
intensiv auseinandersetzen ¡ Sie werden verstehen, dass wir das Thema
hier nur recht gradlinig behandeln.
4.9.1 Notwendige Dateien fⁿr loadlin
Das mⁿssen Sie immer tun (unter DOS, Windows 3.x und Windows 95):
1. Vermutlich haben Sie loadlin bereits installiert (vgl. Abschnitt 2.5.4 auf
Seite 51). Wenn nicht, mⁿssen Sie zuerst loadlin von der CD 1 via setup
installieren.
2. Wechseln Sie (unter MS-DOS) in das Verzeichnis c:\loadlin. Dort
steht eine Datei linux.par. Erstellen Sie mit einem Editor dort eine
Datei mit Namen startlin.bat (oder einem anderen, Ihnen passen-
den Namen). In die Datei schreiben Sie z. B. eine Zeile wie in Datei 4.9.1.
c:\loadlin\loadlin @c:\loadlin\linux.par
Datei 4.9.1: Beispiel einer Batchdatei fⁿr den Linux-Start
Nun editieren Sie in der Datei linux.par die folgende Zeile wie in
Datei 4.9.2.
c:\loadlin\zimage # first value must be
# the filename of the Linux-kernel
initrd=c:\loadlin\initrd
root=/dev/xxx # the device which gets moun-
ted as root FS
ro # mount root read-only
Datei 4.9.2: Beispiel einer Parameterdatei fⁿr den Linux-Start
Statt xxx tragen Sie den Devicenamen Ihrer Rootpartition ein (Sie hat-
ten sich den Namen in Abschnitt 2.10.2 auf Seite 76 aufgeschrieben).
Den initrd-Eintrag ben÷tigen Sie nur, wenn Sie beispielsweise SCSI-
Unterstⁿtzung gleich beim Booten hinzuladen mⁿssen (zum Konzept
der initial ramdisk" vgl. Abschnitt 16.2 auf Seite 417). Mit der Da-
tei startlin.bat k÷nnen Sie Ihr Linux jederzeit vom DOS-Prompt
aus starten. Die Datei linux.par wird sowohl von startlin.bat
als auch von config.sys verwendet und enthΣlt alle zum Booten
von Linux notwendigen Parameter. Wenn Sie mit Linux vertraut ge-
worden sind, k÷nnen Sie in linux.par auch andere Boot-Parameter
141
4. Booten und Bootmanager
einfⁿgen und/oder ersetzen. Haben Sie sich spΣter einmal Ihren eige-
nen Kernel gebaut, kopieren Sie diesen vom Linux-Filesystem nach
c:\loadlin\zimage und es wird fortan dieser Kernel gebootet; bei
Bedarf mⁿssen Sie dort auch eine neu generierte initrd ablegen.
4.9.2 Bootmenⁿs einrichten
So richten Sie ein Bootmenⁿ unter DOS bzw. Windows 3.x ein:
1. Als erstes mⁿssen Sie in der Datei c:\config.sys ein Bootmenⁿ
definieren. Tragen Sie dazu etwas Σhnliches wie in Datei 4.9.3 ein.
[Menu]
menuitem=Win, Windows starten...
menuitem=DOS, MS-DOS starten...
menuitem=Linux, Linux starten...
menucolor=15,1
menudefault=Win,5
Datei 4.9.3: Beispiel fⁿr config.sys (1. Teil) fⁿr den Linux-Start
Unter dem Label [Menu] definieren Sie die EintrΣge des Bootmenⁿs,
seine Farbe und nach wie viel Sekunden welcher Menⁿpunkt automatisch
aufgerufen werden soll.
2. Weiter unten tragen Sie die Labels [Common], [Win], [DOS] und [Li-
nux] ein. Bei Common schreiben Sie die EintrΣge hin, die immer gelten
sollen; bei den anderen Labels notieren Sie die EintrΣge, welche nur bei
einem bestimmten Eintrag gelten. Verwenden Sie dazu die Zeilen, die in
Ihrer jetzigen config.sys stehen; ein Beispiel zeigt Datei 4.9.4 auf der
nΣchsten Seite.
Speichern Sie die Datei dann ab.
3. ╓ffnen Sie jetzt die Datei c:\autoexec.bat. In die Datei mⁿssen
Sie die gleichen Labels schreiben und den Labels EintrΣge zuordnen, die
Notation ist jetzt aber etwas anders. Welches Label im Bootmenⁿ gewΣhlt
wurde, steht in der Variablen %config%. Schreiben Sie vielleicht etwas
wie in Datei 4.9.5 auf der nΣchsten Seite.
4. Wenn Sie den Rechner jetzt booten, erscheint das Bootmenⁿ und Sie ha-
ben 5 Sekunden Zeit, einen Eintrag auszuwΣhlen. Nach 5 Sekunden startet
automatisch Windows. Wenn Sie `Linux' auswΣhlen, startet Linux und
wartet auf Ihr Login.
4.9.3 Von Windows aus starten
So richten Sie ein Start-Icon fⁿr Linux ein, mit dem Sie Linux aus einem
laufenden Windows 95-System booten k÷nnen:
1. Klicken Sie sich in den Ordner c:\loadlin hinein, markieren Sie die
Datei startlin.bat und wΣhlen Sie im Bearbeiten-Menⁿ `Kopie-
ren' aus.
2. Gehen Sie in einen Ordner oder auf den Desktop, je nachdem, wo Sie Ihr
Linux-Icon haben m÷chten. Drⁿcken Sie die rechte Maustaste und wΣhlen
Sie `Verknⁿpfung einfⁿgen'.
142
4.9. Einrichten des Bootmechanismus mit loadlin
[Common]
device=c:\dos\himem.sys /testmem:off
device=c:\dos\emm386.exe noems
dos=high,umb
files=30
buffers=10
shell=c:\dos\command.com
[Win]
devicehigh=c:\dos\dblspace.sys /move
devicehigh=c:\cd\slcd.sys /D:SONY_000 /B:340 /M:P /V /C
[DOS]
devicehigh=c:\dos\dblspace.sys /move
devicehigh=c:\cd\slcd.sys /D:SONY_000 /B:340 /M:P /V /C
[Linux]
shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par
[Common]
rem Bleibt leer
Datei 4.9.4: Beispiel fⁿr config.sys (2. Teil) fⁿr den Linux-Start
@echo off
rem EintrΣge fⁿr alle Konfigurationen
switches= /f
set comspec=c:\dos\command.com
prompt $p$g
loadhigh c:\dos\keyb gr,,c:\dos\keyboard.sys
loadhigh c:\dos\doskey
set temp=c:\temp
loadhigh c:\dos\mscdex.exe /D:SONY_000 /E /V /L:H
c:\logimaus\mouse.exe
goto %config%
:Win
c:\dos\smartdrv.exe a- b- c+ 2048 1024
path c:\windows;c:\dos;c:\util;
win
c:\dos\smartdrv /C
goto ende
:DOS
path c:\dos;c:\util;
goto ende
:ende
echo * Auf Wiedersehen *
Datei 4.9.5: Beispiel fⁿr autoexec.bat fⁿr den Linux-Start
143
4. Booten und Bootmanager
3. Markieren Sie die gerade eingefⁿgte Verknⁿpfung, drⁿcken Sie die rechte
Maustaste und wΣhlen Sie `Eigenschaften'. Gehen Sie in das Re-
gister `Programm', klicken Sie unten auf den Knopf `Erweitert'.
Kreuzen Sie in der Maske das Feld `MS-DOS-Modus' an. BestΣtigen
Sie mit `OK'.
4. ▄ber den Knopf `Anderes Symbol' k÷nnen Sie sich ein sch÷nes
Icon aussuchen und geben Sie der Verknⁿpfung einen passenden Namen.
Fertig!
5. Ein Doppelklick auf das neue Symbol bringt eine BestΣtigungsmaske,
dass sich Windows 95 jetzt in den MS-DOS-Modus bemⁿht. Falls Sie
die Maske nervt: Ausschalten in den Eigenschaften der Verknⁿpfung.
4.9.4 Das Windows Startmenⁿ
So richten Sie ein Startmenⁿ fⁿr Windows 95 ein:
1. Zuerst mⁿssen Sie die Datei c:\msdos.sys editieren. Dazu machen
Sie die Datei mittels
C:> attrib -R -S -H c:\msdos.sys
sichtbar. Es ist eine Textdatei, in die Sie einige Zeilen einfⁿgen mⁿssen,
um das Windows 95-eigene Startmenⁿ zu aktivieren. Unter dem Label
[Options] sollte es etwa so aussehen wie in Datei 4.9.6.
[Options]
BootGUI=0
BootDelay=0
BootMenu=0
Logo=0
Datei 4.9.6: msdos.sys fⁿr den Linux-Start
Der Parameter Logo=0 ist optional und verhindert, dass Windows 95 vor
dem Booten in den Grafikmodus schaltet; das Booten geht dann schneller
und Sie haben weniger ─rger, wenn sie spΣter unter Linux den DOS-
Emulator verwenden wollen.
Der Parameter BootGUI=0 bewirkt, dass Windows 95 direkt in den
DOS-Modus bootet. Nach dem Editieren der Datei setzen Sie die Attribu-
te wieder zurⁿck. Um Windows dann zu starten muss
C:> win
am DOS-Prompt eingegeben werden, aber das tut schon unsere Beispiel-
datei c:\autoexec.bat, wenn Sie im Menⁿ Win95 gewΣhlt haben.
2. Dann mⁿssen Sie in der Datei c:\config.sys Ihr eigenes Bootmenⁿ
definieren. Tragen Sie dazu am Anfang der Datei etwa den Inhalt von
Datei 4.9.7 ein.
Unter dem Label [Menu] definieren Sie die EintrΣge des Bootmenⁿs
und nach wie viel Sekunden welcher Menⁿpunkt automatisch aufgerufen
werden soll.
3. Weiter unten stehen Labels [Win95], [DOS], [Linux] und [Common].
Bei [Common] schreiben Sie die EintrΣge hin, die immer gelten sollen
144
4.9. Einrichten des Bootmechanismus mit loadlin
[Menu]
menuitem=Win95, Windows 95 starten...
menuitem=DOS, MS-DOS starten...
menuitem=Linux, Linux starten...
menudefault=Win95,5
Datei 4.9.7: Beispiel fⁿr config.sys (1. Teil) fⁿr den Linux-Start unter
Windows 95
(unter Windows 95 werden das nur wenige sein); bei den anderen Labels
die EintrΣge notieren, welche nur bei einem bestimmten Eintrag des
Bootmenⁿs gelten. Verwenden Sie dazu die Zeilen, die in Ihrer jetzigen
config.sys stehen; das Beispiel in Datei 4.9.8 soll nur eine Anregung
sein.
[Win95]
dos=high,umb
device=c:\windows\himem.sys /testmem:off
[DOS]
device=c:\plugplay\drivers\dos\dwcfgmg.sys
dos=high,umb
device=c:\windows\himem.sys /testmem:off
device=c:\windows\emm386.exe noems I=B000-B7FF
devicehigh=c:\cdrom\torisan.sys /D:TSYCD3 /P:SM
[Linux]
shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par
[Common]
accdate=C+ D+ H+
switches= /F buffers=20
Datei 4.9.8: Beispiel fⁿr config.sys (2. Teil) fⁿr den Linux-Start unter
Windows 95
Speichern Sie die Datei dann ab.
4. ╓ffnen Sie jetzt die Datei c:\autoexec.bat. In die Datei mⁿssen
Sie die gleichen Labels schreiben und den Labels EintrΣge zuordnen, die
Notation ist jetzt aber etwas anders. Welches Label im Bootmenⁿ gewΣhlt
wurde, steht in der Variablen %config%. Schreiben Sie vielleicht etwas
wie in Datei 4.9.9 auf der nΣchsten Seite.
5. Wenn Sie den Rechner jetzt booten, erscheint Ihr eigenes Bootmenⁿ.
Sie haben 5 Sekunden Zeit zum WΣhlen, dann startet automatisch Win-
dows 95. Wenn Sie `Linux' auswΣhlen, startet Linux und wartet auf Ihr
Login.
145
4. Booten und Bootmanager
@echo off
loadhigh keyb gr,,c:\windows\command\keyboard.sys
goto %config%
:Win95
win
goto ende
:DOS
path c:.;d:.;c:\windows\command;c:\util;
loadhigh c:\windows\command\mscdex.exe /D:TSYCD3 /L:x
loadhigh c:\windows\command\doskey
c:\windows\command\mouse.exe
goto ende
:ende
echo * Und jetzt? *
Datei 4.9.9: Beispiel fⁿr autoexec.bat fⁿr den Linux-Start unter Win-
dows 95
146