home *** CD-ROM | disk | FTP | other *** search
Text File | 2000-02-29 | 84.5 KB | 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
-
-
-
-