GNU/Linux >> Linux Esercitazione >  >> Linux

Floppy Disk vs Linux del 21° secolo

I titoli proclamano la fine del supporto del kernel per le unità floppy. Ecco cosa fare con la tua raccolta di dischetti e come farlo.

Philip L. Gilmer, 11 agosto 2019

Titoli recenti proclamano l'imminente fine del supporto per il venerabile floppy disk drive nel kernel di Linux. Il mio stomaco si contrasse e il mio cuore ebbe un battito o due. Lavoro in questo settore da parecchi anni e la mia collezione di floppy disk risale a 8 pollici. "Non di nuovo!" ho pensato.

Fortunatamente, ulteriori ricerche hanno indicato che i titoli hanno in qualche modo sopravvalutato la situazione. Tutto il supporto floppy non sta scomparendo, solo il supporto per le unità collegate a controller floppy dedicati. L'unità USB che hai acquistato per portare la capacità di lettura/scrittura del dischetto sui computer più recenti utilizza un meccanismo di supporto diverso e continuerà a essere supportata, per ora. Tuttavia, sembrava che ora fosse un buon momento per fare qualcosa con tutti questi dischetti.

Cronologia

I primi floppy disk avevano un diametro di 8 pollici e furono introdotti da IBM alla fine degli anni '60 come componenti del mainframe. IBM li ha designati come il loro "disco di tipo 1", ma il termine "disco floppy" ha preso piede molto rapidamente. Le ultime versioni a doppia faccia erano in grado di contenere circa 1,2 megabyte di dati.

Presto seguirono unità da 5-1/4 di pollice. Sebbene meno costosi, potevano contenere solo una modesta quantità di dati. Inizialmente detenendo solo circa 72 kilobyte di dati, la concorrenza ha aumentato le capacità a circa 630 kilobyte.

La prima unità floppy da 3-1/2 pollici era una meraviglia ai suoi tempi. Il "floppy disk" non era più così floppy. I primi computer Apple Macintosh utilizzavano una dimensione di 400 kilobyte. IBM ha introdotto il fattore di forma nel 1986 per la sua linea IBM PC Convertible, offrendoci la possibilità di memorizzare ben 720 kilobyte. La successiva serie PS/2 di PC IBM ha aumentato la capacità a 1,44 e persino a 2,88 megabyte di dati. Ma il tempo scorre. Innovazioni come l'unità Zip Drive di Iomega e le unità SuperDisk LS-120 e LS-240 3M hanno portato capacità fino a 750 megabyte.

I progressi nelle tecnologie CD e DVD hanno praticamente segnato la fine dei floppy. Sebbene i CD fossero inizialmente supporti di sola lettura, presto divennero disponibili dispositivi scrivibili che spinsero le capacità di archiviazione da 650 megabyte a una gamma di gigabyte con DVD a doppio strato con una capacità di 8 gigabyte.

Le pen drive sono le armi preferite dalla maggior parte di noi in questi giorni. Piccole, economiche e maneggevoli, offrono capacità di archiviazione che si avvicinano al terabyte.

Grande! Uso le nuove tecnologie come tutti gli altri. Ma cosa devo fare con tutti questi floppy che ho?

Il dilemma

A dire il vero, molti di questi vecchi dischetti contengono file di dati di un tipo o dell'altro e i file potrebbero essere copiati in una directory sul mio sistema Linux. Dato che uso Linux Mint KDE, non devo nemmeno montare manualmente i dischetti. Mint si offrirà di farlo per me quando il dischetto sarà inserito. Apri il mio file manager e posso semplicemente trascinare e rilasciare i file nelle loro nuove posizioni.

Altre distribuzioni Linux potrebbero farlo in modo leggermente diverso, ma la maggior parte ti darà un modo per montare facilmente un'unità floppy. Fare clic sulla voce del dischetto e verranno visualizzate le opzioni. Seleziono “Apri con File Manager” per visualizzare i file sul dischetto.

Copia i file nella directory di tua scelta semplicemente trascinandoli e rilasciandoli.

Cosa fare con altri dischetti non era così semplice. Per essere utili, dovevano essere utili come dischetti . Ho creato immagini di dischetti in DOS e Windows. Ma è passato molto tempo. E i programmi che ho usato sono programmi DOS a 16 bit e non funzioneranno su nessuna versione di Windows da Windows XP.

Fortunatamente il processo per farlo è semplice. E non hai bisogno di alcun programma di fornitori di terze parti per farlo. Linux contiene tutto ciò di cui hai bisogno per svolgere il lavoro.

La soluzione

Useremo un programma chiamato dd per creare effettivamente l'immagine.

La prima cosa che dobbiamo fare è scoprire dove è montato il floppy drive.

Collega l'unità USB al sistema, attendi qualche secondo, quindi impartisci il comando:

dmesg | tail

L'output sarà simile a questo:

L'ultima riga qui indica che il floppy è designato /dev/sdb.

Se stai utilizzando un'unità floppy collegata a un controller dedicato, il tuo dispositivo avrà un aspetto simile a /dev/fd0 o /dev/floppy . Inserisci un floppy e usa il df comando per vedere il dispositivo utilizzato:

Nel nostro esempio il dispositivo assegnato è /dev/fd0 . Se questa è la tua configurazione, usa questo dispositivo ovunque /dev/sdb viene utilizzato negli esempi seguenti.

Inserisci un floppy per l'immagine, passa alla directory in cui deve essere archiviata l'immagine ed esegui il comando:

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

Ci auguriamo che vedrai qualcosa del genere:

Ci sono un paio di problemi con l'utilizzo di dd nella sua forma più semplice.

Uno, non importa quanto o quanto poco viene utilizzato il dischetto, l'immagine creata rifletterà le dimensioni del dischetto, in questo caso 1,44 megabyte. Possiamo comprimere il file usando il comando gzip:

gzip test.img

con il seguente risultato:

Il file test.img viene compresso e sostituito da test.img.gz , che è più piccolo di quasi la metà.

Due, il dd il programma non gestisce gli errori come vorremmo. Per impostazione predefinita, se incontra un errore, ad esempio un settore danneggiato, segnala il problema e si chiude.

Fortunatamente dd ha i mezzi per farci affrontare alcuni errori.

Aggiungeremo i parametri per ignorare l'errore e continuare. Inoltre, riempiremo di zeri la sezione illeggibile, in modo da non avere dati troncati. Modificherò la dimensione del blocco della copia da 512 byte a 1024 byte, in modo che il conteggio dei record ora sia uguale alla capacità del disco (in kilobyte). La nostra copia ora si presenta così:

Come prima possiamo comprimere il file usando gzip utilità.

Sarebbe davvero bello farlo in un unico passaggio. Usando l'operatore pipe ("|") possiamo farlo. Invieremo il seguente comando:

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

Con il seguente risultato:

Poiché forniamo un nome che termina con l'estensione del file .gz , il gzip il programma utilizza il resto del nome del file come nome del file interno, "test.img". Consiglio vivamente questa convenzione di denominazione. Senza di essa gzip e gunzip confondersi e i risultati possono essere imprevedibili. Quindi usa +".img"+".gz". Se il tuo nome contiene spazi vuoti o altri caratteri speciali, racchiudi il nome intero tra virgolette.

Se apriamo il nostro file nell'archiviatore, possiamo vedere il nome del file effettivo:


Aggiungi un indicatore di avanzamento

I nostri comandi funzionano, ma non puoi davvero vedere cosa sta succedendo. Sarebbe bello poter vedere se le cose si stanno muovendo come dovrebbero.

C'è una piccola utility dandy chiamata pv che farà il lavoro. Installalo dai tuoi repository di distribuzione. Linux Mint usa il gestore di pacchetti apt, quindi lo installiamo usando il comando:

sudo apt install pv

Usando pv ora abbiamo il nostro indicatore di progresso. Quindi il nostro processo di creazione dell'immagine ora si presenta così:

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

Allo stesso modo, il nostro processo di ripristino del dischetto diventa:

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


Rendere questo più facile da usare

Per rendere questi comandi più facili da usare, ho creato un paio di script bash. Per creare un'immagine di un dischetto, utilizzare 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

Richiama utilizzando il nome e il nome del file compresso.

Per ricreare il floppy, usa 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

Ricordarsi di cambiare il nome del dispositivo se l'unità floppy non è /dev/sdb .

Gestire gli errori

Ok, siamo occupati come può essere l'immagine dei nostri dischetti e qualcosa del genere accade:

Dovrebbe mostrare 720 record letti. Ops! 104? Non del tutto inaspettato. Alcuni di questi dischetti hanno 30 anni. E ora? Ho provato a usare il comando fsck, ma non ho ottenuto ottimi risultati. Fortunatamente, il comando dosfsck può aiutarci. Questo comando fa parte del pacchetto del repository dosfstools. Se non è già installato sul tuo sistema, installa il pacchetto. Su un sistema basato su Debian come Linux Mint, puoi installare con il comando:

sudo apt install dosfstools

Il tuo sapore può variare.

Emettere il comando come segue:

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

Come inserito, dosfsck tenterà di riparare il disco elencando automaticamente i nomi dei file mentre vengono elaborati, contrassegnerà i cluster illeggibili come danneggiati e scriverà immediatamente le modifiche sul disco. Controlla la pagina man per ulteriori informazioni. Per il nostro attuale dischetto otteniamo il seguente output:

Questo dischetto non è realmente utilizzabile. Troppi file sono danneggiati e contengono cluster illeggibili. I file interessati dovrebbero essere recuperati da un'altra fonte. Spesso, tuttavia, i cluster illeggibili si trovano all'esterno dei cluster allocati di qualsiasi file. È quindi possibile eseguire l'immagine del disco riparato. Riesecuzione di dosfsck mostra di aver ripulito il dischetto nel miglior modo possibile:

Quindi ora proviamo a ricreare l'immagine del dischetto:

È possibile eseguire l'immagine dell'intero disco. Ricorda che tutti i file con cluster danneggiati non saranno utilizzabili.

Utilizzo dei file immagine

Per utilizzare il file immagine, prima decomprimilo.

Per ispezionare il file, montalo sul dispositivo di loopback:

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

Sfogliando il nostro punto di montaggio /mnt possiamo vedere i file:

Il .img può anche essere usato come un floppy disk virtuale in un drive virtuale definito sul guest computer in una macchina virtuale VirtualBox. Il file immagine deve risiedere sull'host disco rigido.

Seleziona la voce evidenziata e sfoglia.


Conclusione

L'introduzione della tecnologia più recente potrebbe aver reso i dischetti meno utili nel corso degli anni. Tuttavia possono essere insostituibili quando si ha a che fare con macchine virtuali che eseguono programmi e sistemi meno recenti. Le distribuzioni Linux del 21° secolo includono ancora molti strumenti per supportare la tecnologia precedente, ma nessuno può dire per quanto tempo la tecnologia continuerà a essere supportata.

Quindi prendi le immagini di quei dischetti il ​​prima possibile, hai sentito? Vorrei ancora aver fatto qualcosa con quei floppy da 8 pollici!


Linux
  1. 4 strumenti Linux per cancellare i tuoi dati

  2. Partizionare un'unità su Linux con GNU Parted

  3. Sblocca automaticamente i dischi crittografati su Linux

  4. fsck un'unità ntfs in Linux

  5. Errore durante l'installazione di Arch Linux

Come formattare le unità USB in Linux

Come montare un'unità USB su Kali Linux

Come clonare una partizione o un disco rigido in Linux

Come montare un'unità su Linux

Come elencare i dischi su Linux

Apri Bitlocker Drive su Linux:facile e veloce