EN JA
FD(4)
FD(4) Linux Programmer's Manual FD(4)

名前

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

設定

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

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

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

Name Base minor #
fdn 0

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

Name Capac. Cyl. Sect. Heads Base minor #
fdnd360 360K 40 9 2 4

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

Name Capac. Cyl. Sect. Heads Base minor #
fdnh360 360K 40 9 2 20
fdnh410 410K 41 10 2 48
fdnh420 420K 42 10 2 64
fdnh720 720K 80 9 2 24
fdnh880 880K 80 11 2 80
fdnh1200 1200K 80 15 2 8
fdnh1440 1440K 80 18 2 40
fdnh1476 1476K 82 18 2 56
fdnh1494 1494K 83 18 2 72
fdnh1600 1600K 80 20 2 92

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

Name Capac. Cyl. Sect. Heads Base minor #
fdnD360 360K 80 9 1 12
fdnD720 720K 80 9 2 16
fdnD800 800K 80 10 2 120
fdnD1040 1040K 80 13 2 84
fdnD1120 1120K 80 14 2 88

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

Name Capac. Cyl. Sect. Heads Base minor #
fdnH360 360K 40 9 2 12
fdnH720 720K 80 9 2 16
fdnH820 820K 82 10 2 52
fdnH830 830K 83 10 2 68
fdnH1440 1440K 80 18 2 28
fdnH1600 1600K 80 20 2 124
fdnH1680 1680K 80 21 2 44
fdnH1722 1722K 82 21 2 60
fdnH1743 1743K 83 21 2 76
fdnH1760 1760K 80 22 2 96
fdnH1840 1840K 80 23 2 116
fdnH1920 1920K 80 24 2 100

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

Name Capac. Cyl. Sect. Heads Base minor #
fdnE2880 2880K 80 36 2 32
fdnCompaQ 2880K 80 36 2 36
fdnE3200 3200K 80 40 2 104
fdnE3520 3520K 80 44 2 108
fdnE3840 3840K 80 48 2 112

説明

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 インチフロッピーで一般的に使われていた方式である。

関連項目

chown(1), floppycontrol(1), getfdprm(1), mknod(1), superformat(1), mount(8), setfdprm(8)

この文書について

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