Mit Expertentipps von Klaus Knopper mehr aus der Live-Dsitribution rausholen

Aus LinuxUser 01/2006

Mit Expertentipps von Klaus Knopper mehr aus der Live-Dsitribution rausholen

Knoppix-Tricks

Knoppix-Erfinder Klaus Knopper plaudert aus dem Nähkästchen: Hier zeigt er Ihnen Tricks, mit denen Sie eine Knoppix-CD oder DVD noch effizienter nutzen.

Das Live-System Knoppix arbeitet als vollwertige Linux-Installation komplett von einem Wechselmedium, wie beispielweise einer DVD. Nahezu jede Intel-kompatible Hardware bootet von dem Datenträger – ein bereits installiertes System bleibt unberührt.

Dabei leistet Knoppix heute weit mehr als viele vergleichbare Projekte: Während diese entweder als technische Demonstration oder Recovery-System fungieren, bringt ein Knoppix-System alle Tools mit, die Sie für die tägliche Arbeit brauchen.

Selbstverständlich eignet sich eine Knoppix-DVD auch ausgezeichnet zur Reparatur eines beschädigten Systems auf einem Computer. Daneben hat sie noch einige weitere, weniger bekanntere Tricks auf Lager.

Der Umgang mit einem Knoppix fällt denkbar leicht: Einfach DVD einlegen, Computer starten und schon bootet der Datenträger in ein aktuelles KDE, ohne die eingebaute Festplatte anzutasten. Was dabei genau passiert, erfahren Sie im Kasten “Wenn Knoppix startet”.

Nach dem Start blicken Sie auf einen Desktop, der dem eines neuinstallierten Debian-Systems in vielem gleicht. Einige Zusatzskripte erleichtern den Umgang mit USB-Sticks und anderen Wechselmedien, ein Automounter kümmert sich um den reibungslosen Zugriff auf CD-ROMs. Aber funktioniert hier wirklich alles gleich? Sicher nicht, denn der Betrieb eines Linux-Systems von einem Read-Only-Medium macht einiges kompliziert – aber nicht so kompliziert, wie Sie vielleicht denken. In diesem Artikel zeigen wir Ihnen, wie Sie mit einer Knoppix-DVD

  • neue Programme installieren
  • CDs brennen
  • auf eine NTFS-Partition schreiben

Beherrschen Sie erstmal diese Punkte, fallen Ihnen andere Aufgaben mit dem Live-System anschließend leichter.

Wenn Knoppix startet

Wenn Sie eine Knoppix-DVD einlegen und Ihr System hochfahren, laufen die folgenden Vorgänge ab:

  • Das BIOS Ihres Rechners lädt den Isolinux-Bootloader von der CD/DVD. Dieser zeigt eine Hintergrundgrafik an und erlaubt außerdem den Zugriff auf die Hilfetexte mittels [F2] und [F3] sowie die Eingabe von Kernel-Optionen.
  • Isolinux lädt dann den Linux Kernel und eine Datei names minirt.gz. Diese kleine Ramdisk enthält alle notwendigen Treiber, um interne Festplatten und CD/DVD-Laufwerke (auch über SCSI, USB oder Firewire) anzusprechen und so auf die Daten im komprimierten Dateisystem auf der Knoppix-DVD zuzugreifen.
  • Der Kernel initialisiert die Hardware (beispielsweise IDE, SATA) über die fest einkompilierten Treiber, entpackt die Ramdisk und lädt mit dem Skript /linuxrc die erforderlichen Module, um alle Komponenten anzusprechen.
  • Als nächstes erfolgt das Mounten des Datenträgers via /linuxrc. Das Skript lädt dann das Cloop-Modul, das den transparenten Zugriff auf ein komprimiertes Image erlaubt. Dabei übergibt es den Pfad /cdrom/KNOPPIX/KNOPPIX als Argument. (Weitere Image-Dateien mit zusätzlichen Addons kämen an dieser Stelle ins Spiel.)
  • Im nächsten Schritt verschmilzt das Skript das nur lesbare Dateisystem aus dem komprimierten Image mit dem bereits vorhanden und beschreibbaren Dateisystem aus der Ramdisk. Von nun an lassen sich alle Dateien in der Live-Session ändern.
  • Ab jetzt übergibt das Skript /linuxrc die Kontrolle an den Init-Prozess, und dieser startet ein anderes Skript, das nach Linux-kompatibler Hardware suchen (/etc/init.d/knoppix-autoconfig).
  • Das Tool Hwsetup, das auf der Libkudzu basiert, initialisiert die Treiber für die gefundenen Komponenten und erstellt aus den Informationen über die Geräte eine Infodatei, aus der wiederum das Programm Mkx86config eine Konfigurationsdatei für den X-Server erstellt.
  • Zum Abschluß startet der KDE-Desktop.

Programme installieren

Seit Knoppix 3.8 kommen Sie als Anwender in den Genuß eines neuen Features, das das Remastern wesentlich vereinfacht: Dank Union FS wird das Hinzufügen neuer Funktionen zum Kinderspiel.

Was leistet nun Union FS? Es verschmilzt, vereinfacht gesagt, zwei Verzeichnisse zu einem. Ein Beispiel macht klar, wie das funktioniert: Angenommen, Sie haben ein nur lesbares Verzeichnis (wie eine gemountete CD-ROM) mit dem Namen /KNOPPIX und ein leeres, aber beschreibbares Verzeichnis mit dem Namen /ramdisk, dann erlaubt es Union FS, diese beispielsweise unter dem Namen /UNIONFS zusammenzuführen und dabei vollen Schreibzugriff auf alle Dateien zu gewähren.

In früheren Knoppix-Versionen existierte eine strikte Trennung zwischen den schreibbaren und nur lesbaren Daten. Dabei kamen Symlinks an den Stellen zum Einsatz, an denen das System den Schreibzugriff auf Files benötigte. Obwohl dieses System sehr zuverlässig arbeitete, bereitete es doch bei Upgrades oder dem Hinzufügen neuer Anwedungen regelmäßig Probleme: Bei jedem neuen Programm hieße es, die schreibbaren Dateien zu ermitteln und mit Symlinks zu ersetzen.

Dank Union FS kopiert das System nun die Dateien transparent in die Ramdisk, in der es sie entweder verändern oder sogar löschen kann. So fällt es leicht, einem laufenden System neue Programme hinzuzufügen, als wäre es auf einer Festplatte installiert.

Diese Technik ermöglicht es, Pakete von einem Debian-Mirror nachzuinstallieren, wenn dieser in der Datei /etc/apt/sources.list eingetragen ist. Dazu führen Sie als User root zum Beispiel folgende Befehle aus:

apt-get update
apt-get install pingus

Tatsächlich sollte dies ebenfalls auf vielen aktuellen Derivaten der Distribution ohne größere Probleme funktionieren. Nichtsdestotrotz hält Union FS auch einige Fussangeln für den Anwender bereit: Das Anlegen, Löschen, Verschieben oder Kopieren gelingt meist problemlos, das Überschreiben oder Locking von Dateien kann allerdings manchmal Probleme bereiten, da sich Union FS in der Entwicklung befindet.

Unglücklicherweise überschreiben einige Programm, wie beispielsweise update-menus, das nach jeder Installation abläuft, einige Dateien. Wenn Sie beim Aufspielen des Paketes die Ausgabe von dmesg beobachten, stellen Sie fest, dass der Kernel einen Fehler (ein sogenanntes Oops) auswirft, der sich auf Union FS bezieht.

Als Workaround für die Schwierigkeiten mit dem Programm Update-menus nutzen Sie Union FS, um Dateien scheinbar auf dem nur lesbaren Medium zu löschen: Mit einem einfachen sudo rm -rf /usr/bin/update-menus fegen Sie das Programm aus dem System, was den (in diesem Fall gewünschten) Nebeneffekt hat, dass das System die KDE-Menüstruktur nach einer Installation nicht mehr aktualisiert.

Weiterhin beheben Sie kleinere Fehler, wie die falschen Zugriffsberechtigungen für cdrecord in der Knoppix-Version 4.0.1, im laufenden Betrieb mit einem einfachen Kommando:

sudo chmod 755 /usr/bin/cdrecord*

Das geht so einfach, dass Sie fast vergessen, dass Sie in einem Live-System arbeiten.

Führen Sie nachträglich umfangreichere Paketinstallationen durch, lohnt sich ein Blick auf ein anderes Feature von Knoppix: das persistente Knoppix-Image. Dabei kommt statt einer Ramdisk ein Datei zum Einsatz, die als Ext2-Dateisystem aufbereitet ist, und die so die Änderungen dauerhaft speichert. Sie erstellen damit eine Momentaufnahme des laufenden Knoppix-Systems.

Sie erstellen diese Datei, indem Sie im Startmenü den Punkt “Create persistent Knoppix image” auswählen (Abbildung 1). Damit starten Sie das Programm mkimage-knoppix. Planen Sie allerdings, das Abbild auf einem NTFS-Dateisystem abzulegen, stehen Ihnen nicht die normalen Methoden zum Anlegen einer Datei zur Verfügung. Stattdessen finden Sie im Verzeichnis KNOPPIX auf dem Datenträger das Tool Mkimage.exe, das diese Aufgabe unter Windows übernimmt.

Abbildung 1: Eine Image-Datei auf der Festplatte speichert alle Änderungen dauerhaft über eine Reboot hinweg.

Abbildung 1: Eine Image-Datei auf der Festplatte speichert alle Änderungen dauerhaft über eine Reboot hinweg.

Einmal angelegt, liegt die Größe der Datei fest. Daher empfiehlt es sich, die Dimension gleich zu Beginn mit Bedacht zu wählen. Vor allem darf die Datei nicht zu klein ausfallen: Installieren Sie beispielsweise ein bis zwei Programme, konfigurieren noch einen Drucker und rufen einmal OpenOffice auf, fällt bereits eine Datenmenge von rund 100 MByte an.

Nach dem Erstellen der Image-Datei auf einer Festplatte oder einem USB-Stick verwendet Knoppix diese zum Speichern der Daten. Alles was Sie nun ändern, legt es dauerhaft in dieser Datei ab. Dabei müssen Sie aber beachten, dass es von nun an wichtig ist, das System korrekt herunterzufahren. Nur auf diese Weise hängt Linux die Dateisysteme korrekt aus und schreibt alle Änderungen auf den Datenträger zurück.

Im Notfall leistet das Kommando sync den gleichen Dienst. Sie sollten es ausführen, bevor Sie den Rechner im Notfall über den Power- oder Reset-Button neu booten. Allerdings sollte dieses Verfahren die Ausnahme bleiben.

CDs brennen mit Knoppix

Das Brennen einer CD mit einem Live-System gestaltet sich besonders dann schwierig, wenn der Knoppix-Datenträger das einzige Laufwerk belegt. In diesem Fall speichern Sie einfach die gesamten Daten der Distribution auf der Festplatte und laden bei Start nur den Kernel und die Ramdisk von der DVD.

Zur Zeit unterstützt Knoppix bei diesem Feature keine NTFS-Partitionen; dem Einsatz einer FAT32 oder Ext2-Partition steht dagegen nichts im Wege. Geben Sie beim ersten Start einfach die folgenden Boot-Optionen ein, um die Dateien besispielsweise auf der zweiten Partition der ersten Platte am IDE-Controller zu speichern:

knoppix tohd=/dev/hda2 dma

Um die Daten beim nächsten Start wieder von der Festplatte zu laden, nutzen Sie das folgende Kommando am Bootprompt:

knoppix tohd=/dev/hda2 dma

Die Option dma aktiviert dabei den schnellen Zugriff auf das entsprechende Laufwerk, der für bis zu fünfmal flotteren Datendurchsatz sorgt. Besitzen Sie allerdings ein Motherboard, das nicht über diese Fähigkeit verfügt, dann droht bei dieser Option Datenverlust. (Obwohl dies bei modernen Boards nur noch sehr selten der Fall ist, bootet Knoppix standardmäßig ohne diese Option, um eventuelle Probleme zu vermeiden.)

Alternativ erlaubt es Knoppix, das System via Netzwerk zu starten. Dazu booten Sie beispielswesise einfach einen Knoppix-Terminalserver auf einem Rechner in einem Netzwerk. Anschließend beziehen die anderen Rechner von dort via PXE Daten oder über Netboot ihr Bootimage.

Solche Image-Dateien für Ihre spezielle Netwerkkarte finden Sie unter anderem auf der Website https://www.rom-o-matic.net. Verwenden Sie die Knoppix-Version 4.0.1, spielen Sie zusätzlich einen Hotfix für das Knoppix-Terminalserver-Skript ein. Einen entsprechenden Patch finden Sie auf allen DVD-Spiegelservern.

Nach diesen kleinen Ausflug wieder zurück zum Ausgangspunkt: Eigentlich wollten Sie eine CD brennen. Nachdem die Knoppix-Daten nun auf der Platte liegen, steht diesem Unterfangen im Prinzip nichts mehr im Wege. Treten allerdings doch noch Probleme auf, lohnt sich ein Blick in den Kasten “Probleme mit Cdrecord beheben”.

Abbildung 2: Liegt Ihnen die Kommandozeile nicht, hilft ein Programm wie K3b beim Brennen von CDs und DVDs.

Abbildung 2: Liegt Ihnen die Kommandozeile nicht, hilft ein Programm wie K3b beim Brennen von CDs und DVDs.

Probleme mit Cdrecord beheben

Erinnern Sie sich noch an die Probleme, die weiter oben in Zusammenhang mit Cdrecord zur Sprache kamen? Sie beschränken sich zwar nur auf die Version 4.0.1, aber daran lässt sich ganz gut zeigen, wie einfach Sie mit einem transparenten Dateisystem arbeiten.

Stellen Sie sicher, dass der User knoppix alle notwendigen Berechtigungen zum Ausführen der Brennprogramme besitzt. Treten beim Ausführen eines der Kommandos in der Shell aber Probleme auf, so geben Sie die folgende Kommandozeile in einem Terminal ein:

sudo chmod a+x /usr/bin/cdrecord* /usr/bin/growisofs

Nun verfügen Sie über die notwendigen Rechte und dürfen Programme nutzen, wie beispielsweise K3b (Abbildung 2). Dieses setzt beim Brennen von CDs und DVDs auf die externen Programme.

Das Brennen von Daten fällt denkbar einfach: Klicken Sie mit der rechten Maustaste auf ein beliebiges Verzeichnis im Konqeror und wählen Sie aus dem Kontextmenü den Punkt Daten mit K3b auf CD brennen. Als erfahrener Anwender wissen Sie vielleicht schon die Kommandozeile zu schätzen. Mit der folgenden Befehlszeile bannen Sie beispielsweis eine modifizierte Version der Knoppix-DVD von einer Festplatte wieder auf einen Datenträger:

growisofs -dvd-compat -Z ?
/dev/hdc -no-emul-boot ?
-boot-load-size 4 ?
-boot-info-table -b ?
boot/isolinux/isolinux.bin -c ?
boot/isolinux/boot.cat -l -r ?
-J /mnt/hda2/copy-of-?
knoppix-dvd-content

Dieses Kommando setzt aber voraus, dass Sie eine schreibbare Partition unterhalb von /mnt/hda2 eingehängt haben und dass darin die Dateien von Knoppix – kein Abbild der DVD – im Verzeichnis copy-of-knoppix-dvd-content liegen.

Aufbereiten der Daten zum Brennen

Wollen Sie lediglich eine Daten-CD oder -DVD brennen, geht das ganz leicht. Sie benötigen lediglich Zugriff auf ein Verzeichnis mit ausreichend freiem Speicherplatz. Mit der folgenden Kommandozeile heben Sie nun beispielweise die Daten von einem vorhandenen Datenträger in eine Image-Datei:

cp /dev/cdrom ?
/mnt/hda2/copy-of-cd.iso

Das Kopieren einer Audio-CD fällt etwas komplexer aus und unterliegt zudem noch den gesetzlichen Bestimmungen zum Kopierschutz. Das heißt, Sie dürfen nur nicht kopiergeschütztes Material auf eine neue CD oder DVD brennen. Um eine Kopie einer Audio-CD zu erstellen, geben Sie folgendes auf der Befehlszeile ein:

cd /mnt/hda2
cdrdao read-cd --device ?
/dev/hdc --driver ?
generic-mmc-raw --eject ?
my-cd.toc

Später brennen Sie die CD mit diesem Kommando:

cdrdao write --device ?
/dev/hdc --driver ?
generic-mmc-raw --eject ?
my-cd.toc

Natürlich bietet Linux für diesen Einsatz auch grafische Frontends. Eines davon ist das bereits erwähnt K3b. Hier gilt es dann, die richtigen Knöpfe und Regler zu drehen.

Forensik und Datenrettung

Da Knoppix mit einem vorhandenen System auf einer Festplatte sehr sorgsam umgeht und nichts antastet, setzten Profis die Distribution manchmal zur Fehleranalyse und Spurensuche nach einem Einbruch in einen Rechner ein. Das betroffene System selbst nicht zu starten steigert die Chancen, wertvolle Informationen zu erhalten. Trotzdem gibt es einiges, was Sie bei der Arbeit mit Knoppix beachten sollten:

1. Das Gesetz verbietet es, sich ohne das Einverständnis oder die Erlaubnis des Besitzers (beispielsweise im Rahmen eines entsprechenden Auftrags) Zugriff auf fremde Daten zu verschaffen. Das ist zwar kein technischer, aber dennoch wichtiger Punkt.

2. Das Ext3-Dateisystem nimmt einen Konsistenzcheck mit Lesen und Schreiben durch, auch wenn Sie einen Datenträger nur lesbar einhängen. Das kann zu Schwierigkeiten führen, wenn das System darauf vorher durch ein Suspend-to-disk beendet wurde. Es ließe sich nicht mehr sauber starten, wenn Sie zwischenzeitlich das Dateisystem reparieren. Andere Dateisysteme, wie ReiserFS oder Ext2, machen diesbezüglich keine Schwierigkeiten – es sei denn, Sie hängen diese im schreibbaren Zustand ein, was Sie bei einer Analyse aber ohnehin nicht tun sollten.

3. Wollen Sie wirklich auf Spurensuche nach einem Einbruch gehen, booten Sie unbedingt mit der Option noswap. Andernfalls versucht Knoppix automatisch eine Swap-Partition zu erkennen und bindet diese ein. Dies würde aber unter Umstände wichtige Hinweise zerstören.

4. Die Desktop-Umgebung KDE verfügt über viele Automatismen, die möglicherweise die Analyse erschweren könnten. Im Zweifelsfall stellt der Konsolenmodus die bessere Wahl da, wenngleich er nicht zwingend ist.

Die sicheren, wenn auch nicht so komfortablen Boot-Optionen wären also: knoppix noswap nofstab 2. Die 2 steht dabei für Runlevel 2, was dem Textmodus gleichkommt. In die grafische Oberfläche KDE starten Sie mit init 5.

Wollen Sie nach dem Booten Geräte mounten, dann müssen Sie sowohl die Mountpoints selber erstellen als auch die entsprechenden Kommandos ausführen.

Um bei der Spurensuche oder Datenrettung ein File zu finden, binden Sie das entsprechende Gerät nur lesbar ein und nutzen dann das Kommando find, um nach dem Dateinamen (oder Namensmustern) zu suchen. Das folgende Beispiel zeigt, wie alle Dateien mit der Endung .jpg finden, unabhängig von Groß- und Kleinschreibung:

find /mnt/hda1 -iname '*.jpg' ?
 2>/dev/null

Bei gelöschten Dateien klappt das allerdings nicht. Es existieren einige Recovery-Werkzeuge für unterschiedliche Dateisysteme (wie zum Beispiel Ntfsundelete). Allerdings empiehlt es sich manchmal, auf einen Hexeditor oder ein Perl-Skript zurückzugreifen, um die entsprechenden File-Header und Datenbereiche zu suchen.

Dabei sichern Sie einfach soviel Datenmenge, dass Sie sicher die Datei wiederherstellen können und reduzieren sie dann später auf die gewünschte Größe (siehe Abbildung 3).

Abbildung 3: Auch eine JPEG-Datei stellen Sie mit einem Hexeditor wieder her.

Abbildung 3: Auch eine JPEG-Datei stellen Sie mit einem Hexeditor wieder her.

Versuchen Sie auf Ihrem eigenen Rechner Daten zu retten oder wiederherzustellen, gelten die rechtlichen Einschränkungen natürlich nicht. Auch müssen Sie es vielleicht nicht ganz so genau nehmen mit potenziellen Problemen, die durch das Schreiben auf den Datenträger entstehen.

Trotzdem empfiehlt es sich, zu allererst eine Kopie der Daten anzufertigen. Dabei erstellen Sie einen Schnappschuss von den Bytes auf der Festplatte (wenn möglich) und arbeiten dann auf dieser Doublette.

Sind Sie glücklicher Besitzer einer Firewire- oder USB-Festplatte, die zur Zeit nicht im Einsatz ist, versuchen Sie als erstes den betroffenen Datenträger auf diese zu duplizieren. Die erledigt normalerweise das Kommando cp /dev/hda /dev/sda.

Das Werkzeug cp bereitet, ebenso wie dd, allerdings dann Probleme, wenn sich schon die Quelldaten in Teilen nicht richtig lesen lassen. Dieser Fehler tritt vor allem dann auf, wenn Sektoren einer Festplatte aufgrund von Schwierigkeiten mit der Hardware nicht mehr lesbar sind. Da die Kopie in diesem Fall nicht mehr alle Bytes an der richtigen Stelle enthält, nützt sie bei der Datenrettung noch weniger als das Original.

Das Tool dd-rescue hilft an dieser Stelle weiter. Es versucht, die problematischen Sektoren mehrmals zu lesen, und füllt die Kopie mit Nullen auf, wenn dies nicht gelingt. Die Syntax ähnelt dabei dem Copy-Befehl und benötigt normalerweise keine speziellen Optionen: dd-rescue /dev/hda /dev/sda.

Bedenken Sie allerdings, dass eine Suche nach Daten in einem beschädigten Sektor für eine Festplatte eine enorme Belastung darstellt – ganz besonders dann, wenn ein Crash das entprechende Gerät schon an der Oberfläche oder an der Mechanik beschädigt hat. Befinden sich auf dem Datenträger wirklich wichtige Dateien, lohnt es sich, einen professionellen Dienstleister mit der Rettung zu beauftragen, statt mit eigener Software zu Hause zu Werke zu gehen.

Diese Firmen verwenden viel sensiblere Methoden zum Auslesen und schicken Ihnen nach erfolgreicher Arbeit ein Band oder eine neue Festplatte mit den geretteten Daten zu.

Nach dem Erstellen einer Kopie Ihrer Daten geht es nun an das Wiederherstellen. Trat das Problem auf, weil ein Schadprogramm sein Unwesen getrieben hat (beispielsweise ein Virus, der aber im Linux-Umfeld unwahrscheinlich ist), liegt der Schaden vielleicht nur in der Partitionstabelle. In diesem Fall gilt es, Anfang und Ende der Partitionen zu finden.

Das richtige Tool für diesen Einsatz heißt Testdisk. Es führt einige Analysen durch, um die Dateisystem-Einträge und möglich Bruchstücke einer Partition zu finden. Aus diesen generiert es dann eine neue, gültige Partitionstabelle. Der Aufruf für dieses Tool lautet ganz einfach testdisk.

Durch die weiteren Schritte führt Sie ein textbasiertes Menü. Beachten Sie, dass nach dem Wiederherstellen der Partitionstabelle bei einigen Controllern ein Neustart erforderlich ist, damit diese die Änderungen wirklich registrieren. Bei USB-Festplatten brauchen Sie dies nicht zu tun.

Mit etwas Glück gelingt es Ihnen nun, das betroffene Dateisystem einer Prüfung zu unterziehen. Anschließend beginnen Sie mit dem Wiederherstellen der Daten. Gelingt der Check allerdings nicht und sie benötigen trotzdem dringend eine Datei aus dem betroffenen System, dann bleibt nur der Griff zum Hexeditor wie Hexedit oder dem Linux Disk Editor. Mit Kenntnissen in Perl basteln Sie zudem leicht ein Skript, das für Sie nach den benötigten Daten sucht.

Um das Datenretten zu testen, bietet sich das Wiederherstellen von Bildern auf einem Flash-Medium an. Dies funktioniert in der Regel einfach und risikofrei, bietet jedoch hohen praktischen Nutzen. Einige Geräte zerstören nämlich die gespeicherten Daten auf einer Memorycard, wenn Sie diese im Lesegerät belassen und den Computer ausschalten. In einigen Fällen bleiben die Medien unbenutzbar, bis Sie diese neu formatieren.

Mit einem Trick kommen Sie aber dennoch an die Daten auf dem Gerät. Dabei nutzen Sie die Tatsache, dass verschiedene Kameramodelle beim Löschen über das Gerätemenü zwar die ersten Bytes überschreiben, jedoch den gesamten anderen Datenbereich nicht antasten, obwohl ein entsprechender Fortschrittsbalken dies suggeriert.

Ob Sie es nun glauben oder nicht – die Daten bleiben weiterhin lesbar. Alle Bilddaten liegen weiterhin auf der Flashcard. Wie Sie ein ausgefeiltes Skript zu Datenrettung programmieren, vermag dieser Artikel nicht zu zeigen. Einfaches Shell-Skript, dass sich zum Einsatz mit einigen Modellen eignet, finden Sie im Listing 1.

Listing 1

#!/bin/bash
# Syntax: rescuejpeg /path/to/card-image
TMP="/tmp/test.$$"
for i in $(egrep -b -a -e 'JFIF' "$1" | awk -F: '{print $1}'); do
i=$(($i - 6))
echo "Working on $1 with offset $i…"
dd if="$1" of="$TMP.$i.jpg" obs=1 ibs=1 skip="$i" count=4000k
done

Die so gewonnen Daten müssen Sie allerdings noch in einem Bildbetrachter kontrollieren und gegebenenfalls etwas beschneiden.

Schreiben auf NTFS-Partitionen

Wie Sie vielleicht gehört haben, sieht es bei der Unterstützung von Microsofts NTFS-Dateisystem unter Linux bislang sehr bescheiden aus. Das liegt an Patent- und Lizenzfragen und nicht zuletzt am Unwillen des Herstellers, die Spezifikationen herauszugeben. Meist beschränkt sich der Support daher auf das Lesen von Dateien.

Die im Linux-Kernel vorhandene NTFS-Lese-Unterstützung basiert auf Reverse Engineering, und in den Treibern steckt viel harte Arbeit der Entwickler. Die Module arbeiten mittlerweile sehr zuverlässig, sodass sie sich gut dazu eignen, Daten von Windows-Systemen zu retten, die nicht mehr booten.

Die einzige Schreiboperation, die der NTFS-Linux-Treiber derzeit unterstützt, ist das Überschreiben von Dateien auf einer solchen Partition mit Daten gleicher Länge. Knoppix verwendet dieses Verfahren beim Anlegen eines persistenten Dateisystems in einem Windows-Bereich.

In letzter Zeit machte die Entwicklung der Open-Source-Bibliothek LibNTFS allerdings einige bemerkenswerte Fortschritte: Die neuen Versionen erlauben in begrenztem Maße freie Schreiboperationen auf NTFS-Partitionen. Bei Einsatz einer Version aus dem aktuellen CVS-Stand der LibNTFS stehen folgende Funktionen zur Verfügung:

  • Dateien und Verzeichnisse löschen
  • in einem Verzeichnis bis zu neun neue Dateien oder Unterverzeichnisse anlegen

Diese Features reichen in vielen Fällen aus, um das gewünschte zu erreichen.

Da es sehr kompliziert wäre, alle Tools neu zu übersetzen, die auf der LibNTFS aufsetzen (denken Sie außerdem daran, dass das passende Kernel-Modul zu alt für diesen Einsatz ist), bietet sich der Einsatz des FUSE-Kernel-Moduls an. Zusammen mit einem Tool namens Ntfsmount lassen sich so entsprechende Partitionen einbinden (Abbildung 4).

Abbildung 4: Verwenden Sie das Tool Ntfsmount, um ein Laufwerk mit diesem Microsoft-Dateisystem einzubinden.

Abbildung 4: Verwenden Sie das Tool Ntfsmount, um ein Laufwerk mit diesem Microsoft-Dateisystem einzubinden.

Folgendes kleines Howto finden Sie auch auf der Knoppix-DVD in der Datei KNOPPIX/linux-ntfs/FOR-DEVELOPERS.txt. Es erläutert, wie Sie das FUSE-Moduls und das Programm Ntfsmount richtig einsetzen, um eine NTFS-Partition les- und schreibbar zu mounten. Anschließend dürfen Sie darauf mit den oben beschriebenen Einschränkungen Dateien löschen und anlegen.

Beachten Sie bitte, dass es sich dabei immer noch um ein experimentelles Feature handelt, und Datenverlust beim Einsatz nicht ausgeschlossen ist. Legen Sie also, wann immer möglich, von wichtigen Dateien eine Sicherheitskopie an, bevor Sie folgendes versuchen:

1. Laden Sie das Kernel-Modul zu Unterstützung von Dateisystemen im Userspace: sudo modprobe fuse

2. Erlauben Sie nichtpriviligierten Benutzern den Zugriff auf die NTFS-Partition (hier ein Beispiel für die erste Partition auf der zweiten Platte am zweiten Controller): sudo chmod 666 /dev/hdd1

3. Legen Sie einen Mountpoint in Ihren Home-Verzeichnis an: mkdir $HOME/ntfs

4. Binden Sie nun die Partition am neuen Verzeichnis ein: ntfsmount $HOME/ntfs -o /dev/hdd1 force,umask=000 Sie sollten nun vollen Zugriff auf die Daten haben. Vergessen Sie aber nicht den letzten Schritt.

5. Da ein normaler Unmount hier nicht sinnvoll ist, beenden Sie Ihr Experiment mit folgendem Befehl: fusermount -u $HOME/ntfs

Nach Schritt 4 steht einem Browsen durch die Verzeichnisse mit dem Konqueror aus KDE mittels konqueror $HOME/ntfs nichts mehr entgegen. Aber denken Sie daran, dass Sie das Dateisystem nicht zwei Mal mounten – einmal über den Userspace und einmal mit dem NTFS-Kernel-Modul. Linux könnte dann sehr konfus werden.

Probleme beim Booten beheben

Eigentlich wissen wir es alle: Hardware ist böse, inkompatibel und schlecht konstruiert. Nichts arbeitet wie es soll und erst recht nicht zusammen. Der Arbeitsspeicher benimmt sich unbändig, die Interrupts laufen Amok und zu allem Unglück operieren die Rechner noch heute nach Prinzipien, die aus der Computer-Steinzeit stammen.

Wie sehen also die Möglichkeiten eines Anwenders aus, wenn der Linux Kernel an solchen Hürden scheitert und nicht so arbeitet, wie gewünscht? Was tun, wenn beispielsweise ein Rechner über ein BIOS verfügt, dass sich nur mit einem speziellen Treiber benutzen lässt und dieser Treiber ausgerechnet nur für ein proprietäres Betriebssystem zur Verfügung steht?

Glücklicherweise beherrscht der Linux-Kernel bereits eine Menge Tricks (Workarounds), um bekannte Probleme mit dem BIOS oder mit der CPU zu umgehen. In den meisten Fällen gibt Linux daher nur eine Warnung aus, aktiviert den Workaround und arbeitet einfach weiter.

Allerdings existieren Ausnahmen, in denen der Benutzer eingreifen muss. So scheint es manchmal, als wären alle Geräte erkannt, aber ein USB-Gerät verweigert die Arbeit, eine Netzwerkkarte bleibt stumm oder ein PCMCIA-Adapter sorgt dafür, dass das System beim Initialisieren komplett einfriert.

Das folgende Kommando hilft bei Problemen mit dem BIOS:

knoppix nosmp acpi=off noapic pnpbios=off pci=bios

Was bewirken nun diese Optionen im Detail?

  • nosmp – Schaltet die Unterstützung für Multiprozessoren und das Hyperthreading auf Systemen aus, die keine zweite CPU besitzen, aber versuchen, eine anzusprechen.
  • acpi=off – Schaltet die automatische Konfiguration sowie das Power-Management auf neueren Boards aus. Einige Motherboards weisen Probleme mit der ACPI-Implementation auf oder benötigen eine spezielle Konfiguration.
  • noapic – Falls das System einige Hardware-Komponenten zwar erkennt, aber diese nicht reagieren, sollten Sie dies versuchen. Es deaktiviert eine Funktion, die es einem proprietären Betriebssystem ermöglicht, Hardware-Konflikte zu umgehen, indem es zusätzliche Interrupts simuliert. Tasächlich ergibt diese Funktion Sinn, aber viele Hersteller haben Sie fehlerhaft implementiert. Falls Sie PCI-Karten einsetzen, die Interrupt-Sharing beherrschen, brauchen Sie APIC eigentlich nicht. Verwechseln Sie aber nicht ACPI und APIC. Es handelt sich dabei um unterschiedliche Techniken, die aber beide fehlerhaft sein könnten. Schalten Sie im Zweifelsfall beide ab. Aus unbekannten Gründen arbeiten allerdings einige Motherboards nicht mit der Option zusammen.
  • pnpbios=off – Schaltet die Plug&Play-Funktion aus, die ISA-Geräte benötigen. Dies hilft, falls Ihr Rechner vorsorglich eine Menge Interrupts für Geräte reserviert, die Sie gar nicht haben.
  • pci=bios – erlaubt es dem BIOS, benutzerdefinierte Einstellungen (wie Interrupts) für jedes Gerät zu verwenden und diese nicht direkt aus der Hardware auszulesen. Diese Option empfiehlt sich vor allem bei älteren Modellen.

Es existieren noch mehr Kontrolloptionen: Manche wirken direkt auf den Kernel, einige kommen nur innerhalb von Knoppix beim Erkennen der Hardware zum Einsatz. So kann es zum Beispiel vorkommen, dass sich eine Grafikkarte irrtümlicherweise als SCSI-Controller anmeldet. Dann friert das gesamte System ein, sobald der Kernel versucht, einen SCSI-Treiber zu laden. Benutzen Sie in diesem Fall die folgende Option:

knoppix noscsi

Es kann auch vorkommen, dass Sie die Bildschirmauflösung ändern müssen, wenn Sie auf einem Notebook arbeiten, dass keine DDC-Unterstützun für bevorzugte Modi besitzt. Mit der folgenden Boot-Zeile stellen Sie eine Auflösung von 1280×1024 bei einer Frequenz von 75 Hz ein:

knoppix screen=1280x1024 vsync=75 hsync=90

Beachten Sie, dass die Auflösung für den Textmodus bei Knoppix standardmäßig auf 1024×768 Pixel steht, solange sie nicht über vga=normal oder vga=Nummer eine andere auswählen. Dokumentation dazu finden Sie in /usr/src/linux/Dokumentation/fb/vesafb.txt.

Planen Sie den Einsatz eines Beamers für eine Präsentation und der externe VGA-Anschluss an ihrem Notebook arbeitet nicht, versuchen Sie es mit dem Modus framebuffer-only von Knoppix:

fb1024x768

Beachten Sie dabei, dass Sie diese Kommandozeile ohne den Zusatz knoppix am Anfang eingeben, den Sie in den Beispielen davor gesehen haben. Der Grund liegt darin, dass diese Boot-Option zahlreiche Default-Einstellungen überschreibt. Bei einigen Notebooks müssen Sie trotzdem den externen VGA-Port mittels einer Funktionstaste einschalten. Arbeitet allerdings der Beamer mit der Textkonsole, steht dem Einsatz des Gespanns X / KDE nichts mehr im Wege.

Noch mehr Optionen und eine Beschreibung, wie Sie damit die Autokonfiguration beeinflussen, finden Sie auf der DVD in der Datei KNOPPIX/knoppix-cheatcodes.txt

LinuxUser 01/2006 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben