SuSE Support-Datenbank

Titel: Linux über 1024 Zylinder und LILO

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel
English
---

Linux über 1024 Zylinder und LILO

Symptom:

LILO kann die Bootkernels beim Booten von einer Festplatte nicht finden und bleibt bei LI - oder einem anderen unvollständigen Anfangsstück des Wortes LILO - stehen (siehe LILO startet nicht: Fehlermeldungen und Deutung (kgw_lilo_errmsg.html)).

Ursache:

LILO hat beim Systemstart zum Zugriff auf die Festplatten lediglich die BIOS-Treiber zur Verfügung. Damit ist der erreichbare Bereich eingeschränkt auf

Die letzten zwei Einschränkungen sind bei vielen moderneren PCs etwas gelockert:

Neuere BIOSse lassen zum Teil den Zugriff auf weitere Geräte zu, so etwa (mit EIDE-Controllern) auf bis zu vier, statt zwei, EIDE-Festplatten. Einige ganz moderne Kombinationen BIOS/SCSI-Hostadapter erlauben sogar das ``Nach-vorne-Schieben'' von SCSI-Festplatten bezüglich der Bootfähigkeit. Diese Möglichkeiten sind aber noch nicht verbreitet und standardisiert genug, um generelle Regeln zu geben.

Viele SCSI-Hostadapter können auch -- gesteuert vom Treiber oder von Einstellungen in ihrem BIOS -- dem System verschiedene Geometrien für eine angeschlossene Festplatte ``zeigen''. Eine Übersicht, inwieweit unter Linux hier Einflußnahme möglich ist, steht im letzten Abschnitt 6.2. SCSI details des Large-Disk-HOWTOs

/usr/doc/howto/mini/Large-Disk.gz

An der 1024-Zylinder-Grenze führt jedoch z. Z. kein Weg vorbei!

Zusatz: Einsatz der linear Option von LILO kann diese Grenze unter Umständen verschärfen (kgw_lilo_linear.html).

Der Einprägsamkeit halber beziehen wir uns auf den erreichbaren Bereich von jetzt an einfach mit diesem Schlagwort.

Lösung:

LILO benötigt für seine Arbeit den Zugriff auf die folgenden Daten, die alle unterhalb der 1024-Zylinder-Grenze liegen müssen:

Das sind i. a. weniger als 2 MByte. /boot und die Linux-Kernel werden üblicherweise in der Linux-Rootpartition untergebracht. Dies ist allerdings nicht erzwungen. Es ist im Notfall sogar prinzipiell möglich (wenn auch nicht ganz ungefährlich), diese Daten auf Partitionen fremder Betriebssysteme unterzubringen.

Welche Möglichkeiten läßt diese Einschränkung nun offen?

LILO-Daten auf fremden Partitionen

Möglicherweise belegen bei Ihnen Partitionen anderer Betriebssysteme allen Raum unterhalb der 1024-Zylinder-Grenze, und Sie wollen/können nicht mehr umpartitionieren.

Wenn eine der fremden Partition ganz vor Zylinder 1024 liegt und Linux Lese- und Schreibzugriff auf deren Dateisystem erlaubt (z. B. FAT oder Win95-VFAT), können Sie die LILO-Daten - außer dem Bootsektor - auch dort ablegen.

Das Verfahren hat allerdings Bedenken, was die Zuverlässigkeit angeht - Ihre LILO-Dateien sind der Gnade des fremden Betriebssystems und seiner Anwendungsprogramme ausgeliefert - und wird vollends zweifelhaft, wenn die Zielpartition über Zylinder 1023 hinausgeht (denn dann besteht keine Handhabe, um die Positionierung der LILO-Daten vor Zylinder 1024 zu sichern!).

Warnung: Hüten Sie sich davor, den LILO-Bootsektor in eine fremde Partition zu installieren, weil damit in der Regel deren Dateisystem beschädigt wird!

Damit bleiben für den LILO-Bootsektor nur übrig: der Anfang einer erweiterten Partition auf der ersten Platte - sofern vor Zylinder 1024 - oder der MBR.

Beispiel 1

Nehmen wir an, eine geeignete MSDOS-Partition ist unter /dos gemountet. LILO soll in den MBR, etwa /dev/hda, und soll zusätzlich DOS von /dev/hda1 booten. Dann ist das Vorgehen wie folgt:

  1. Zuerst für alle Fälle Bootdisketten (kgw_bootdisketten.html) für MSDOS und Linux erzeugen und auf Funktion überprüfen, damit Sie den vorigen MBR wieder herstellen können, falls etwas schief geht.
  2. Neues Verzeichnis, z. B. /dos/LINUX anlegen und dorthin kopieren; die LILO-Dateien aus /boot und die Linux-Kernel, die LILO booten soll.
  3. Legen Sie dort auch eine /dos/LINUX/lilo.conf an, in der alle Pfade in dieses Verzeichnis /dos/LINUX verweisen:
    # LILO Konfigurations-Datei Fremdpartition
    # Start LILO global Section
    boot=/dev/hda                  # Installationsziel 
    backup=/dos/LINUX/mbr_hda.bak  # backup alter MBR
    install=/dos/LINUX/boot.b      # Natürlich sind LILO und 
    map=/dos/LINUX/map             # Map-Datei in /dos/LINUX!
    message=/dos/LINUX/message     # optional
    prompt
    timeout=100                    # Warten am Prompt: 10 s
    vga = normal  
    # End LILO global section
    #
    # Linux bootable partition config begins
    image = /dos/LINUX/Erster_Kernel   # Ihr Kernel hierher!
        root = /dev/Ihr_Root_Device    # Root-Partition hierher!
        label = linux
    # Linux bootable partition config ends
    #
    # DOS bootable partition config begins
    other = /dev/hda1                  # MSDOS-Systemlaufwerk
        label = dos
        loader = /dos/LINUX/chain.b
        table = /dev/hda
    # DOS bootable partition config ends
    
  4. LILO mit dieser lilo.conf installieren:

    # /sbin/lilo -C /dos/LINUX/lilo.conf

    Fertig!

Danach sollte LILO funktionieren. Booten Sie MS-DOS und schützen Sie die LILO-Dateien, so gut es geht, gegen Schreibzugriffe. (Zur Erinnerung: jeder solche - z. B. Dateiverschiebung durch ein Defragmentierungsprogramm - setzt LILO außer Funktion!) Zumindest geben Sie allen Dateien in X:\LINUX (wo X: das eben unter /dos gemountete MS-DOS-Laufwerk ist) die DOS-Attribute System und Versteckt.

Beispiel 2

Wenn ein gültiger MBR vorhanden ist und LILO nicht dorthin, sondern in die erweiterte Partition der ersten Platte soll, ändert sich im vorigen Beispiel nur die boot= Zeile in

boot=/dev/Erw_Partition # Ihre erweiterte Partition eintragen.

Nicht vergessen: Gleich nach der LILO-Installation mit Linux fdisk auf Platte 1 die erweiterte Partition als bootable markieren und den anderen primären Partitionen diese Markierung wegnehmen.

---

Siehe auch:

---

Stichwörter: 1024, ZYLINDER, LILO, BOOTEN, BOOTPROBLEME, IDE, EIDE, SCSI, INSTALLATION

---

Kategorien: LILO , SCSI , IDE

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel
English
---

SDB-1024_Zylinder, Copyright SuSE GmbH, Nuremberg, Germany - Version: 17. Jul 1996
Impressum - Zuletzt generiert: 24. Feb 1999 09:59:28 by maddin with sdb_gen 1.00.0