Druckversion

Installation - Vorbereitungen

Hardware-Voraussetzungen Weiter

Einer der großen Vorzüge von Linux gegenüber anderen verbreiteten Betriebssystemen ist seine relative Bescheidenheit hinsichtlich der Hardware-Anforderungen.

Zwar dreht sich die Spirale auch hier mit jeder neuen System-Version nach oben, aber mit einem abgespeckten Kernel und bei Verzicht auf speicherintensive Anwendungen, lässt sich so mancher alte Rechner noch vernünftig in ein kleines Netzwerk integrieren (so genügt z.B. ein 486er als Firewall vollauf).

An dieser Stelle betrachten wir nun, welche Hardware für welche Zwecke tatsächlich benötigt wird.

Minimalsystem

Prozessor 386er Hauptspeicher 2..4 MB Festplatte 80 MB (davon 16 Swap)

Ein solcher Rechner taugt vermutlich nur noch zum Testrechner. Wer also daheim ein Netzwerk aufbauen möchte, der kann durchaus auf solch ein betagtes System zurück greifen. Der beschränkte Plattenplatz macht es aber schier unmöglich, die »bekannten« aktuellen Distributionen zu installieren. Der Installationsvorgang selbst wird auf Grund des mangelnden Hauptspeichers beim Anlegen der Ramdisk scheitern. Suchen Sie im Internet, so werden Sie auf mehrere »Mini-Distributionen« stoßen, die sich auch mit solchen begrenzten Kapazitäten begnügen.

Linux wurde sogar auf 286er Systeme portiert, allerdings gehen damit einige Grundzüge von Unix verloren (Multiuser, Multitasking, Paging,...).

Komfortables Arbeiten unter X

Prozessor schneller 486er Hauptspeicher 16 MB Festplatte 250 MB (davon 64 Swap)

Mit dieser Festplattengröße lassen sich nur eine beschränkte Auswahl an X-Software-Paketen installieren, auch muss einer der »bescheidenen« Windowmanager (z.B. fvwm, olwm) genügen. Versuchen Sie nicht erst, Gnome oder KDE zum Laufen zu bringen, denn diese Desktop-Umgebungen verlangen nach deutlich schnelleren Prozessoren (komfortable wird's ab 250MHz und 256MB RAM) Für OpenOffice sollte gar noch mehr RAM her....

Entwicklersystem

Prozessor Pentium-Klasse Hauptspeicher > 32 MB Festplatte 1 GB (davon mind. 64 Swap)

Sieht man einmal von rechenintensiven Grafikmanipulationen o.Ä. ab, genügt ein PC dieser Klasse als Einzelplatzrechner immer. Aber auch hier wird ein knapper Speicherausbau bei der Arbeit mit modernen Desktop-Umgebungen keine Freude aufkommen lassen. Drastisch erhöht sich der Speicherbedarf, wenn Sie neben KDE oder Gnome Entwicklungsumgebungen wie kdevelop oder Eclipse einsetzen. Dann stellen 256 MB RAM das absolute Minimum dar.

Serversystem

Prozessor > Pentium Hauptspeicher > 128 MB Festplatte > 1GB (davon mind. 128 Swap)

An einen Fileserver in einem kleinen lokalen Netzwerk werden sicherlich andere Anforderungen gestellt als an einen Webserver für stark frequentierte Seiten...

Tipp

Beim Kauf neuer Hardware sollten Sie sich zuvor in der Hardware-Kompatibiltitätsliste erkundigen, dass diese auch von Linux unterstützt wird. Lassen Sie sich nicht von der auf die Taktfrequenzen der Prozessoren fokussierten Werbung leiten; selbst die langsamsten im Handel erhältlichen Prozessoren (ca. 1000MHz) sind für alle Anwendungen schnell genug. Investieren Sie lieber in einen großzügigen Hauptspeicherausbau (mind. 512 MB) und eine schnelle Festplatte und Grafikkarte.

Partitionieren der Festplatte(n) - Allgemeines Zurück Anfang Weiter

Festplatten müssen vor ihrer Benutzung als Speichermedium in Partitionen unterteilt werden. Notwendig sind solche Einteilungen, um eine Art Inhaltsverzeichnis auf der Festplatte einzurichten, anhand dessen die gespeicherten Daten effizient verwaltet werden können. Eine Festplatte kann auch nur eine einzige Partition beherbergen, aber es gibt viele Gründe, eine Aufteilung vorzunehmen:

Der Swap

Swap

Abbildung 1: Swap »verlängert« den verfügbaren RAM

Linux benötigt eine Auslagerungsdatei. Hierbei handelt es sich um eine »Verlängerung« des Hauptspeichers. Falls im RAM kein Platz mehr frei sein sollte, werden Teile der Daten auf die Festplatte geschrieben. Eine eigene »Swap-Partition« ist einer »Swap-Datei« vorzuziehen, da der Datentransfer auf erstere ohne die Funktionen der Dateiverwaltung und somit beschleunigt vonstatten geht. »Swap-Dateien« sind ein Kompromiss, falls bspw. keine eigene Partition mehr verfügbar ist oder Swap erst nachträglich eingerichtet wird.

BIOS-Probleme

1024-Zylinder-Problem

Abbildung 2: 1024-Zylinder-Problem

Möglicherweise kann das BIOS die Geometrie der installierten Festplatte(n) nicht korrekt ermitteln (INT13h). Als Resultat erscheint die Kapazität der Festplatte kleiner als sie tatsächlich ist. Während des Bootvorgangs stehen zur Adressierung der Daten auf den Platten aber häufig nur die Mechanismen des BIOS zur Verfügung, sodass wichtige Daten (bspw. der Kernel selbst) zwingend im zugänglichen Bereich liegen müssen. Diese Problematik ist als 1024-Zylinder-Problem bekannt.

Plattenfehler

Plattenfehler

Abbildung 3: Plattenfehler

Bei einem Plattenfehler ist möglicherweise nicht das gesamte Areal betroffen. Bei der häufigsten Ursache fehlerhafter Sektoren sind höchstens die Daten der betroffenen Partition(en) hinüber.

Optimierungen

  Geschwindigkeitsunterschiede beim Zugriff

Abbildung 4: Geschwindigkeitsunterschiede beim Zugriff

Aus alten DOS-Zeiten sind dem einen oder anderen Leser sicherlich noch die Bestrebungen in Erinnerung, mittels Defragmentierung der über die Partition verstreuten Dateibestandteile dem System neuen Schwung zu verleihen. Zwar implementieren die meisten Unix-Dateisysteme zuverlässige Algorithmen zur Unterbindung der Fragmentierung auf Dateiebene, aber die relative Lage der Dateien untereinander liegt außerhalb des Einflusses des Dateisystems. Genau hier liegt oft unbeachtetes Potential zur Optimierung, da bspw. zahlreiche Anwendungen aus mehreren Dateien bestehen. Lägen diese nun räumlich nahe beieinander, müsste der Schreib-Lese-Kopf der Festplatte nicht unnötig weite Wege zurücklegen. Das Laden verliefe schneller.

Über die Verknüpfung eines Verzeichnisses mit einer Partition (»Mounten«) ist sichergestellt, dass alle Dateien unterhalb dieses Verzeichnisses in ein und derselben Partition landen. Derartige Überlegungen empfehlen sich, wenn das Linuxsystem auf mehrere Festplatten verteilt werden soll.

Aber selbst eine gezielte Verteilung der Daten auf die Partitionen einer einzelnen Festplatte ergibt einen Sinn, da die Schreib- und Lesegeschwindigkeit nicht über den gesamten Bereich der Platte gleich ist. War bei älteren Festplatten die Anzahl der Sektoren pro Spur noch konstant, so verfügen Neuere auf den äußeren Spuren über eine höhere Anzahl Sektoren als auf den inneren. Somit werden auf äußeren Zylindern pro Umdrehung mehr Daten gelesen als auf den inneren.

Aktualisierung

Update

Abbildung 5: Update

Indem Daten und System eigene Partitionen erhalten, ist eine Systemaktualisierung einfacher zu realisieren. Nur die Systempartition ist zu modifizieren.

Partitionieren der Festplatte(n) - Das 1024 Zylinder Problem Zurück Anfang Weiter

Aufbau einer Festplatte

Abbildung 6: Aufbau einer Festplatte

Um die Ursachen des 1024-Zylinder-Problems zu beschreiben, ist die Kenntnis des prinzipiellen Aufbaus von Festplatten nützlich. Festplatten bestehen aus einem Stapel starr verbundener Scheiben mit beidseitig magnetisierter Oberfläche. Zum Schreiben und Lesen der in den Magnetisierungsmustern kodierten Daten greifen seitlich pro Scheibe zwei Schreib-Lese-Köpfe ein. Alle Schreib-Lese-Einheiten sitzen auf einem Kamm, sodass sie stets synchron über die Oberflächen bewegt werden. Ein einzelner Schreib-Lese-Kopf wird als Head (englisch für »Kopf«) bezeichnet. Der während einer Umdrehung der Scheiben von einem Head überstrichene Bereich heißt Spur. Da jeder Kopf zu einem Zeitpunkt dieselbe Spurnummer betrachtet, formen die übereinander liegenden Spuren einen Cylinder (Zylinder). Eine Spur wiederum ist in einzelne Sectors (Sektoren) untergliedert. Ein solcher Sektor ist die kleinste Adressierungseinheit einer Festplatte und seine Koordinaten berechnen sich aus Zylindernummer, Kopfnummer und Sektornummer. Dieses klassische Schema zur Lokalisierung eines Sektors nennt sich CHS (Cylinder,Head,Sector).

Der Interrupt 13h des BIOS

Zumindest während des Hochfahrens des Rechners ist der Zugriff auf die Festplatten allein durch die Mechanismen des BIOS realisierbar. Noch aus DOS-Zeiten dienen die Aufrufe des INT13h des BIOS zum Ansprechen jeder IDE-Festplatte im System. Dessen Aufgabe ist sowohl das Auslesen der Geometrie der Festplatte (CHS), als auch die Adressierung des Sektors, den eine Platte als nächstes anzufahren hat.

Die »betagteren« BIOS-Implementierungen stellten für die CHS-Adressierung ganze 20 Bit zur Verfügung. Mit 10 Bit für die Zylinder (210=1024), 6 Bit für die Sektoren (63! [Zählung ab 1]) und 4 Bit für die Köpfe (16) war der Sektor mit der Nummer 1048576 der höchste adressierbare Datenblock. Oder anders ausgedrückt: Bei einer Standard-Sektorgröße von 512 Bytes war bei einer Festplattenkapazität von 528MB das Ende der Fahnenstange erreicht. Aber wer hat schon noch ein BIOS aus den 80er Jahren?

Das oben beschriebene Szenario fand sich in der IDE-Spezifikation wider. Die folgende EIDE-Spezifikation reduzierte die Bits der Sektoren (-2) zu Gunsten der Zylinderanzahl (+2), sodass Platten bis zu 2.1GB Größe gehandhabt werden konnten. Die nächste Erweiterung erfuhr das BIOS, das nun 24 Bit für CHS verwendete: 14 Bit gönnte man den Zylindern (65536), 8 Bit den Sektoren (255) und die Köpfe gingen bei der Erhöhung wieder einmal leer aus. Für sie standen weiterhin rare 4 Bit zur Verfügung. Wieder unter der Annahme der 512Byte-Sektoren resultiert hieraus die Begrenzung von Festplatten auf 8,4GB.

Also doch kein 1024er Problem?

Die Verteilung der 24 Bit auf CHS ist rein willkürlich. Wählen Sie bspw. 10 Bit für die Zylindernummern (1024), 6 Bit für die Sektoren (63) und 8 Bit für die Köpfe (256), so ergibt die Berechnung der adressierbaren Festplattenkapazität dieselbe Schranke, nämlich 8,4GB. Das Problem der fossilen 20 Bit und der noch verbreiteten 24 Bit Adressierung beruht also auf denselben Ursachen und als Begriff hierfür hat sich »das 1024-Zylinder-Problem« etabliert.

Aus Sicht der Festplatte ist die Berechnungsvorschrift ohnehin unerheblich, denn sie weiß selbst, wo der Sektor mit der Nummer 34788 ist, und ihr ist egal, wie das BIOS diese Nummer berechnete.

Die neue Adressierung: LBA

CHS als Berechnungsmodell zur Adressierung deckte sich mit den Geometrien früherer Festplatten. Im Zuge der Miniaturisierung und der höheren Packungsdichten der Daten beschritten die Hersteller neue Wege. Nehmen Sie sich ein Blatt Papier zur Hand, schneiden einen Kreis aus und beginnen, diesen Kreis von außen nach innen in konzentrischen Kreisen zu beschreiben. Sie werden bemerken, dass stets weniger Text auf einen Kreis passt, je näher Sie zum Mittelpunkt gelangen. Für »fossile« Festplatten bedeutete dies, dass die Anzahl der Daten, die auf eine Spur untergebracht werden konnten, durch die Kapazität der innersten Spur begrenzt war. Der logische Schritt war die Abkehr vom starren Zylinder-Sektoren-Verhältnis. Tatsächlich nimmt die Anzahl Sektoren pro Zylinder bei modernen Festplatten mit zunehmender Zylinderzahl stetig ab (Zylinder werden von »außen« nach »innen« nummeriert).

Nur greift nun die Adressierung per CHS nicht mehr... Deshalb findet heute nahezu ausschließlich die Adressierung mit LBA Linear Block Addresses Verwendung, wobei die Sektoren der Reihe nach, bei 0 und »außen« beginnend, durchnummeriert sind. Die Abbildung von LBA auf CHS wird von der Logik der Festplatte selbst vorgenommen.

Ein BIOS sollte eine Festplatte heute immer per LBA adressieren. Zum einen entspricht das CHS-Format der Festplatte nicht mehr dem vereinfachen Schema eines konstanten Sektoren-Zylinder-Verhältnisses, womit ein BIOS den kompletten Berechnungsmechanismus implementieren müsste (was für jeden Festplattentyp schier unmöglich ist). Zum anderen werden für die Adressierung dieselben Bits verwendet, die sonst das CHS-Format beschreiben, sodass letztlich dieselbe Anzahl Sektoren erschlossen wird.

Durch die Einführung der Festplatten mit einer unterschiedlichen Sektorenanzahl auf den Zylindern musste einem »alten« BIOS weiterhin ermöglicht werden, auch solche Platten anzusteuern. Die Industrie entschied sich, allen Platten dieser Bauart einheitlich die Dimension 16383 Zylinder, 16 Köpfe, 63 Sektoren/Zylinder zu verleihen. Eine Abfrage der Geometriedaten per INT13h durch das BIOS liefert somit immer diese Daten. Fazit: Wir sind noch immer beim 1024-Zylinder-Problem...

Alles halb so wild...

Anlass zur Entwarnung kann aus drei Gründen gegeben werden.

  1. Die »post 1998« Konvention erweitert die Interrupt 13 Spezifikation. Ein zu dieser Konvention konformes BIOS verwendet statt der 24 Bit zur Adressierung nun 28 Bit. Hiermit ergibt sich als Schranke der Plattenkapazität 128 GB. Eine nochmalige Aufstockung auf 64 Bit ist bereits angedacht, sodass derartige Probleme auf lange Sicht der Vergangenheit angehören dürften. BIOS-Versionen ab ca. 1999 sollten somit der 1024-Zylinder-Grenze nicht mehr unterliegen.
  2. Zahlreiche Hersteller von Festplatten bieten zusätzlich eine »Diskmanagement«-Software, die, im Master Boot Record platziert, die BIOS-Mechanismen zum Ansprechen der Platten durch eine eigene Implementierung ersetzt. Sobald das BIOS den Mbr startet, wird die Software aktiv und alle Festplattenzugriffe laufen ab sofort über diese.
  3. Der Linux-Kernel spricht die Festplatten ohne Zugriff auf die BIOS-Routinen an, sodass, ist der Kernel erst einmal aktiv, die volle Kapazität der Platte angesprochen werden kann.

Womit wir nochmals auf das reale 1024-Zylinder-Problem stoßen. Ein modernes Betriebssystem benötigt zum Laden einen Bootloader (nur mit Hilfe eines solchen ist die parallele Installation mehrerer Systeme möglich). Solche Bootmanager verfügen jedoch in den seltensten Fällen über eigene Mechanismen, um eine Festplatte zu adressieren. Sie bedienen sich zumeist der BIOS-Aufrufe, was auch bedeutet, dass sie genau jenen Bereich der Platte ansprechen können, den das BIOS anzusprechen vermag. Zum Laden des Kernels muss ein Bootloader diesen innerhalb der vom BIOS gegebenen Grenzen vorfinden!

Um von jeglichen Zwängen befreit zu sein, benötigen Sie neben dem aktuellen BIOS auch eine geeignete Implementierung des Bootmanagers. Bspw. kann der Lilo erst ab Version 32 (Revision 3) Systeme »hinter« dem Zylinder 1024 booten.

Partitionieren der Festplatte(n) - Wie viele Partitionen sind mindestens notwendig? Zurück Anfang Weiter

Die weiteren Überlegungen werden zeigen, dass die Verteilung der Installation auf mehrere Partitionen sich in zahlreichen Fällen vorteilhaft auswirkt. Im Augenblick liegt der Fokus allerdings auf dem absoluten Minimum. Es ist unerheblich, auf wie viele Festplatten die Partitionen verteilt werden. Nur ihre Existenz zählt.

Eine Partition für jedes System

Für jedes zu installierende System (Linux, Windows, BSD,...) ist mindestens eine eigene Partition zu veranschlagen. Dies gilt ebenso für mehrere Linuxinstallationen (falls Sie verschiedende Distributionen gleichzeitig verwenden möchten), da jedes Linuxsystem seine eigene Root-Partition benötigt.

Aus diesem Aspekt ist die Summe der verwendeten Systeme die untere Schranke der Partitionenanzahl.

Einmal Swap für alle

Aus Gründen der Effizienz benötigt ein Linuxsystem mindestens zwei (primäre oder logische) Partitionen. Eine dient zur Aufnahme der Root-Partition, die andere steht als Swap-Speicher zur Verfügung.

Swap-Speicher dient der Auslagerung von Speicherseiten aus dem Hauptspeicher auf die Festplatte, falls im Hauptspeicher nicht genügend Platz zum Laden der Programme/Daten vorhanden ist. Als Summe von Swap-und Hauptspeicher (RAM) sollten Sie mindestens 256 MB (Minimalinstallationen begnügen sich bei Verzicht auf speicherhungrige Anwendungen auch mit 64MB) veranschlagen. Mit einem entsprechenden Kernel (ab 2.1.117) darf eine einzelne Swap-Partition bis zu 2GB groß sein. Allerdings unterstützen nicht alle Installationswerkzeuge das Anlegen eines Swap-Bereiches mit mehr als 128 MB. In einem solchen Fall können bis zu 8 Swap-Partitionen (63 Partitionen bei entsprechendem Patch) gleichzeitig verwaltet werden.

Bei mehreren installierten Linuxsystemen genügt eine einzige Swap-Partition; es kann ohnehin zu einem Zeitpunkt nur ein System gebootet werden.

Altes BIOS?

Falls auf Ihren Rechner das 1024-Zylinder-Problem zutrifft, müssen Sie sicher stellen, dass der Linuxkernel und die Daten des Bootmanagers im »vorderen« Bereich der Festplatte liegen. Die Optionen hierfür sind das Erzeugen einer Linux-Root-Partition so, dass sie definitiv vor dem 1024. Zylinder endet. Oder aber Sie reservieren zuvorderst eine kleine Partition (10-20MB), die das /boot-Verzeichnis des Linuxsystems aufnehmen wird.

Partitionieren der Festplatte(n) - Wie viele Partitionen sind für Linux ratsam? Zurück Anfang Weiter

Im speziellen Fall wird man sicher bessere Lösungen finden, als die, die ich hier angebe. Aber bei der Verteilung der Partitionen das Optimum herauszuholen, bedeutet auf jegliche Hardwarekonstellation und jeden Einsatzbereich einzugehen. Deswegen sollten die nachfolgenden Tipps nur als Faustregeln verstanden werden.

Gesteigerte Geschwindigkeit mit mehreren Festplatten

Wer mehrere Festplatten sein Eigen nennt, der sollte eine Verteilung der Installation über diese in Betracht ziehen.

In einem Linuxsystem bewerben sich etliche Prozesse um die knappen Hardwareressourcen und nicht wenige davon greifen konkurrierend auf die Festplatte(n) zu. Liegen die Daten zweier Prozesse auf ein und derselben Festplatte, dann wird der Schreib/Lesekopf im Sinne der Gleichbehandlung der Anforderungen mal ein Stück der einen Datei, dann wieder eine Portion der anderen lesen. D.h. zusätzlich zur reinen Zeit für das Lesen der Dateien geht noch Zeit für die Kopfpositionierung drauf. Lägen die Daten auf verschiedenen Festplatten, gelängen die Zugriffe wesentlich schneller...

Zwar weiß niemand mit Sicherheit, welcher Prozess zu welcher Zeit auf welche Datei zugreift, aber mit ein paar simplen Überlegungen lassen sich einige Verzeichnisse herauspicken, die besser auf getrennten Festplatten/Partitionen angelegt werden sollten:

  • Swap-Partition und das Root-Verzeichnis sind sichere Kandidaten... Gerade bei Rechnern mit geringem Hauptspeicherausbau (< 128 MB) ist der Swap heiß begehrt...
  • /usr und /usr/lib sollten auf verschiedene Platten: Die meisten Programme erfordern das dynamische Nachladen von Bibliotheken. Wird also ein Programm aus /usr/bin gestartet, werden meist noch eine Reihe von Bibliotheken aus /usr/lib geladen. Das geht schneller, wenn beide Verzeichnisse auf getrennten Platten liegen...
  • Ähnliche Überlegungen legen eigene Bereiche für /var und /tmp ... nahe.

Gesteigerte Geschwindigkeit auch bei einer Festplatte

Aber selbst wenn nur eine Festplatte für Linux verfügbar ist, lassen sich einige Optimierungen treffen.

Die Zugriffsgeschwindigkeit bei neueren Festplatten hängt stark von der Zylindernummer ab. So sollten die stark frequentierten Partitionen außen (kleine Zylindernummer) liegen und die weniger gebräuchlichen auf den inneren Zylindern.

Eine Aufteilung folgender Art trägt den Überlegungen Rechnung:

  1. /boot (1024-Zylinder-Problem)
  2. Swap
  3. Root-Verzeichnis
  4. ...
  5. /home

Aus Gründen der Sicherheit

Gänzlich andere Überlegungen empfehlen die Trennung der statischen von den dynamischen Daten. So werden die Daten im Verzeichnis /var auf einem als Server eingesetzten System binnen kürzester Zeit expandieren. Und die Heimatverzeichnisse der Benutzer vom eigentlichen System zu trennen, ist immer eine gute Idee. Letzteres ermöglicht eine spätere Aktualisierung des Systems ohne die privaten Daten sichern zu müssen und es gibt noch einen wichtigeren Grund...

Angenommen wir haben eine simple Installation vorgenommen und die Platte nur in die Bereiche für den Swap-Speicher und eine Partition für den Rest aufgeteilt. Viel freier Speicher ist nicht mehr übrig geblieben, dafür laden sich die Nutzer fleißig die dicksten Movies aus dem Netz... Nicht mehr lange und der Vorrat an Speicherkapazität ist erschöpft.

Was wird passieren? Niemand wird mehr vernünftig mit dem System arbeiten können, da kein Prozess mehr vermag, seine Statusdaten abzulegen. Der Systemverwalter will sich anmelden und per Hand Platz schaffen... und scheitert, da nicht mal ihm Ressourcen zur Verfügung stehen. Unter Umständen muss das System neu gestartet werden.

Es geht noch schneller

Was hier nicht erwähnt wurde... ist die Möglichkeit des Einsatzes von Raid-Systemen (Redundant Array of Independent Disks), wobei mehrere (baugleiche) Festplatten zu einer Einheit zusammengefasst werden. Verschiedene Raid-Verfahren zielen hierbei sowohl auf eine erhöhte Datensicherheit (Redundanz) als auch auf einen beschleunigten Zugriff auf die Daten ab (indem zusammen gehörige Daten über die Platten verteilt gespeichert werden). Raid ist eher im Serverbereich von Interesse...

Keine Partition mehr frei? Zurück Anfang Weiter

Man muss kein Prophet sein, um vorauszusehen, dass die meisten Linuxneulinge bereits Erfahrung im Umgang mit Windows haben. Und man wird das gewohnte Betriebssystem nicht gleich über Bord werfen, ohne das Neue auf Herz und Nieren geprüft zu haben.

Was also tun, wenn man Linux installieren möchte, die Festplatten aber mit dem alten System vollgestopft sind?

Die von manchen Distributoren angebotene Live-CD zu verwenden, taugt wirklich nur für den ersten Kontakt. Linux eine neue Platte spendieren, scheitert meist an den Kosten. Bleibt nur, die existierenden Festplatten - sofern noch Speicherkapazität verfügbar ist - umzupartitionieren und somit Linux den notwendigen Bereich einzuräumen.

Eine bestehende Partition frei räumen

Belegt das bestehende System mehrere Partitionen (unter Windows spricht man von Laufwerken), so ist es einen Versuch wert, durch Umkopieren der Dateien eine Partition frei zu räumen und auf diese Weise Platz zu gewinnen. Sind alle Daten gesichert (Vorsicht bei versteckten Dateien!), steht nun ein Bereich für Linux zur Verfügung.

Auch in diesem Fall wird man um eine nachfolgende Umpartitionierung nicht herum kommen, da Linux erst mit mindestens zwei Partitionen (die zweite ist für den Swap) effektiv arbeiten kann.

Befindet sich die soeben bereinigte Partition innerhalb einer erweiterten Partition, so ist ihre Teilung in zwei Partitionen leicht möglich. Hat man neben dieser Partition noch einen weiteren Eintrag für eine primäre Partition zur Verfügung oder falls noch keine erweitere Partition existiert, ist das Einrichten zweier neuer Partitionen ebenso machbar.

Eine bestehende Partition verkleinern

Voraussetzung ist natürlich, dass auf einer solchen Partition wirklich noch ausreichend freier Speicherplatz vorhanden ist (mind. 500MB für eine schlanke Linux-Installation).

Als freies Werkzeug liegt den meisten Distributionen das DOS-Programm fips.exe bei. Das Programm versucht durch Verkleinerung der letzten Partition (muss DOS oder Windows sein!) Platz für eine weitere Partition zu schaffen. Zu empfehlen ist die vorherige Defragmentierung dieser Partition, da »fips.exe« nur den ungenutzten Speicherbereich am Ende der Partition verwenden kann.

Manchen Distributionen liegt eine Variante des bekannten PartitionMagic bei. Dieses »Linux Prep Tool« ist speziell auf die Belange der Installation von Linux zugeschnitten, falls schon ein anderes Betriebssystem auf dem Rechner residiert.

Zur Verwendung des Werkzeuges ist eine bestehende Windows-Installation (95,98,NT) notwendig, die zum Einrichten des PartitionMagic auf Festplatte (95,98) bzw. auf Diskette (NT) dient. Nach erneutem Booten startet automatisch die grafische Oberfläche zum Erzeugen einer Linux-Partition.

Im Unterschied zu »fips« ist »Linux Prep Tool« in der Lage, eine beliebige Partition zu verkleinern (immer vorausgesetzt, es ist auch genügend freier Speicherplatz vorhanden).

Partitionieren mit fdisk Zurück Anfang

Während des Installationsvorganges der einzelnen Distributionen werden Sie meist mit einer um eine grafische Oberfläche erweiterten Fassung von fdisk konfrontiert. Die damit verbundene Änderung der Bedienung ist in den Abschnitten zur Installation enthalten. fdisk kann auch außerhalb des eigentlichen Installationsprozesses nützlich sein, z.B. bei der nachträglichen Installation einer weiteren Festplatte.

Das Standardwerkzeug zum Partitionieren von Festplatten (und sogar Disketten) unter Linux ist fdisk. Zwar existiert unter DOS/Windows ein gleichnamiges Programm, jedoch ist die Linux-Version wesentlich liberaler und unterstützt nahezu alle Typen von Partitionen (selbst die von Windows...).

Das Partitionieren ist ein tiefer Eingriff in Ihr System. Mit unüberlegten Handlungen könnten Ihre Dateien unwiderruflich verloren sein! Zwar ist es möglich mit dem Befehl

root@sonne> dd if=/dev/hda of=/dev/fd0 bs=512 count=1

die alte Partitionstabelle (im Beispiel der ersten IDE-Festplatte) auf Diskette zu sichern und diese später durch Vertauschen von In- und Outfile (if=/dev/fd0 bzw. of=.../dev/hda) zurück zu spielen, jedoch macht dies nur Sinn, solange Sie keine Formatierung der neuen Partitionen vorgenommen haben. Ein Backup der wichtigsten Daten sollte einer Umpartitionierung stets voraus gehen!

Wird fdisk ohne Argumente aufgerufen, so verwendet es die erste Festplatte im System, möchten Sie andere Festplatten/Disketten partitionieren, ist die Angabe des entsprechenden Devices obligatorisch (manche Versionen von fdisk erfordern immer die Angabe der Partition).

Die interessanteste Option des Kommandos ist -l, die die Ausgabe der Partitionstabelle der angegebenen oder aller Festplatten bewirkt. Bei Verzicht auf Optionen startet fdisk im interaktiven Modus, wo sich (kurioserweise???) hinter dem Befehl m ein Hilfebildschirm verbirgt:

root@sonne> fdisk /dev/hdb

Befehl (m für Hilfe): m
Befehl  Bedeutung
   a (De)Aktivieren des bootbar-Flags
   b bsd disklabel« bearbeiten
   c (De)Aktivieren des DOS Kompatibilitätsflags
   d Eine Partition löschen
   l Die bekannten Dateisystemtypen anzeigen
   m Dieses Menü anzeigen
   n Eine neue Partition anlegen
   o Eine neue leere DOS Partitionstabelle anlegen
   p Die Partitionstabelle anzeigen
   q Ende ohne Speichern der Änderungen
   s Einen neuen leeren »Sun disklabel« anlegen
   t Den Dateisystemtyp einer Partition ändern
   u Die Einheit für die Anzeige/Eingabe ändern
   v Die Partitionstabelle überprüfen
   w Die Tabelle auf die Festplatte schreiben und das Programm beenden
   x Zusätzliche Funktionen (nur für Experten)
Befehl (m für Hilfe):

Bevor Sie Änderungen vornehmen, sollten Sie sich die bisherige Tabelle mit Hilfe des Kommandos p betrachten:

Kommando (m für Hilfe): p
Festplatte /dev/hdb: 15 Köpfe, 62 Sektoren, 899 Zylinder
Einheiten: Zylinder mit 930 * 512 Bytes
Gerät Booten Anfang Ende Blöcke ID Dateisystemtyp
/dev/hdb1 1 23 10664 83 Linux
/dev/hdb2 24 305 131130 82 Linux Swap
/dev/hdb3 306 899 276210 83 Linux
Kommando (m für Hilfe):

Eine Partition löschen Sie mit dem Kommando d

Kommando (m für Hilfe): d
Partitionsnummer (1-4): 3

Kommando (m für Hilfe):

Eine erweiterte Partition kann erst entfernt werden, wenn zuvor alle enthaltenen logischen Partitionen entfernt wurden.

Mit n wird eine neue Partition erzeugt. Sie werden aufgefordert, zwischen erweiterter, logischer oder primärer Partition (soweit vorhanden) zu wählen. Eine logische Partition kann nur angelegt werden, wenn bereits eine erweiterte Partition existiert, ebenso kann es nur eine erweiterte Partition geben und die Summe erweiterter und primärer Partitionen darf 4 nicht übersteigen. Im nachfolgenden Beispiel legen wir eine erweiterte und in dieser zwei logische Partitionen an:

Kommando (m für Hilfe): n
Kommando  Aktion
   e      Erweiterte
   p      Primäre Partition (1-4)
e
Partitionsnummer (1-4): 3
Erster Zylinder (306-899) [Standardwert: 306]:
Benutze den Standardwert 306
Letzter Zylinder oder +Größe, +GrößeK oder +GrößeM (306-899) [Standardwert: 899]:
Benutze den Standardwert 899

Kommando (m für Hilfe): n
Kommando  Aktion
   l      Logische Partition (5 oder größer)
   p      Primäre Partition (1-4)
l
Erster Zylinder (306-899) [Standardwert: 306]:
Benutze den Standardwert 306
Letzter Zylinder oder +Größe, +GrößeK oder +GrößeM (306-899) [Standardwert: 899]: +100M

Kommando (m für Hilfe): n
Kommando  Aktion
   l      Logische Partition (5 oder größer)
   p      Primäre Partition (1-4)
l
Erster Zylinder (507-899) [Standardwert: 507]:
Benutze den Standardwert 507
Letzter Zylinder oder +Größe, +GrößeK oder +GrößeM (507-899) [Standardwert: 899]:
Benutze den Standardwert 899

Kommando (m für Hilfe):

Nachdem Erzeugen einer neuen Partition ist dessen Typ immer Linux (ext2). Ein anderer Typ muss explizit über das Kommando t gesetzt werden.

Kommando (m für Hilfe): t
Partitionsnummer (1-6): 5
Hex code (L um eine Liste anzuzeigen): 93
Der Dateisystemtyp der Partition 5 ist nun 93 (Amoeba)

Kommando (m für Hilfe):

Die Angabe des Partitionstyps erfolgt hexadezimal, eine Liste der bekannten Partitionen zeigt das Kommando L an.

Manche Betriebssysteme (u.a. DOS) benötigen zum Start von einer Partition eine spezielle Kennung dieser, das bootable Flag. Ein solches kann mit b gesetzt werden.

Um die Partitionstabelle auf die Festplatte zu schreiben und das Programm zu beenden, ist das Kommando w einzugeben, zum Beenden ohne Speichern kann q gewählt werden.

Das soeben besprochene Verfahren wird Ihnen in ähnlicher Form während der Installation eines Linuxsystems begegnen. Als nächster Schritt folgt dem Partitionieren das Formatieren, also das Anlegen eines Dateisystems auf dieser Partition. Im Laufe einer Installation geschieht dies jedoch für den Nutzer transparent, so dass wir diese Problematik erst im Abschnitt Dateisysteme der Systemadministration besprechen werden.

Korrekturen, Hinweise?
Startseite Nächste Seite Nächstes Kapitel Vorherige Seite Kapitelanfang