fd(4) フロッピーディスク(floppy disk)デバイス

設定

フロッピードライブはメジャーナンバー 2 を持つブロックデバイスである。 一般的には、このデバイスのオーナーは root.floppy (オーナー root、グループ floppy) で、 モード 0660 (グループの構成員であることによってアクセスチェックが行われる)、 または、モード 0666 (誰でもアクセスできる) である。 マイナーナンバーはデバイスのタイプ、ドライブの番号、 コントローラーの番号を符号化したものである。それぞれのデバイスタイプ (これは、密度 (density) とトラックカウント (track count) の組合せである) は、ベースとなるマイナーナンバーを持っている。このベースナンバーにその コントローラー上のドライブナンバーを加える。もし、そのドライブが 2 番目の コントローラーに接続されているなら、さらに 128 を加える。次のデバイス テーブルでは、 n はドライブ番号を表す。 [訳注] 以下のテーブルに用いられる用語は表の整形の関係から原文のままとなっている。 Name (名前)、Capac. (容量)、Cyl. (シリンダ数)、Sect. (セクター数)、 Heads. (ヘッダ数)、Base minor # (ベースマイナーナンバー)。

警告: ドライブがサポートしているよりも多くのトラックを持つように フォーマットした場合、ドライブに機械的なダメージを与えることになる かもしれない。 通常の 40/80 よりも多くのトラックがサポートされているかどうかを 一度試すだけではドライブにダメージを与えることはないはずだが、 ダメージを与えないという保証はない。 確信がない場合は、そのような使い方が行われないように、 そうしたフォーマットのドライブ・エントリを作成しないこと。

メディアのフォーマットと容量を自動的に検出する ドライブ非依存のデバイスファイル:

NameBase minor #

fdn0

5.25 インチ倍密度(double density)デバイスファイル:

NameCapac.Cyl.Sect.HeadsBase minor #

fdnd360360K40924

5.25 インチ高密度(high density)デバイスファイル:

NameCapac.Cyl.Sect.HeadsBase minor #

fdnh360360K409220
fdnh410410K4110248
fdnh420420K4210264
fdnh720720K809224
fdnh880880K8011280
fdnh12001200K801528
fdnh14401440K8018240
fdnh14761476K8218256
fdnh14941494K8318272
fdnh16001600K8020292
3.5 インチ倍密度(double density)デバイスファイル:
NameCapac.Cyl.Sect.HeadsBase minor #

fdnD360360K809112
fdnD720720K809216
fdnD800800K80102120
fdnD10401040K8013284
fdnD11201120K8014288

3.5 インチ高密度(high density)デバイスファイル:

NameCapac.Cyl.Sect.HeadsBase minor #

fdnH360360K409212
fdnH720720K809216
fdnH820820K8210252
fdnH830830K8310268
fdnH14401440K8018228
fdnH16001600K80202124
fdnH16801680K8021244
fdnH17221722K8221260
fdnH17431743K8321276
fdnH17601760K8022296
fdnH18401840K80232116
fdnH19201920K80242100

3.5 インチ拡張密度(extra density)デバイスファイル:

NameCapac.Cyl.Sect.HeadsBase minor #

fdnE28802880K8036232
fdnCompaQ2880K8036236
fdnE32003200K80402104
fdnE35203520K80442108
fdnE38403840K80482112

説明

fd スペシャルファイルはフロッピーディスクドライブにローモード (raw mode)で アクセスする。fd では、次の ioctl(2) コールがサポートされている。
FDCLRPRM
ドライブのメディア情報(ドライブ内のディスクのジオメトリ情報)をクリアす る。
FDSETPRM
ドライブのメディア情報をセットする。メディア情報はメディアが交換された 時、失われる。
FDDEFPRM
ドライブのメディア情報(ドライブ内のディスクのジオメトリ情報)をセットす る。メディア情報はメディアが交換された時でも失われない。これは(メディ ア情報の)自動検出を無効にする。自動検出を再び有効にするために、 FDCLRPRM を発行しなければならない。
FDGETDRVTYP
ドライブのタイプ(名前引数)を返す。それぞれのドライブタイプに適合するよ うにフォーマットを行うため、FDGETDRVTYP はフォーマットをサポート する最も古いドライブタイプのために適切な名前を返す。
FDFLUSH
与えられたドライブのバッファキャッシュを無効にする。
FDSETMAXERRS
エラーの報告、操作の中止、再試行、リセット、セクター毎の読み込みのため のエラー閾値をセットする。
FDSETMAXERRS
現在のエラー閾値を得る。
FDGETDRVTYP
ドライブの内部名を得る。
FDWERRORCLR
書き込みエラーの統計をクリアーする。
FDWERRORGET
書き込みエラーの統計を読む。統計は、書き込みエラーの合計、最初の書き込 みエラーはどのディスクのどこで起こったか、そして、最後の書き込みエラー がどのディスクのどこで起こったかという情報を含んでいる。ディスクはディ スクの交換ごとに増えるジェネレーション番号によって識別される。
FDTWADDLE
数ミリ秒の間ドライブのモーターのスイッチを切る。これはディスクのセクター 同士が接近しすぎているディスクのアクセスのために必要であろう。
FDSETDRVPRM
ドライブの様々なパラメータをセットする。
FDGETDRVPRM
(FDSETDRVPRM を使ってセットした)パラメータを読みだす。
FDGETDRVSTAT
キャッシュされているドライブの状態(ディスクの交換、ライトプロテクトな ど)を得る。
FDPOLLDRVSTAT
ドライブをポーリングして、その状態を返す。
FDGETFDCSTAT
フロッピーコントローラーの状態を得る。
FDRESET
フロッピーコントローラーを信頼できる状態にリセットする。
FDRAWCMD
フロッピーコントローラーに低レベルのコマンド(raw command)を送る。

より正確な情報のためには、マニュアルページ floppycontrol(1) だけでなく、インクルードファイル <linux/fd.h><linux/fdarg.h> も参照のこと。

ファイル

/dev/fd*

注意

様々なディスクのタイプで様々な種類のフォーマットの読み書きが許されている。 しかし、小さすぎるセクター間ギャップでフォーマットされたフロッピーでは、 トラック全体のアクセスに数秒必要になるため、性能が低下することだろう。 これを防ぐためには、インターリーブド・フォーマット (interleaved format) を用いればよい。

Apple II や Macintosh コンピュータで使用されている、 GCR (group code recording) を使ってフォーマットされたフロッピー (800k ディスク) を読むことはできない。

ハードセクター型のフロッピーの読み込みはサポートされていない (ハードセクター型のフロッピーでは、セクター毎にホール (hole) が一つあり、 少しずれた位置にインデックスホールが存在する)。 これは、昔の 8 インチフロッピーで一般的に使われていた方式である。

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。