Eine externe Festplatte ist eine ausgezeichnete Möglichkeit, älteren Geräten neues Leben einzuhauchen oder Linux auf einem Rechner laufen zu lassen, der die interne Festplatte nicht ändern kann (oder will). Angenommen, du möchtest Linux in einem Dual-Boot-System verwenden, hast aber keinen freien Speicherplatz auf der Festplatte deines Computers. Eine Lösung ist die Verwendung einer "aktiven" Linux-Distribution wie Knoppix, die direkt von einer CD laufen kann. Diese Methode funktioniert zwar gelegentlich, hat aber eine Reihe ernsthafter Nachteile:
Du brauchst trotzdem einige Datendateien für die Dauerhaftigkeit. Wenn du nur sehr kleine Dateien verwendest, kannst du Disketten verwenden; Für mittelgroße Dateien kann ein USB-Stick ausreichen, aber keiner davon ist ideal.
Bei der Verwendung von "aktiven" CDs ist es sehr schwierig oder sogar unmöglich, eigene Anwendungen zu installieren oder bestehende anzupassen.
Die Nutzung einer aktiven Distribution verlangsamt die Leistung, besonders wenn der Start alle Geräte erkennt – aber auch zur Laufzeit (weil alles von einer CD geladen werden muss, was in der Regel viel langsamer ist als das Laden von einer Festplatte).
Natürlich gibt es auch andere Möglichkeiten. Zum Beispiel können Sie andere eingebaute Laufwerke kaufen und Linux darin installieren. Aber es ist üblich, dass die Maschine wahrscheinlich keine Laufwerksschächte zur Verfügung hat (besonders bei Laptops, die normalerweise nur eine interne Festplatte zulassen).
Alternativ kannst du eine größere Festplatte statt deiner aktuellen verwenden und Linux auf dem zusätzlichen Speicherplatz installieren, den du dadurch bekommst. Dies ist jedoch eine zeitaufwändige Option, da Sie das bestehende Betriebssystem auf der neuen Festplatte neu installieren, alle Anwendungen neu installieren und neu konfigurieren sowie alle Daten wiederherstellen müssen.
Eine bessere Lösung ist, eine externe Festplatte zu kaufen und Linux darauf zu installieren. So kannst du externe Laufwerke nur dann anschließen, wenn du Linux nutzen möchtest, ohne deine bestehende Hardware und Software zu ändern.
Optionen für herausnehmbare Laufwerke
Die Bandbreite mobiler Geräte, die Linux installieren können, reicht von Diskettenlaufwerken über USB-Flash-Geräte, USB-/FireWire-Festplatten und mehr.
Zwar ist es richtig, dass Linux in kleinen Geräten wie 1,44-MB-Disketten oder 32-MB-USB-Festplatten installiert werden kann, handelt es sich dabei oft (notwendigerweise) um spezialisierte, verkleinerte Distributionen, zum Beispiel um beschädigte Installationen zu retten.
Externe Festplatten bieten jedoch die größte Flexibilität für eine allgemeine Linux-Distribution zu einem angemessenen Preis.
Externe Laufwerke stammen von vielen verschiedenen Herstellern (Maxtor, Western Digital usw.) und können in verschiedenen Größen erhältlich sein. Diese Laufwerke enthalten alle eine externe Box, die Standard-3-1/2"- oder 2-1/2"-IDE-Laufwerke enthält. Diese Laufwerke sind üblicherweise per USB oder IEEE1394 (FireWire) mit dem Computer verbunden.
Es gibt zwei Hauptversionen von USB, 1.1 und 2.0. Version 1.1 hat eine maximale Übertragungsgeschwindigkeit von 12 Mbit/s (Megabit pro Sekunde), während Version 2.0 Übertragungsgeschwindigkeiten von bis zu 480 Mbit/s unterstützt. Während die meisten 2.0-kompatiblen Laufwerke abwärtskompatibel mit 1.1 sind, ist es im Allgemeinen am besten, 1.1 zu meiden, es sei denn, Sie haben keine andere Wahl (weil es langsamer ist).
Der FireWire-Standard definiert ebenfalls viele verschiedene mögliche Geschwindigkeiten, aber in Wirklichkeit meinen Menschen, wenn man von FireWire spricht, "FireWire400", das Übertragungen bis zu 400 Mbit/s unterstützt.
Was die Geschwindigkeit angeht, gibt es nicht viel Auswahlmöglichkeiten zwischen USB 2.0 und FireWire: Obwohl USB 2.0 höhere Geschwindigkeiten meldet, sind sie aufgrund der Unterschiede tatsächlich ähnlich. Wenn dein Computer beide hat, ist es vielleicht besser, USB statt FireWire zu verwenden (ich erkläre später warum), aber wenn du nur FireWire hast, kannst du natürlich nur FireWire wählen. Für maximale Flexibilität wählen Sie aus einer großen Anzahl von Laufwerken, die USB 2.0 und FireWire unterstützen (zum Beispiel das, das ich später in diesem Artikel verwenden werde).
FireWire- und USB-2.0-Karten sind günstig für Computer, die nicht die erforderlichen Ports haben, PCI (für Desktops) und PCMCIA (für Laptops): Zum Beispiel kostete die PCMCIA FireWire-Karte, die ich später in diesem Artikel verwendet habe, etwa 10 GBP (weniger als 20 $).
Um diesen Artikel zu beenden, habe ich eine 5-1/4" externe Festplatte gekauft. Dies ist ein sehr flexibler Anhänger, der mit keinem Laufwerk geliefert wird und in jedes Standard-IDE-Gerät passt, einschließlich 3-1/2"-Festplatten und 5-1/4"-IDE-Geräten wie CD-RW/DVD-RW-Laufwerken. Das Gehäuse verfügt über USB 2.0 und FireWire-Konnektivität.
Um die Plattenbox an meinen IBM Thinkpad T30 Laptop anzuschließen, habe ich außerdem eine PCMCIA FireWire-Karte gekauft (der integrierte USB-Anschluss unterstützt nur USB 1.1).
Sowohl die Cartridge als auch die FireWire-Karte sind günstiger (50 GBP bzw. 10GBP).
Zu Testzwecken habe ich die Plattenbox mit dem 13GB 3-1/2" IDE-Laufwerk angeschlossen, das ich vorbereitet habe – im tatsächlichen Gebrauch kaufe ich Laufwerke mit größerer Kapazität, die jetzt ebenfalls sehr günstig sind (etwa 50GBP pro GB!). )
Linux-Unterstützung
Wie zu erwarten, ist die Linux-Unterstützung für diese Trays wirklich gut. Jedes Gerät, das dem SBP-Standard (Serial Bus Protocol) für "Hochvolumengeräte" entspricht, kann problemlos mit Linux verwendet werden.
Im Allgemeinen muss der Kernel, um die Unterstützung für diese Geräte zu ermöglichen, viele Dinge unterstützen (entweder direkt kompiliert oder über Module).
Sowohl für USB als auch für FireWire wird die SBP-Geräteunterstützung über SCSI-Emulation implementiert – das heißt, Geräte werden Linux so angezeigt, als wären sie SCSI-Festplatten. Dies ist eine gängige Methode, Speichergeräte unter Linux abzustrahieren (z. B. werden auch IDE-CD/DVD-Laufwerke häufig mit SCSI-Emulation verbunden). Daher ist folgende Kernel-Unterstützung erforderlich:
* SCSI-Unterstützung
* SCSI-Simulation
* SCSI-Festplattenunterstützung
Je nach Verbindungsmethode kann zusätzlich folgende Unterstützung erforderlich sein:
Für FireWire:
IEEE1394 Unterstützung
OHCI1394 Unterstützung
RAW1394 Unterstützung
SBP-2 unterstützt
Für USB:
(Host) USB-Unterstützung
OHCI-Unterstützung
UHCI-Unterstützung
Unterstützung für USB-Massenspeicher
Natürlich musst du andere Hardware (Grafikkarte usw.) völlig normal unterstützen, und je nach deiner tatsächlichen Hardwaresituation brauchst du vielleicht noch andere Module.
Zum Beispiel benutze ich eine PCMCIA (Cardbus) FireWire-Karte, daher muss ich hinzufügen:
PCMCIA-Unterstützung
Cardbus-Unterstützung
Installation
Jetzt, wo wir ein externes Gerät haben, werden wir damit beginnen, Linux darauf zu installieren.
Der einfachste Weg, Linux derzeit (meiner Meinung nach, natürlich) zu installieren, ist, die gesamte Hardware anzuschließen (hier beinhaltet das Einstecken der PCMCIA FireWire-Karte, das Verbinden des FireWire-Kabels mit der PCMCIA-Karte und der Festplatte sowie das Einschalten des Netzschalters); Dann starte den Computer mit der Installations-CD deiner gewählten Distribution.
Die Distribution, die ich gewählt habe, war Gentoo (siehe Referenzen für verwandte Links), daher habe ich die neueste "Universal" x86 Live CD (2004.1) verwendet. Andere Verteilungen sollten mehr oder weniger Schritte erfordern als die hier beschriebenen.
Sobald man mit der Installations-CD gebootet hat, sollte es dein Laufwerk erkannt haben, wenn du Glück hast. Das Laufwerk sollte als Festplatte unter /dev/sdX erscheinen, wobei X ein kleiner Buchstabe ist, der mit "a" beginnt. In meinem System wird das externe Laufwerk als /dev/sda erkannt, aber wenn du andere SCSI-Disketten hast (simulierte SCSI-Disketten), ändert sich das; In diesem Fall könnte es /dev/sdb oder ein anderer Buchstabe sein. Wenn das Laufwerk nicht automatisch erkannt wird, können weitere Schritte erforderlich sein – zum Beispiel müssen Sie FireWire oder PCMCIA über die Boot-Option aktivieren, oder Sie müssen einige Kernel-Module manuell laden oder etwas Ähnliches (siehe die Referenz für einen Link zur Fehlerbehebung).
Sobald das Laufwerk identifiziert wurde, sollte es tatsächlich wie eine interne Festplatte funktionieren, damit der Rest der Installation berücksichtigt werden kann; Du solltest es also bei Bedarf partitionieren und Linux wie gewohnt installieren können.
Ein Wort der Warnung: Seien Sie vorsichtig, wenn Sie entscheiden, wo Sie den Bootloader installieren (meistens GRUB oder LILO) – ich empfehle, ihn nicht in einem Master Boot Record (MBR) zu installieren, was normalerweise der Standard ist. Stattdessen sollte es in der Root-Partition (oder Boot-Partition, wenn ein separater Bootloader verwendet wird) der externen Festplatte installiert werden.
Jetzt, wo wir Linux auf dem Gerät installiert haben, starten wir Linux. Hier gibt es einige Tipps, um damit anzufangen.
Anleitung
Bevor wir über das Booten eines neuen Laufwerks sprechen, gibt es einige Bootloader-Theorien, die man verstehen sollte.
Der Bootloader wird üblicherweise im MBR der ersten Festplatte des Computers installiert. Wenn der Bootloader aufgerufen wird (das BIOS führt den Code im MBR automatisch aus), wird in der Regel ein Menü mit Betriebssystemen angezeigt, das booten kann. Wählen Sie einen bestimmten OS-Boot.
Es gibt zwei Dinge zu beachten bei diesem Szenario:
* OS-Auswahlmenü (normalerweise) von der Festplatte geladen.
* Um das Betriebssystem zu booten, muss der Bootloader den entsprechenden Kernel von der Festplatte lesen.
Da das oben Genannte geschieht, bevor das Betriebssystem geladen wird, bedeutet das, dass alle Festplattenlesungen so ablaufen müssen, wie die BIOS-Aufrufe durchgeführt werden. Das bringt ernsthafte Probleme mit sich: Zum Beispiel muss dein BIOS, um die Festplatte direkt zu booten, Festplatten unterstützen, die über FireWire oder USB angeschlossen sind. Dies kann oft als BIOS-Option gesehen werden, um von diesen Arten von Festplatten zu booten. Tatsächlich ist FireWire-BIOS-Unterstützung derzeit selten, aber USB-Unterstützung wird immer häufiger. Wenn du also USB in einem relativ neuen Computer verwendest, solltest du das Laufwerk direkt unter Linux starten können.
Nachdem ich GRUB im MBR eines externen Laufwerks installiert habe, kann ich das Laufwerk direkt booten, wenn es per USB verbunden ist. Beim Booten geht die angeschlossene Festplatte einfach in das BIOS-Setup-Programm. Die externe Festplatte erscheint wie eine normale Festplatte: Verschieben Sie die Festplatte so, dass sie der internen Festplatte in der Startreihenfolge vorausgeht.
Ich kann den Bootloader auch im MBR des internen Laufwerks installieren und ihn zum Booten des USB-Laufwerks verwenden (zu diesem Zeitpunkt wird er in GRUB in GRUB als HD1 angezeigt). Wenn du FireWire verwendest, besteht die Möglichkeit, dass das BIOS das Laufwerk nicht direkt booten kann und zusätzliche Aktionen erforderlich ist.
Glücklicherweise ist es wegen der Flexibilität von Linux, falls man nicht direkt booten kann (mit einer PCMCIA FireWire-Karte, das ist definitiv mein Fall!). ), gibt es recht einfache Lösungen. Die ersten Startschritte können von einem unterstützten Gerät wie einem Diskettenlaufwerk, CD, USB-Key oder einer kleinen Partition auf dem Hauptlaufwerk ausgeführt werden, und anschließend können zusätzliche Operationen mit dem externen Laufwerk durchgeführt werden.
Baue ein Boot-Image
Bootstrapping kann mit zwei Methoden durchgeführt werden:
* Einstufige Führung
Der Kernel startet, installiert das Root-Dateisystem und fährt mit der Initialisierung fort, indem er ein Initialisierungsskript aufruft (meist /sbin/init).
* Zweistufiges (initrd) Bootstrapping
Der Kernel startet, installiert die initiale RAM-Festplatte (initrd) und führt weitere anpassbare Initialisierungen durch, und dann das Root-Dateisystem installieren und mit der Initialisierung fortfahren (meist auch durch Aufruf von /sbin/init). Beide Methoden haben ihre eigenen Vor- und Nachteile.
Eine Phase der Führung
Um One-Stage-Boot zu verwenden, müssen wir einen Kernel bauen, der alle Treiber enthält, die für die Installation des eingebauten Root-Dateisystems erforderlich sind
|