GNU/Linux >> Tutoriels Linux >  >> Linux

Disquettes vs Linux du 21e siècle

Les gros titres proclament la fin du support du noyau pour les lecteurs de disquettes. Voici ce qu'il faut faire de votre collection de disquettes et comment le faire.

Philip L. Gilmer, 11 août 2019

Les gros titres récents proclament la fin imminente de la prise en charge du vénérable lecteur de disquette dans le noyau Linux. Mon estomac s'est retourné et mon cœur a donné un battement ou deux. Je suis dans ce métier depuis quelques années et ma collection de disquettes remonte à 8 pouces. "Pas encore!" J'ai pensé.

Heureusement, d'autres recherches ont indiqué que les gros titres exagéraient quelque peu la situation. Toute la prise en charge des disquettes ne disparaîtra pas, uniquement la prise en charge des lecteurs connectés à des contrôleurs de disquettes dédiés. Le lecteur USB que vous avez acheté pour apporter la capacité de lecture/écriture de disquette aux nouveaux ordinateurs utilise un mécanisme de prise en charge différent et continuera à être pris en charge—pour le moment. Quoi qu'il en soit, il semblait que c'était le bon moment pour faire quelque chose avec toutes ces disquettes.

Historique

Les premières disquettes mesuraient 8 pouces de diamètre et ont été introduites par IBM à la fin des années 1960 en tant que composants mainframe. IBM les a désignés comme leur "disquette de type 1", mais le terme "disquette" s'est répandu très rapidement. Les dernières versions recto-verso pouvaient contenir environ 1,2 Mo de données.

Les lecteurs 5-1/4 pouces ont rapidement suivi. Bien que moins coûteux, ils ne pouvaient contenir qu'une quantité modeste de données. Initialement ne contenant qu'environ 72 kilo-octets de données, la concurrence a augmenté les capacités à environ 630 kilo-octets.

Le premier lecteur de disquette 3 pouces 1/2 était une merveille en son temps. La "disquette" n'était plus si disquette. Les premiers ordinateurs Apple Macintosh utilisaient une taille de 400 kilo-octets. IBM a introduit le facteur de forme en 1986 pour sa gamme IBM PC Convertible, nous offrant la possibilité de stocker un "énorme" 720 kilo-octets. La dernière série PS / 2 de PC IBM a augmenté la capacité à 1,44 et même 2,88 mégaoctets de données. Mais le temps passe. Des innovations telles que le lecteur Zip Drive d'Iomega et les lecteurs 3M SuperDisk LS-120 et LS-240 ont porté les capacités jusqu'à 750 mégaoctets.

Les progrès des technologies CD et DVD ont pratiquement sonné le glas des disquettes. Bien que les CD aient été initialement des supports en lecture seule, des périphériques inscriptibles sont rapidement devenus disponibles et ont fait passer les capacités de stockage de 650 mégaoctets à la gamme des gigaoctets avec des DVD double couche d'une capacité de 8 gigaoctets.

Les clés USB sont les armes de choix pour la plupart d'entre nous ces jours-ci. Petits, bon marché et pratiques, ils offrent des capacités de stockage approchant désormais le téraoctet.

Génial! J'utilise les nouvelles technologies comme tout le monde. Mais que dois-je faire de toutes ces disquettes que j'ai ?

Le dilemme

Bien sûr, beaucoup de ces vieilles disquettes contiennent des fichiers de données d'un type ou d'un autre et les fichiers pourraient être copiés dans un répertoire de mon système Linux. Depuis que j'utilise Linux Mint KDE, je n'ai même pas besoin de monter manuellement les disquettes. Mint proposera de le faire pour moi lorsque la disquette sera insérée. Ouvrez mon gestionnaire de fichiers et je peux simplement faire glisser et déposer des fichiers vers leurs nouveaux emplacements.

D'autres distributions Linux peuvent le faire un peu différemment, mais la plupart vous permettront de monter facilement un lecteur de disquette. Cliquez sur l'entrée de la disquette et les options s'afficheront. Je sélectionne "Ouvrir avec le gestionnaire de fichiers" pour afficher les fichiers sur la disquette.

Copiez les fichiers dans le répertoire de votre choix en les faisant simplement glisser et en les déposant.

Que faire des autres disquettes n'était pas si simple. Pour être utiles, elles devaient servir de disquettes . J'ai fait des images de disquettes sous DOS et Windows. Mais c'était il y a longtemps. Et les programmes que j'ai utilisés sont des programmes DOS 16 bits et ne fonctionneront sur aucune version de Windows depuis Windows XP.

Heureusement, le processus de le faire est simple. Et vous n'avez besoin d'aucun programme de fournisseur tiers pour le faire. Linux contient tout ce dont vous avez besoin pour faire le travail.

La solution

Nous allons utiliser un programme appelé dd pour réellement créer l'image.

La première chose que nous devons faire est de savoir où le lecteur de disquette est monté.

Branchez votre clé USB sur le système, attendez quelques secondes, puis lancez la commande :

dmesg | tail

La sortie ressemblera à ceci :

La dernière ligne ici indique que la disquette est désignée /dev/sdb.

Si vous utilisez un lecteur de disquette connecté à un contrôleur dédié, votre appareil ressemblera à quelque chose comme /dev/fd0 ou /dev/floppy . Insérez-y une disquette et utilisez le df commande pour voir l'appareil utilisé :

Dans notre exemple, le périphérique attribué est /dev/fd0 . S'il s'agit de votre configuration, utilisez ce périphérique partout où /dev/sdb est utilisé dans les exemples ci-dessous.

Insérez une disquette à imager, passez au répertoire où l'image doit être stockée et lancez la commande :

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

Vous verrez, nous l'espérons, quelque chose comme ceci :

Il y a quelques problèmes avec l'utilisation de dd dans sa forme la plus simple.

Premièrement, quelle que soit la quantité ou la faible quantité de disquette utilisée, l'image créée reflétera la taille de la disquette, dans ce cas 1,44 mégaoctets. Nous pouvons compresser le fichier en utilisant la commande gzip :

gzip test.img

avec le résultat suivant :

Le fichier test.img est compressé et remplacé par test.img.gz , qui est plus petit de près de moitié.

Deux, le jj programme ne gère pas les erreurs comme nous le voudrions. Par défaut, s'il rencontre une erreur, un secteur défectueux par exemple, il signale le problème et quitte.

Heureusement jj a les moyens de nous laisser traiter certaines erreurs.

Nous allons ajouter les paramètres pour ignorer l'erreur et continuer. De plus, nous lui demanderons de remplir la section illisible avec des zéros, de sorte que nous n'ayons pas de données tronquées. Je vais modifier la taille de bloc de la copie de 512 octets à 1024 octets, de sorte que le nombre d'enregistrements soit désormais égal à la capacité du disque (en kilo-octets). Notre copie ressemble maintenant à ceci :

Comme avant, nous pouvons compresser le fichier en utilisant le gzip utilitaire.

Ce serait vraiment bien de le faire en une seule étape. En utilisant l'opérateur pipe ("|"), nous pouvons le faire. Nous émettrons la commande suivante :

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

Avec le résultat suivant :

Puisque nous fournissons un nom se terminant par l'extension de fichier .gz , le gzip programme utilise le reste du nom de fichier comme nom du fichier interne, "test.img". Je recommande fortement cette convention de nommage. Sans elle gzip et gunzip être confus et les résultats peuvent être imprévisibles. Utilisez donc +".img"+".gz". Si votre nom contient des espaces ou d'autres caractères spéciaux, placez le nom entier entre guillemets.

Si nous ouvrons notre fichier dans l'archiveur, nous pouvons voir le nom réel du fichier :


Ajouter un indicateur de progression

Nos commandes fonctionnent, mais vous ne pouvez pas vraiment voir ce qui se passe. Ce serait bien de pouvoir voir si les choses avancent comme elles le devraient.

Il existe un petit utilitaire appelé pv ça fera l'affaire. Installez-le à partir des dépôts de vos distributions. Linux Mint utilise le gestionnaire de packages apt, nous l'installons donc à l'aide de la commande :

sudo apt install pv

Utiliser pv nous avons maintenant notre indicateur de progression. Ainsi, notre processus de création d'image ressemble maintenant à ceci :

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

De même, notre processus de restauration de disquette devient :

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


Rendre cela plus facile à utiliser

Pour rendre ces commandes plus faciles à utiliser, j'ai créé quelques scripts bash. Pour imager une disquette, utilisez 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

Appelez en utilisant le nom et le nom du fichier compressé.

Pour recréer la disquette, utilisez 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

N'oubliez pas de changer le nom du périphérique si le lecteur de disquette n'est pas /dev/sdb .

Traitement des erreurs

D'accord, nous sommes aussi occupés que l'imagerie de nos disquettes et quelque chose comme ceci se produit :

Il devrait afficher 720 enregistrements lus. Oups! 104 ? Pas tout à fait inattendu. Certaines de ces disquettes ont 30 ans. Et maintenant? J'ai essayé d'utiliser la commande fsck, mais je n'ai pas obtenu de très bons résultats. Heureusement, la commande dosfsck peut nous aider. Cette commande fait partie du package de référentiel dosfstools. S'il n'est pas déjà installé sur votre système, installez le package. Sur un système basé sur Debian comme Linux Mint, vous pouvez installer avec la commande :

sudo apt install dosfstools

Votre saveur peut varier.

Exécutez la commande comme suit :

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

Comme indiqué, dosfsck tentera de réparer automatiquement le disque en répertoriant les noms des fichiers au fur et à mesure de leur traitement, marquera les clusters illisibles comme défectueux et écrira immédiatement les modifications sur le disque. Consultez la page de manuel pour plus d'informations. Pour notre disquette actuelle, nous obtenons la sortie suivante :

Cette disquette n'est pas vraiment utilisable. Trop de fichiers sont endommagés et contiennent des clusters illisibles. Les fichiers concernés devront être récupérés à partir d'une autre source. Cependant, les clusters illisibles se trouvent souvent en dehors des clusters alloués de tous les fichiers. Le disque réparé peut ensuite être imagé. Réexécution de dosfsck indique qu'il a nettoyé la disquette du mieux qu'il a pu :

Alors maintenant, nous essayons de réimager la disquette :

Le disque entier peut être imagé. N'oubliez pas que tous les fichiers qui avaient de mauvais clusters ne seront pas utilisables.

Utilisation des fichiers image

Pour utiliser le fichier image, décompressez-le d'abord.

Pour inspecter le fichier, montez-le sur le périphérique de bouclage :

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

Parcourir notre point de montage /mnt nous pouvons voir les fichiers :

Le .img le fichier peut également être utilisé comme disquette virtuelle dans un lecteur virtuel défini sur l'invité ordinateur dans une machine virtuelle VirtualBox. Le fichier image doit résider sur l'hôte disque dur.

Sélectionnez l'entrée en surbrillance et parcourez.


Conclusion

L'introduction d'une technologie plus récente a peut-être rendu les disquettes moins utiles au fil des ans. Néanmoins, ils peuvent être irremplaçables lorsqu'il s'agit de machines virtuelles exécutant des programmes et des systèmes plus anciens. Les distributions Linux du 21e siècle incluent encore de nombreux outils pour prendre en charge l'ancienne technologie, mais personne ne peut dire combien de temps la technologie continuera d'être prise en charge.

Alors, faites imager ces disquettes dès que vous le pouvez, vous entendez ? J'aimerais toujours avoir fait quelque chose avec ces disquettes 8 pouces !


Linux
  1. 4 outils Linux pour effacer vos données

  2. 3 distributions Linux de clé USB bien-aimées

  3. Partitionner un disque sous Linux avec GNU Parted

  4. Déverrouillez automatiquement les disques chiffrés sous Linux

  5. Erreur lors de l'installation d'Arch Linux

Comment formater des clés USB sous Linux

Comment monter une clé USB sur Kali Linux

Comment cloner une partition ou un disque dur sous Linux

Comment monter un lecteur sous Linux

Comment lister les disques sous Linux

Ouvrir Bitlocker Drive sous Linux - Rapide et facile