GNU/Linux >> Tutoriales Linux >  >> Linux

Disquetes vs Linux del siglo XXI

Los titulares proclaman la desaparición del soporte del núcleo para las unidades de disquete. Esto es lo que debe hacer con su colección de disquetes y cómo hacerlo.

Philip L. Gilmer, 11 de agosto de 2019

Titulares recientes proclaman la desaparición inminente del soporte para la venerable unidad de disquete en el kernel de Linux. Mi estómago se revolvió y mi corazón dio uno o dos aleteos. Llevo bastantes años en este negocio y mi colección de disquetes se remonta a los de 8 pulgadas. "¡No otra vez!" pensé.

Afortunadamente, investigaciones posteriores indicaron que los titulares exageraron un poco la situación. Toda la compatibilidad con disquetes no va a desaparecer, solo la compatibilidad con unidades conectadas a controladores de disquete dedicados. Esa unidad USB que compró para llevar la capacidad de lectura/escritura de disquetes a las computadoras más nuevas usa un mecanismo de soporte diferente y seguirá siendo compatible, por ahora. De todos modos, parecía que ahora era un buen momento para hacer algo con todos estos disquetes.

Historia

Los primeros disquetes tenían 8 pulgadas de diámetro y fueron introducidos por IBM a fines de la década de 1960 como componentes de mainframe. IBM los designó como su "Disquete Tipo 1", pero el término "disquete" se popularizó muy rápidamente. Las últimas versiones de doble cara eran capaces de almacenar alrededor de 1,2 megabytes de datos.

Pronto siguieron las unidades de 5-1/4 pulgadas. Aunque menos costosos, solo podían contener una cantidad modesta de datos. Inicialmente con solo unos 72 kilobytes de datos, la competencia aumentó la capacidad a unos 630 kilobytes.

La primera unidad de disquete de 3-1/2 pulgadas fue una maravilla en su época. El “floppy disk” ya no era tan flojo. Las primeras computadoras Apple Macintosh usaban un tamaño de 400 kilobytes. IBM introdujo el factor de forma en 1986 para su línea IBM PC Convertible, brindándonos la capacidad de almacenar la "enorme" cantidad de 720 kilobytes. La última serie PS/2 de PC de IBM aumentó la capacidad a 1,44 e incluso a 2,88 megabytes de datos. Pero el tiempo avanza. Innovaciones como Zip Drive de Iomega y las unidades 3M SuperDisk LS-120 y LS-240 llevaron capacidades hasta la marca de 750 megabytes.

Los avances en las tecnologías de CD y DVD significaron prácticamente el fin de los disquetes. Aunque inicialmente los CD eran medios de solo lectura, los dispositivos grabables pronto estuvieron disponibles y aumentaron las capacidades de almacenamiento de 650 megabytes al rango de gigabytes con DVD de doble capa con una capacidad de 8 gigabytes.

Las memorias USB son las armas elegidas por la mayoría de nosotros en estos días. Pequeños, económicos y prácticos, brindan capacidades de almacenamiento que ahora se acercan a un terabyte.

¡Estupendo! Uso las nuevas tecnologías como todo el mundo. Pero, ¿qué hago con todos estos disquetes que tengo?

El Dilema

Sin duda, muchos de estos disquetes antiguos contienen archivos de datos de un tipo u otro y los archivos se pueden copiar en un directorio de mi sistema Linux. Como uso Linux Mint KDE, ni siquiera tengo que montar manualmente los disquetes. Mint se ofrecerá a hacerlo por mí cuando se inserte el disquete. Abra mi administrador de archivos y simplemente puedo arrastrar y soltar archivos a sus nuevas ubicaciones.

Otras distribuciones de Linux pueden hacerlo un poco diferente, pero la mayoría le dará una manera de montar fácilmente una unidad de disquete. Haga clic en la entrada del disquete y se mostrarán las opciones. Selecciono "Abrir con el administrador de archivos" para ver los archivos en el disquete.

Copie los archivos al directorio de su elección simplemente arrastrándolos y soltándolos.

Qué hacer con otros disquetes no era tan simple. Para ser de alguna utilidad, tenían que ser útiles como disquetes . He realizado imágenes de disquetes bajo DOS y Windows. Pero fue hace mucho tiempo. Y los programas que utilicé son programas DOS de 16 bits y no se ejecutarán en ninguna versión de Windows desde Windows XP.

Afortunadamente, el proceso de hacer esto es simple. Y no necesita ningún programa de proveedor externo para hacerlo. Linux contiene todo lo que necesita para hacer el trabajo.

La Solución

Usaremos un programa llamado dd para crear realmente la imagen.

Lo primero que debemos hacer es averiguar dónde está montada la unidad de disquete.

Conecte su unidad USB al sistema, espere unos segundos y luego emita el comando:

dmesg | tail

La salida se verá así:

La última línea aquí indica que el disquete se designa como /dev/sdb.

Si está utilizando una unidad de disquete conectada a un controlador dedicado, entonces su dispositivo se verá como /dev/fd0 o /dev/disquete . Inserte un disquete en él y use el df Comando para ver el dispositivo utilizado:

En nuestro ejemplo, el dispositivo asignado es /dev/fd0 . Si esta es su configuración, use este dispositivo dondequiera que /dev/sdb se utiliza en los ejemplos a continuación.

Inserte un disquete para crear una imagen, cambie al directorio donde se almacenará la imagen y emita el comando:

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

Esperamos que vea algo como esto:

Hay un par de problemas con el uso de dd en su forma más simple.

Uno, no importa cuánto o qué poco del disquete se use, la imagen creada reflejará el tamaño del disquete, en este caso 1,44 megabytes. Podemos comprimir el archivo usando el comando gzip:

gzip test.img

con el siguiente resultado:

El archivo prueba.img está comprimido y reemplazado por test.img.gz , que es casi la mitad más pequeña.

Dos, el dd programa no maneja los errores como nos gustaría. De forma predeterminada, si encuentra un error, por ejemplo, un sector defectuoso, informa el problema y se cierra.

Afortunadamente dd tiene los medios para permitirnos tratar algunos errores.

Agregaremos los parámetros para ignorar el error y continuar. Además, haremos que llene la sección ilegible con ceros, para que no tengamos datos truncados. Voy a modificar el tamaño de bloque de la copia de 512 bytes a 1024 bytes, de modo que el recuento de registros ahora sea igual a la capacidad del disco (en kilobytes). Nuestra copia ahora se ve así:

Como antes, podemos comprimir el archivo usando gzip utilidad.

Sería muy bueno hacer esto en un solo paso. Usando el operador de tubería ("|") podemos hacer esto. Emitiremos el siguiente comando:

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

Con el siguiente resultado:

Dado que proporcionamos un nombre que termina con la extensión de archivo .gz , el gzip El programa usa el resto del nombre del archivo como el nombre del archivo interno, "test.img". Recomiendo encarecidamente esta convención de nomenclatura. Sin él gzip y cremallera confundirse y los resultados pueden ser impredecibles. Así que usa +".img"+".gz". Si su nombre contiene espacios en blanco u otros caracteres especiales, escriba el nombre completo entre comillas.

Si abrimos nuestro archivo en el archivador, podemos ver el nombre real del archivo:


Agregar un indicador de progreso

Nuestros comandos funcionan, pero realmente no puedes ver lo que está pasando. Sería bueno poder ver si las cosas avanzan como deberían.

Hay una pequeña utilidad elegante llamada pv eso hará el trabajo. Instálelo desde los repositorios de sus distribuciones. Linux Mint usa el administrador de paquetes apt, así que lo instalamos usando el comando:

sudo apt install pv

Usando pv ahora tenemos nuestro indicador de progreso. Así que nuestro proceso de creación de imágenes ahora se ve así:

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

De manera similar, nuestro proceso de restauración de disquetes se convierte en:

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


Hacer esto más fácil de usar

Para que estos comandos sean más fáciles de usar, creé un par de scripts de bash. Para crear una imagen de un disquete, use 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

Invocar usando el nombre y el nombre del archivo comprimido.

Para recrear el disquete, use 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

Recuerde cambiar al nombre del dispositivo si la unidad de disquete no es /dev/sdb .

Lidiando con Errores

De acuerdo, estamos ocupados, como pueden ser las imágenes de nuestros disquetes, y sucede algo como esto:

Debería mostrar 720 registros leídos. ¡Ups! 104? No del todo inesperado. Algunos de estos disquetes tienen 30 años. ¿Y ahora que? Intenté usar el comando fsck, pero no obtuve muy buenos resultados. Afortunadamente, el comando dosfsck puede ayudarnos. Este comando es parte del paquete de repositorio dosfstools. Si aún no está instalado en su sistema, instale el paquete. En un sistema basado en Debian como Linux Mint, puede instalar con el comando:

sudo apt install dosfstools

Su sabor puede variar.

Emita el comando de la siguiente manera:

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

Una vez ingresado, dosfsck intentará reparar el disco automáticamente enumerando los nombres de los archivos a medida que se procesan, marcará los clústeres ilegibles como incorrectos y escribirá los cambios en el disco de inmediato. Consulte la página del manual para obtener información adicional. Para nuestro disquete actual obtenemos el siguiente resultado:

Este disquete no es realmente utilizable. Demasiados archivos están dañados y contienen clústeres ilegibles. Los archivos afectados tendrían que recuperarse de alguna otra fuente. Sin embargo, a menudo, los clústeres ilegibles estarán fuera de los clústeres asignados de cualquier archivo. A continuación, se puede crear una imagen del disco reparado. Volver a ejecutar dosfsck muestra que ha limpiado el disquete lo mejor que ha podido:

Así que ahora intentamos volver a crear una imagen del disquete:

Se puede crear una imagen de todo el disco. Recuerde que los archivos que tenían clústeres defectuosos no se podrán utilizar.

Usando los archivos de imagen

Para usar el archivo de imagen, primero descomprímalo.

Para inspeccionar el archivo, móntelo en el dispositivo de loopback:

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

Navegando por nuestro punto de montaje /mnt podemos ver los archivos:

El .img El archivo también se puede usar como un disquete virtual en una unidad virtual definida en el invitado computadora en una máquina virtual VirtualBox. El archivo de imagen debe residir en el host disco duro.

Seleccione la entrada resaltada y navegue.


Conclusión

La introducción de tecnología más nueva puede haber hecho que los disquetes sean menos útiles a lo largo de los años. No obstante, pueden ser insustituibles cuando se trata de máquinas virtuales que ejecutan programas y sistemas más antiguos. Las distribuciones de Linux del siglo XXI aún incluyen muchas herramientas para admitir la tecnología más antigua, pero nadie puede decir cuánto tiempo seguirá siendo compatible la tecnología.

Así que haz una imagen de esos disquetes tan pronto como puedas, ¿me oyes? ¡Todavía desearía haber hecho algo con esos disquetes de 8 pulgadas!


Linux
  1. 3 amadas distribuciones de Linux con unidades USB

  2. Particionar una unidad en Linux con GNU Parted

  3. Desbloquee discos encriptados en Linux automáticamente

  4. Cómo usar Google Drive en Linux

  5. fsck una unidad ntfs en Linux

Cómo formatear unidades USB en Linux

Cómo montar una unidad USB en Kali Linux

Cómo clonar una partición o disco duro en Linux

Cómo montar una unidad en Linux

Cómo enumerar discos en Linux

Abra Bitlocker Drive en Linux:rápido y fácil