GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Disketten gegen Linux des 21. Jahrhunderts

Schlagzeilen verkünden das Ende der Kernel-Unterstützung für Diskettenlaufwerke. Hier erfahren Sie, was Sie mit Ihrer Diskettensammlung tun können und wie Sie dabei vorgehen.

Philip L. Gilmer, 11. August 2019

Aktuelle Schlagzeilen verkünden das baldige Ende der Unterstützung für das altehrwürdige Diskettenlaufwerk im Linux-Kernel. Mein Magen drehte sich um und mein Herz schlug ein oder zwei Mal. Ich bin schon seit einigen Jahren in diesem Geschäft und meine Sammlung von Disketten reicht bis zu 8-Zollern zurück. "Nicht noch einmal!" Ich dachte.

Glücklicherweise zeigten weitere Recherchen, dass die Schlagzeilen die Situation etwas übertrieben dargestellt haben. Die gesamte Diskettenunterstützung wird nicht wegfallen – nur die Unterstützung für Laufwerke, die an dedizierte Diskettencontroller angeschlossen sind. Das USB-Laufwerk, das Sie gekauft haben, um neueren Computern die Lese-/Schreibfähigkeit von Disketten zu verleihen, verwendet einen anderen Supportmechanismus und wird weiterhin unterstützt – vorerst. Trotzdem schien jetzt ein guter Zeitpunkt zu sein, etwas mit all diesen Disketten zu tun.

Geschichte

Die ersten Disketten hatten einen Durchmesser von 8 Zoll und wurden Ende der 1960er Jahre von IBM als Mainframe-Komponenten eingeführt. IBM bezeichnete sie als ihre „Type 1 Diskette“, aber der Begriff „Floppy Disk“ setzte sich sehr schnell durch. Spätere doppelseitige Versionen konnten etwa 1,2 Megabyte an Daten speichern.

5-1/4-Zoll-Laufwerke folgten bald. Obwohl billiger, konnten sie nur eine bescheidene Datenmenge speichern. Anfänglich nur etwa 72 Kilobyte an Daten enthaltend, erhöhte die Konkurrenz die Kapazität auf etwa 630 Kilobyte.

Das erste 3-1/2-Zoll-Diskettenlaufwerk war zu seiner Zeit ein Wunderwerk. Die „Floppy Disk“ war nicht mehr so ​​floppy. Frühe Apple Macintosh-Computer verwendeten eine Größe von 400 Kilobyte. IBM führte den Formfaktor 1986 für seine IBM PC Convertible-Reihe ein und brachte uns die Fähigkeit, „satte“ 720 Kilobyte zu speichern. Die spätere PS/2-Serie von IBM-PCs erhöhte die Kapazität auf 1,44 und sogar 2,88 Megabyte an Daten. Aber die Zeit schreitet voran. Innovationen wie das Zip-Laufwerk von Iomega und die 3M SuperDisk LS-120- und LS-240-Laufwerke erreichten Kapazitäten bis zur 750-Megabyte-Marke.

Fortschritte in der CD- und DVD-Technologie bedeuteten so ziemlich das Ende der Disketten. Waren CDs anfangs reine Lesemedien, so wurden bald beschreibbare Geräte verfügbar und brachten Speicherkapazitäten von 650 Megabyte in den Gigabyte-Bereich mit Dual-Layer-DVDs mit einer Kapazität von 8 Gigabyte.

USB-Sticks sind heutzutage die Waffen der Wahl für die meisten von uns. Klein, günstig und handlich bieten sie Speicherkapazitäten von fast einem Terabyte.

Toll! Ich nutze die neuen Technologien wie jeder andere auch. Aber was mache ich mit all diesen Disketten, die ich habe?

Das Dilemma

Natürlich enthalten viele dieser alten Disketten Datendateien der einen oder anderen Art, und die Dateien könnten in ein Verzeichnis auf meinem Linux-System kopiert werden. Da ich Linux Mint KDE verwende, muss ich die Disketten nicht einmal manuell mounten. Mint bietet mir das an, wenn die Diskette eingelegt ist. Öffnen Sie meinen Dateimanager und ich kann Dateien einfach per Drag-and-Drop an ihre neuen Speicherorte ziehen.

Andere Linux-Distributionen machen es möglicherweise etwas anders, aber die meisten bieten Ihnen eine Möglichkeit, ein Diskettenlaufwerk einfach zu mounten. Klicken Sie auf den Disketteneintrag und die Optionen werden angezeigt. Ich wähle „Mit Dateimanager öffnen“, um die Dateien auf der Diskette anzuzeigen.

Kopieren Sie die Dateien per Drag &Drop in das Verzeichnis Ihrer Wahl.

Was mit anderen Disketten zu tun war, war nicht so einfach. Um von Nutzen zu sein, mussten sie als Disketten nützlich sein . Ich habe Images von Disketten unter DOS und Windows erstellt. Aber es ist lange her. Und die Programme, die ich benutzt habe, sind 16-Bit-DOS-Programme und laufen seit Windows XP nicht mehr auf Windows-Versionen.

Glücklicherweise ist der Vorgang dazu einfach. Und Sie benötigen dafür kein Programm eines Drittanbieters. Linux enthält alles, was Sie für die Arbeit benötigen.

Die Lösung

Wir werden ein Programm namens dd verwenden um das Bild tatsächlich zu erstellen.

Als erstes müssen wir herausfinden, wo das Diskettenlaufwerk gemountet ist.

Schließen Sie Ihr USB-Laufwerk an das System an, warten Sie einige Sekunden und geben Sie dann den Befehl ein:

dmesg | tail

Die Ausgabe sieht in etwa so aus:

Die letzte Zeile hier gibt an, dass die Diskette als /dev/sdb bezeichnet wird.

Wenn Sie ein Diskettenlaufwerk verwenden, das an einen dedizierten Controller angeschlossen ist, sieht Ihr Gerät in etwa so aus:/dev/fd0 oder /dev/floppy . Legen Sie eine Diskette ein und verwenden Sie df Befehl, um das verwendete Gerät anzuzeigen:

In unserem Beispiel ist das zugewiesene Gerät /dev/fd0 . Wenn dies Ihre Konfiguration ist, verwenden Sie dieses Gerät überall unter /dev/sdb wird in den folgenden Beispielen verwendet.

Legen Sie eine Diskette ein, von der ein Image erstellt werden soll, wechseln Sie in das Verzeichnis, in dem das Image gespeichert werden soll, und geben Sie den Befehl ein:

dd if=/dev/sdb of=test.img

Wir hoffen, dass Sie so etwas sehen werden:

Es gibt einige Probleme bei der Verwendung von dd in seiner einfachsten Form.

Erstens, unabhängig davon, wie viel oder wie wenig von der Diskette verwendet wird, spiegelt das erstellte Image die Größe der Diskette wider, in diesem Fall 1,44 Megabyte. Wir können die Datei mit dem gzip-Befehl komprimieren:

gzip test.img

mit folgendem Ergebnis:

Die Datei test.img wird komprimiert und durch test.img.gz ersetzt , das um fast die Hälfte kleiner ist.

Zweitens, der dd Programm behandelt Fehler nicht so, wie wir es gerne hätten. Wenn es auf einen Fehler stößt, beispielsweise einen fehlerhaften Sektor, meldet es standardmäßig das Problem und wird beendet.

Glücklicherweise dd hat die Mittel, uns mit einigen Fehlern umgehen zu lassen.

Wir werden die Parameter hinzufügen, um den Fehler zu ignorieren und fortzufahren. Außerdem lassen wir den unlesbaren Abschnitt mit Nullen füllen, damit wir keine abgeschnittenen Daten haben. Ich werde die Blockgröße der Kopie von 512 Byte auf 1024 Byte ändern, sodass die Datensatzanzahl jetzt der Festplattenkapazität (in Kilobyte) entspricht. Unsere Kopie sieht jetzt so aus:

Wie zuvor können wir die Datei mit dem gzip komprimieren Dienstprogramm.

Es wäre wirklich schön, dies in einem einzigen Schritt zu tun. Mit dem Pipe-Operator („|“) können wir dies tun. Wir geben den folgenden Befehl aus:

sudo dd if=/dev/sdb bs=1024 conv=sync,noerror | gzip > test.img.gz

Mit folgendem Ergebnis:

Da wir einen Namen liefern, der mit der Dateiendung .gz endet , das gzip Programm verwendet den Rest des Dateinamens als Namen der internen Datei „test.img“. Ich empfehle diese Namenskonvention sehr. Ohne gzip und gunzip verwirrt werden und die Ergebnisse können unvorhersehbar sein. Verwenden Sie also +".img"+".gz". Wenn Ihr Name Leerzeichen oder andere Sonderzeichen enthält, schließen Sie den gesamten Namen in Anführungszeichen ein.

Wenn wir unsere Datei im Archiver öffnen, sehen wir den tatsächlichen Dateinamen:


Fortschrittsanzeige hinzufügen

Unsere Befehle funktionieren, aber Sie können nicht wirklich sehen, was vor sich geht. Es wäre schön zu sehen, ob sich die Dinge so entwickeln, wie sie sollten.

Es gibt ein nettes kleines Dienstprogramm namens pv das wird den Job machen. Installieren Sie es aus Ihren Distributions-Repositories. Linux Mint verwendet den apt-Paketmanager, also installieren wir ihn mit dem Befehl:

sudo apt install pv

Verwendung von pv Wir haben jetzt unsere Fortschrittsanzeige. Unser Image-Erstellungsprozess sieht also jetzt so aus:

pv -tpreb /dev/sdb | dd bs=1024 conv=sync,noerror | gzip > test.img.gz

In ähnlicher Weise wird unser Diskettenwiederherstellungsprozess zu:

sudo pv -tpreb test.img.gz | gunzip -c | dd of=/dev/sdb


Erleichterung der Nutzung

Um die Verwendung dieser Befehle zu vereinfachen, habe ich ein paar Bash-Skripte erstellt. Um ein Image einer Diskette zu erstellen, verwenden Sie imgcreate.sh :

#! /bin/sh
#!
#! imgcreate.sh - Shell to create diskette image file from floppy diskette
#! Author - Philip L. Gilmer, 11-Aug-2019

#!pv -tpreb /dev/sdb | dd bs=1024 conv=sync,noerror,excl | gzip > "$1"

exit 0

Aufruf unter Verwendung des Namens und des komprimierten Dateinamens.

Um die Diskette neu zu erstellen, verwenden Sie imgrestore.sh :

#! /bin/sh
#!
#! imgcreate.sh - Shell to create diskette image file from floppy diskette
#! Author - Philip L. Gilmer, 11-Aug-2019
#!

pv -tpreb /dev/sdb | dd bs=1024 conv=sync,noerror,excl | gzip > "$1"

exit 0

Denken Sie daran, den Gerätenamen zu ändern, wenn das Diskettenlaufwerk nicht /dev/sdb ist .

Umgang mit Fehlern

Okay, wir sind damit beschäftigt, unsere Disketten zu sichern, und so etwas passiert:

Es sollte 720 gelesene Datensätze anzeigen. Hoppla! 104? Nicht ganz unerwartet. Einige dieser Disketten sind 30 Jahre alt. Was nun? Ich habe versucht, den Befehl fsck zu verwenden, aber ich habe keine sehr guten Ergebnisse erzielt. Glücklicherweise kann uns der Befehl dosfsck helfen. Dieser Befehl ist Teil des Repository-Pakets dosfstools. Falls noch nicht auf Ihrem System installiert, installieren Sie das Paket. Auf einem Debian-basierten System wie Linux Mint können Sie mit dem Befehl installieren:

sudo apt install dosfstools

Ihr Geschmack kann variieren.

Geben Sie den Befehl wie folgt ein:

sudo dosfsck -w -r -l -a -v -t /dev/sdb

Wie eingegeben, wird dosfsck versuchen, die Festplatte automatisch zu reparieren, indem es die Namen der Dateien auflistet, während sie verarbeitet werden, unlesbare Cluster als fehlerhaft markiert und Änderungen sofort auf die Festplatte schreibt. Weitere Informationen finden Sie auf der Manpage. Für unsere aktuelle Diskette erhalten wir folgende Ausgabe:

Diese Diskette ist nicht wirklich brauchbar. Zu viele Dateien sind beschädigt und enthalten unlesbare Cluster. Die betroffenen Dateien müssten von einer anderen Quelle wiederhergestellt werden. Häufig liegen jedoch nicht lesbare Cluster außerhalb der zugewiesenen Cluster von Dateien. Von der reparierten Festplatte kann dann ein Image erstellt werden. dosfsck wird erneut ausgeführt zeigt an, dass die Diskette so gut wie möglich bereinigt wurde:

Also versuchen wir jetzt, die Diskette neu zu erstellen:

Die gesamte Festplatte kann abgebildet werden. Denken Sie daran, dass alle Dateien mit fehlerhaften Clustern nicht verwendbar sind.

Verwendung der Bilddateien

Um die Bilddatei zu verwenden, dekomprimieren Sie sie zuerst.

Um die Datei zu untersuchen, mounten Sie sie auf dem Loopback-Gerät:

sudo mount -o loop -t msdos ./test.img /mnt

Durchsuchen unseres Einhängepunkts /mnt wir können die Dateien sehen:

Die .img Datei kann auch als virtuelle Diskette in einem virtuellen Laufwerk verwendet werden, das auf dem Gast definiert ist Computer in einer VirtualBox-VM. Die Bilddatei muss sich auf dem Host befinden Festplatte.

Wählen Sie den markierten Eintrag aus und durchsuchen Sie.


Schlussfolgerung

Die Einführung neuerer Technologien hat Disketten im Laufe der Jahre möglicherweise weniger nützlich gemacht. Nichtsdestotrotz können sie unersetzlich sein, wenn es um virtuelle Maschinen geht, auf denen ältere Programme und Systeme ausgeführt werden. Linux-Distributionen des 21. Jahrhunderts enthalten immer noch viele Tools zur Unterstützung der älteren Technologie, aber wie lange die Technologie noch unterstützt wird, kann niemand sagen.

Also lassen Sie diese Disketten so schnell wie möglich abbilden, hörst du? Ich wünschte immer noch, ich hätte etwas mit diesen 8-Zoll-Disketten gemacht!


Linux
  1. 4 Linux-Tools zum Löschen Ihrer Daten

  2. 3 beliebte Linux-Distributionen für USB-Laufwerke

  3. Partitionieren Sie ein Laufwerk unter Linux mit GNU Parted

  4. Entsperren Sie verschlüsselte Laufwerke unter Linux automatisch

  5. USB-Laufwerk unter Linux verschlüsseln - Schritt für Schritt

So formatieren Sie USB-Laufwerke unter Linux

So mounten Sie ein USB-Laufwerk unter Kali Linux

So klonen Sie eine Partition oder Festplatte unter Linux

So mounten Sie ein Laufwerk unter Linux

So listen Sie Festplatten unter Linux auf

Öffnen Sie das Bitlocker-Laufwerk unter Linux – schnell und einfach