GNU/Linux >> Linux の 問題 >  >> Linux

フロッピーディスクと21世紀のLinux

見出しは、フロッピードライブのカーネルサポートの廃止を宣言しています。ディスケットのコレクションをどうするか、そしてその方法は次のとおりです。

フィリップL.ギルマー、2019年8月11日

最近のヘッドラインは、Linuxカーネルでの由緒あるフロッピーディスクドライブのサポートの差し迫った終焉を宣言しています。お腹がガクガクして、心臓がバタバタしました。私はこのビジネスにかなりの数年携わっており、フロッピーディスクのコレクションは8インチに戻ります。 "二度とない!"思った。

幸いなことに、さらなる調査は、見出しが状況をいくらか誇張していることを示しました。すべてのフロッピーサポートがなくなるわけではありません。専用のフロッピーコントローラに接続されたドライブのサポートだけです。ディスケットの読み取り/書き込み機能を新しいコンピューターに導入するために購入したUSBドライブは、別のサポートメカニズムを使用しており、現在も引き続きサポートされます。それでも、これらすべてのディスケットを使って何かをするのに今が良い時期だったようです。

履歴

最初のフロッピーディスクは直径8インチで、1960年代後半にメインフレームコンポーネントとしてIBMによって導入されました。 IBMはそれらを「タイプ1ディスケット」として指定しましたが、「フロッピーディスク」という用語はすぐに普及しました。最近の両面バージョンは、約1.2メガバイトのデータを保持できました。

5-1/4インチのドライブがすぐに続きました。安価ですが、適度な量のデータしか保持できませんでした。当初は約72キロバイトのデータしか保持していませんでしたが、競争によって容量が約630キロバイトに増加しました。

最初の3-1/2インチフロッピードライブは、当時驚異的でした。 「フロッピーディスク」はもはやフロッピーではありませんでした。初期のAppleMacintoshコンピュータは、400キロバイトのサイズを使用していました。 IBMは、1986年にIBM PC Convertibleラインにフォームファクターを導入し、「なんと」720キロバイトを保存できるようになりました。後のPS/2シリーズのIBMPCは、容量を1.44メガバイト、さらには2.88メガバイトのデータにまで増やしました。しかし、時は進みます。 IomegaのZipドライブや3MSuperDiskLS-120およびLS-240ドライブなどのイノベーションにより、最大750メガバイトの容量が実現しました。

CDおよびDVDテクノロジーの進歩は、フロッピーの終わりをほぼ綴っています。 CDは当初は読み取り専用メディアでしたが、書き込み可能なデバイスがすぐに利用可能になり、ストレージ容量が650メガバイトからギガバイトの範囲に押し上げられました。2層DVDの容量は8ギガバイトです。

サムドライブは、最近私たちのほとんどが選択する武器です。小型、安価、そして便利で、現在テラバイトに近いストレージ容量を提供します。

素晴らしい!私は他の人と同じように新しいテクノロジーを使用しています。しかし、私が持っているこれらすべてのフロッピーをどうすればよいですか?

クォンダリー

確かに、これらの古いディスケットの多くには、ある種のデータファイルが含まれており、ファイルをLinuxシステムのディレクトリにコピーできます。 Linux Mint KDEを使用しているので、ディスケットを手動でマウントする必要もありません。ディスケットが挿入されたときに、ミントは私のためにそれを行うことを提案します。ファイルマネージャを開くと、ファイルを新しい場所にドラッグアンドドロップするだけです。

他のLinuxディストリビューションでは、動作が少し異なる場合がありますが、ほとんどの場合、フロッピードライブを簡単にマウントする方法が提供されます。ディスケットエントリをクリックすると、オプションが表示されます。 「ファイルマネージャで開く」を選択して、ディスケット上のファイルを表示します。

ファイルをドラッグアンドドロップするだけで、選択したディレクトリにファイルをコピーします。

他のディスケットをどうするかはそれほど単純ではありませんでした。使用するには、ディスケットとして役立つ必要がありました。 。 DOSとWindowsでディスケットのイメージを作成しました。しかし、それはずっと前のことです。また、私が使用したプログラムは16ビットDOSプログラムであり、WindowsXP以降のどのバージョンのWindowsでも実行できません。

幸い、これを行うプロセスは簡単です。そして、それを行うためにサードパーティベンダープログラムは必要ありません。 Linuxには、仕事をするために必要なものがすべて含まれています。

ソリューション

ddというプログラムを使用します 実際に画像を作成します。

最初に行う必要があるのは、フロッピードライブがどこにマウントされているかを確認することです。

USBドライブをシステムに接続し、数秒待ってから、次のコマンドを発行します。

dmesg | tail

出力は次のようになります:

ここの最後の行は、フロッピーが/ ​​dev/sdbで指定されていることを示しています。

専用コントローラに接続されたフロッピードライブを使用している場合、デバイスは / dev / fd0のようになります。 または/dev / floppy 。フロッピーを挿入し、 dfを使用します 使用されているデバイスを確認するコマンド:

この例では、割り当てられたデバイスは / dev / fd0です。 。これが構成の場合は、 / dev / sdbのどこでもこのデバイスを使用してください 以下の例で使用されています。

画像化するフロッピーを挿入し、画像を保存するディレクトリに切り替えて、次のコマンドを発行します。

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

次のようなものが表示されることを願っています:

ddの使用にはいくつかの問題があります 最も単純な形で。

1つは、使用するディスケットの量に関係なく、作成されるイメージはディスケットのサイズ(この場合は1.44メガバイト)を反映します。 gzipコマンドを使用してファイルを圧縮できます:

gzip test.img

結果は次のとおりです。

ファイルtest.img 圧縮され、 test.img.gzに置き換えられます 、これはほぼ半分になります。

2つ目は、 dd プログラムは私たちが望むようにエラーを処理しません。デフォルトでは、エラー、たとえば不良セクタが発生した場合、問題を報告して終了します。

幸いなことにdd いくつかのエラーに対処できるようにする手段があります。

エラーを無視して続行するためのパラメーターを追加します。さらに、読み取り不可能なセクションをゼロで埋めて、切り捨てられたデータがないようにします。コピーのブロックサイズを512バイトから1024バイトに変更して、レコード数がディスク容量(キロバイト単位)と等しくなるようにします。コピーは次のようになります:

以前と同様に、 gzipを使用してファイルを圧縮できます ユーティリティ。

これを1つのステップで実行できると非常に便利です。パイプ(“ |”)演算子を使用して、これを行うことができます。次のコマンドを発行します:

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

次の結果が得られます:

ファイル拡張子.gzで終わる名前を指定するため 、 gzip プログラムは、ファイル名の残りを内部ファイル「test.img」の名前として使用します。この命名規則を強くお勧めします。それなしでgzip およびgunzip 混乱し、結果が予測できない可能性があります。したがって、+"。img"+"。gz"を使用します。名前に空白やその他の特殊文字が含まれている場合は、名前全体を引用符で囲んでください。

アーカイバでファイルを開くと、実際のファイル名が表示されます:


進行状況インジケーターを追加

コマンドは機能しますが、実際に何が起こっているのかを確認することはできません。物事が期待どおりに進んでいるかどうかを確認できると便利です。

pvと呼ばれるダンディな小さなユーティリティがあります それは仕事をします。ディストリビューションリポジトリからインストールします。 Linux Mintはaptパッケージマネージャーを使用しているため、次のコマンドを使用してインストールします。

sudo apt install pv

pvの使用 これで、進行状況インジケーターが表示されます。したがって、画像作成プロセスは次のようになります。

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

同様に、ディスケットの復元プロセスは次のようになります。

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


これを使いやすくする

これらのコマンドを使いやすくするために、いくつかのbashスクリプトを作成しました。ディスケットのイメージを作成するには、 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

名前と圧縮ファイル名を使用して呼び出します。

フロッピーを再作成するには、 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

フロッピードライブが/dev / sdb でない場合は、デバイス名に変更することを忘れないでください。 。

エラーへの対処

さて、私たちはディスケットのイメージングを行うことができるので忙しく、次のようなことが起こります:

読み取られた720レコードが表示されます。おっと! 104?まったく予想外ではありません。これらのディスケットのいくつかは30年前のものです。んで、どうする? fsckコマンドを使用してみましたが、あまり良い結果が得られませんでした。幸い、dosfsckコマンドは私たちを助けることができます。このコマンドは、リポジトリパッケージdosfstoolsの一部です。システムにまだインストールされていない場合は、パッケージをインストールします。 Linux MintのようなDebianベースのシステムでは、次のコマンドでインストールできます:

sudo apt install dosfstools

あなたの味は変わるかもしれません。

次のようにコマンドを発行します。

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

入力すると、dosfsckはディスクの修復を試み、処理時にファイルの名前を自動的に一覧表示し、読み取り不可能なクラスターを不良としてマークし、変更をすぐにディスクに書き込みます。詳細については、マニュアルページを確認してください。現在のディスケットでは、次の出力が得られます。

このディスケットは実際には使用できません。破損しているファイルが多すぎて、読み取り不可能なクラスターが含まれています。影響を受けるファイルは、他のソースから回復する必要があります。ただし、多くの場合、読み取り不可能なクラスターは、割り当てられたファイルのクラスターの外側にあります。その後、修復されたディスクをイメージ化できます。 dosfsckを再実行します は、ディスケットを可能な限りクリーンアップしたことを示しています。

そこで、ディスケットのイメージを再作成しようとします:

ディスク全体を画像化できます。不良クラスターが含まれているファイルは使用できなくなることに注意してください。

画像ファイルの使用

画像ファイルを使用するには、最初に解凍します。

ファイルを検査するには、ファイルをループバックデバイスにマウントします。

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

マウントポイントの閲覧/mnt ファイルを見ることができます:

.img ファイルは、ゲストで定義された仮想ドライブの仮想フロッピーディスクとしても使用できます。 VirtualBoxVM内のコンピューター。画像ファイルはホストに存在する必要があります ハードドライブ。

強調表示されたエントリを選択して参照します。


結論

新しいテクノロジーの導入により、ディスケットの有用性が何年にもわたって低下した可能性があります。それでも、古いプログラムやシステムを実行している仮想マシンを扱う場合、それらはかけがえのないものになる可能性があります。 21世紀のLinuxディストリビューションには、古いテクノロジーをサポートするための多くのツールがまだ含まれていますが、テクノロジーがサポートされ続ける期間は誰にも言えません。

だから、できるだけ早くそれらのディスケットを画像化してください、そうですか?私はまだそれらの8インチフロッピーで何かをしたかったのに!


Linux
  1. データを消去するための4つのLinuxツール

  2. 3つの最愛のUSBドライブLinuxディストリビューション

  3. Linuxで暗号化されたディスクのロックを自動的に解除する

  1. LinuxでGNUPartedを使用してドライブをパーティション分割する

  2. LinuxでGoogleドライブを使用する方法

  3. Linuxのファイル内の圧縮ファイルシステム?

  1. LinuxでUSBドライブを暗号化する - ステップバイステップ

  2. Linux で ntfs ドライブを fsck する

  3. Arch Linux のインストール エラー