Christophs Weblog

Vierundzwanzig sind zu wenig

IDE Hotplug manuell

Ich habe mich schon oft gefragt, ob es möglich ist eine ganz normale IDE-Festplatte im laufenden Betrieb eines PCs einzuhängen und auf deren Daten zuzugreifen. Zufällig hat sich vor einigen Tagen eine Gelegenheit ergeben dies zu testen und es hat bestens funktioniert …

Zunächst möchte ich aber jeden warnen, der dies auch ausprobieren will: Vermutlich hatte ich großes Glück, dass ich mir bei dieser Aktion meinen PC nicht zerstört habe … also bitte nur mit entbehrlicher Hardware nachmachen!

Mein Problem war, dass beim Laden des AMD-IDE-Treibers unter Linux die alte Seagate ST32531A, 2.5 GB IDE-Festplatte, auf die ich zugreifen wollte, das gesamte System zum Absturz brachte. Auch ältere Linux-Boot-CDs halfen da nichts. Zwar war es möglich das Laden des Treibers zu verhindern, aber dann funktionierte IDE natürlich auch nicht.

Vermutlich hätte ein PC mit anderem Chipsatz oder schlichtweg ein externes USB-IDE-Gehäuse ausgereicht, aber beides war nicht *sofort* verfügbar …

Ich habe das System also ohne die Seagate gestartet und es bootete ohne Probleme. An IDE0 war eine Festplatte und ein CD-Laufwerk angeschlossen, IDE1 war unbenutzt. Dann habe ich im laufenden Betrieb die Seagate an IDE1 und die Stromzufuhr angeschlossen. Mit dem Befehl

mknod hdc b 3 0

habe ich in /dev/ einen Device für hdc angelegt. Dabei bin ich mir nicht sicher, ob die Parameter ganz einwandfrei sind. b für Blockdevice ist klar, Major 3 scheint für eine IDE-Festplatte zu stehen und Minor eine laufende Nummer für jede Partition zu sein …

Als nächstes habe ich über hdparm die Festplatte eingebunden – dabei wird allerdings ausdrücklich gewarnt, dass man sich damit auch das System abschießen kann … also vorsicht!

hdparm -R 0x170 0 0 /dev/hdc

Hier muss ich gestehen, dass die drei Werte 0x170, 0 und 0 geraten sind – irgendwer hat in einem Forum was von hdparm -R geschrieben und ähnliche Werte benutzt. Allerdings hat es bestens funktioniert, denn plötzlich hatte ich zu /dec/hdc auch hdc1, hdc5 und hdc6, die ich problemlos mounten und auslesen konnte …

Vermutlich hätte auch ein Neustart eines Dienstes oder ein ping an einen Hotplug-Daemon oder sonstwas das ganze Problem viel einfacher gelöst, aber letztendlich hat es funktioniert und das war mir in diesem Moment wichtiger als mich in mögliche Alternativen einzuarbeiten 😉

Ich könnte mir übrigens vorstellen, dass man das ganze etwas sicherer gestalten könnte, wenn man die Platte *vorher* an das IDE-Kabel anschließt und nur die Stromzufuhr unterbricht. Das größte Risiko dürfte nämlich der physikalische Anschluss der Platte an den PC und weniger das einbinden via mknod und hdparm sein …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Christophs Weblog © 2009-2017