Start   Impressum         online lesen   Download         Jumping Blue Turtle

Debian für Unternehmer - Debian-Know-how

6. Eine USB-Rettungsfestplatte anfertigen

Sie haben sich einen neuen Rechner gekauft und wollen ihn nun in Betrieb nehmen. Bevor Sie damit anfangen, die Betriebssysteme auf diesem Rechner zu installieren, sollten Sie sich zunächst einmal Gedanken darüber machen, wie Sie künftig darauf reagieren werden, wenn der Masterbootsektor (MBR) der internen Festplatte beschädigt ist, so dass Sie keins Ihrer installieren Betriebssysteme mehr starten können.

Die Lösung für so einen durchaus realistischen Fall ist einfach: Sie nehmen eine Rettungsfestplatte zur Hand, booten von da aus den Rechner und reparieren dann den MBR.

In diesem Abschnitt geht es darum, Ihnen zu zeigen, wie Sie sich eine solche Rettungsfestplatte erstellen können. Das sollten Sie am besten tun, bevor Sie sich um den eigentlichen Rechner (dessen interne Festplatte) kümmern.

Unter anderem ist auch deswegen jetzt der richtige Zeitpunkt, weil Sie mit Hilfe einer Rettungsfestplatte natürlich einen Rechner schon untersuchen können, wenn er noch neu ist und dessen interne Festplatte noch unpartitioniert und unformatiert ist. Ja, Sie können sogar die Partitionierung der internen Festplatte mit Hilfe der Rettungsfestplatte durchführen, und brauchen für diesen Zweck nicht erst extra ein nur dafür gedachtes Notsystem auf den Rechner zu installieren.

Für das Herstellen einer Rettungsfestplatte empfehle ich Ihnen folgende Vorgehensweise:

  1. Partitionieren Sie die Festplatte von einem intakten Rechner aus. Wie in Modul 0501, Kapitel 2 für die interne Festplatte beschrieben, sollten Sie auch auf der Rettungsfestplatte mindestens folgende Partitionen erstellen:

    • eine Partition für das Betriebssystem (Debian-Linux)

      • Wenn Sie zwei Rechner haben, einen mit interner IDE-Festplatte und einen mit interner SATA-Festplatte, dann sollten Sie zwei Betriebssystempartitionen reservieren: Eine Partition für ein System auf "/dev/sda" (für den IDE-Rechner) und eine für ein System auf "/dev/sdb" (dür den SATA-Rechner).

      • Für jede interne serielle Festplatte (die Debian als SCSI-Device anspricht) müssen Sie für das Rettungssystem um einen Buchstaben im Alphabet nach hinten rücken. Bei 1 SATA-Platte ist es "/dev/sdb", bei 2 SATA-Platten ist es "/dev/sdc" und so weiter.

    • eine SWAP-Partition (kann nicht schaden)

    • eine Partition mit der Bezeichnung "system_local"

    Beachten Sie bei der Partitionierung auch Punkt 3 (Installationspartition).

  2. Richten Sie die Partition "system_local" mit allem ein, was Ihre Arbeit so leicht wie möglich macht.

  3. Machen Sie die erste Partition der Rettungsfestplatte zu einem Installationsmedium. Sie sollten dazu exakt die erste Partition dieser Festplatte als Installationspartition verwenden, damit Sie den USB-Stick einsparen können. Wenn Ihr neuer Rechner mit einer internen SATA-Platte ausgestattet ist, dann enthält er auf diese Weise zum Zeitpunkt der Installation des Rettungssystems nur eine interne Festplatte (als "/dev/sda") und die Rettungsfestplatte (als "/dev/sdb"). Die interne Festplatte ist in dieser Konstellation immer "/dev/sda". Bei den externen USB-Geräten wird die Reihenfolge zufällig vergeben. Würden Sie jetzt also von einem USB-Stick aus ein Betriebssystem auf die USB-Festplatte installieren wollen, dann würden die Geräte-Adressen "/dev/sdb" und "/dev/sdc" nach einem Muster an die beiden USB-Geräte verteilt werden, das Sie nur schwer vorhersehen können.

    Wenn Sie aber die erste Partition der Festplatte zur Installationspartition machen, dann machen Sie den Prozess deterministischer, weil Sie dann nur noch ein einziges USB-Gerät benötigen. Als Partitionsgröße empfehle ich 2 GB.

  4. Installieren Sie das Betriebssystem auf die Rettungsfestplatte.

Kleiner Hinweis: Wenn Ihr Rechner gar keine Festplatte und auch kein CD/DVD-Laufwerk enthält, dann sieht die Situation völlig anders aus: In dem Fall werden Sie nämlich feststellen, dass die Installationsroutine von Debian (Etch und Lenny gleichermaßen) einen Bug hat: Wenn Sie von USB-Festplatte aus auf die gleiche USB-Festplatte ein Betriebssystem installieren wollen, dann hängt sich die Installationsroutine auf. In dem Fall brauchen Sie einen USB-Stick als Installationsmedium, dessen erste Partition absolut identisch ist mit der ersten Partition der USB-Festplatte. Wenn Sie dann vom USB-Stick aus installieren, dann hängt sich das System nicht mehr auf, weil es nun ein zweites Gerät findet. Während der Installation wechselt das Installationstool dann abrupt die Quelle, installiert also nicht mehr vom USB-Stick aus, sondern nutzt als Quelle jetzt die Installationspartition der USB-Festplatte.

Dieses Verhalten ist zwar schmutzig, aber wenigstens führt es zum Ziel und ist damit als Workaround akzeptabel. Es bleibt zu hoffen, dass dieser äußerst sinnvolle Anwendungsfall "Rechner ohne interne Datenträger" irgendwann mal von der Debian-Gemeinde unterstützt wird. Bei Gelegenheit werde ich den Bug nebst Workaround mal irgendwo posten und von hier aus dann darauf verlinken.
(der Bug ist der Festplattencontroller, der sich als CD-ROM-Laufwerk ausgibt!)



6.1. Partitionierung der Rettungsfestplatte

Für diese Aufgabe können Ihnen die folgenden Module von Nutzen sein:



6.2. Die Partition "system_local" einrichten

Für die Einrichtung der Partition "system_local" arbeiten Sie bitte die folgenden Module durch:



6.3. Die erste Partition der Rettungsfestplatte zu einem Installationsmedium machen

Im Prinzip machen Sie hier nichts anderes, als wenn Sie einen USB-Stick zu einem Installationsmedium machen würden. Sie können also das folgende Modul nutzen und entsprechend die Rettungsfestplatte wie einen USB-Stick behandeln:

Achten Sie darauf, dass Sie mit "cfdisk" für die Installationspartition das Bootable-Flag setzen! Nicht immer wird es benötigt, aber wenn der Rechner beim Booten der Installationspartition hängen bleibt, dann bleibt er nicht hängen, wenn Sie das Bootable-Flag setzen und erneut booten.



6.4. Installation eines Rettungssystems

Für die Installation des Betriebssystems benötigen Sie die weiter unten aufgelisteten Module.

Bevor Sie mit der Installation beginnen, sollten Sie wissen, dass von der Firma "fantec" USB-Festplattengehäuse im Umlauf sind, die sich beim Rechner nicht als Festplatte melden, wie es sein müsste, sondern als CD-Laufwerk. Prüfen Sie daher Ihre Festplatte zunächst wie folgt:

udevinfo -q env -p "/block/sdc"

Für einen USB-Stick (hier als /dev/sdd registriert) erhalten Sie beispielsweise folgendes Resultat:

ID_VENDOR=Samsung
ID_MODEL=Mighty_Drive
ID_REVISION=PMAP
ID_SERIAL=Samsung_Mighty_Drive_07720D95C00B
ID_TYPE=disk
ID_BUS=usb
ID_PATH=pci-0000:00:10.4-usb-0:2:1.0-scsi-0:0:0:0

Für eine "fantec"-USB-Festplatte (hier als /dev/sdc registriert) erhalten Sie entsprechend dieses Resultat:

ID_VENDOR=VIA_Technologies_Inc.
ID_MODEL=USB_2.0_IDE_Bridge
ID_REVISION=0003
ID_SERIAL=VIA_Technologies_Inc._USB_2.0_IDE_Bridge_000000000001
ID_TYPE=cd
ID_BUS=usb
ID_PATH=pci-0000:00:10.4-usb-0:7:1.0-scsi-0:0:0:0

Wie Sie sehen, gibt sich jede vernünftige Festplatte und jeder normale USB-Stick unter dem Attribut "ID_TYPE" als eine "disk" zu erkennen. Eine "fantec"-USB-Festplatte stattdessen identifiziert sich als eine "cd".

Wenn Sie also dummerweise eine solche "fantec"-USB-Festplatte als Rettungsfestplatte verwenden wollen, dann beginnen Sie zunächst mit der Abarbeitung von "Modul 1100". Sobald Sie nach der Sprache gefragt werden (Kapitel "3. [!!] Choose language (1)"), wechseln Sie jetzt zunächst auf Konsole 2 (mit <Alt>+<F2>), und geben dort ein:

nano /bin/list-devices

Vor der letzten großen else-Glocke gibt es drei if-fi-Glocken. Die erste von denen enthält folgenden Inhalt:

    if ! $match; then
            if udevinfo -q env -p "$devpath" 2>/dev/null | \
               grep -q "^ID_TYPE=$TYPE"; then
                    match=:
            fi
    fi

Machen Sie dort aus dem "$TYPE" ein "cd":

    if ! $match; then
            if udevinfo -q env -p "$devpath" 2>/dev/null | \
               grep -q "^ID_TYPE=cd"; then
                    match=:
            fi
    fi

Speichern Sie ab, verlassen Sie Editor und Konsole 2, gehen Sie zurück zu Konsole 1 und machen Sie dort weiter mit der Beantwortung der Fragen (Wählen Sie eine Sprache).

Mit dieser Aktion erreichen Sie, dass das Installationstool von Debian auf der Festplatte das ISO-Image findet, so dass es mit der Installation fortfahren kann.