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 よりも多くのトラックがサポートされているかどうかを 一度試すだけではドライブにダメージを与えることはないはずだが、 ダメージを与えないという保証はない。 確信がない場合は、そのような使い方が行われないように、 そうしたフォーマットのドライブエントリーを作成しないこと。

メディアのフォーマットと容量を自動的に検出する ドライブ非依存のデバイスファイル:
名前 | ベース
 | マイナー番号
fdn | 0

5.25 インチ倍密度 (double-density) デバイスファイル:
名前 | 容量 | シリンダー | セクター | ヘッド | ベース
 | KiB |  |  |  | マイナー番号
fdnd360 | 360 | 40 | 9 | 2 | 4

5.25 インチ高密度 (high-density) デバイスファイル:
名前 | 容量 | シリンダー | セクター | ヘッド | ベース
 | KiB |  |  |  | マイナー番号
fdnh360 | 360 | 40 | 9 | 2 | 20
fdnh410 | 410 | 41 | 10 | 2 | 48
fdnh420 | 420 | 42 | 10 | 2 | 64
fdnh720 | 720 | 80 | 9 | 2 | 24
fdnh880 | 880 | 80 | 11 | 2 | 80
fdnh1200 | 1200 | 80 | 15 | 2 | 8
fdnh1440 | 1440 | 80 | 18 | 2 | 40
fdnh1476 | 1476 | 82 | 18 | 2 | 56
fdnh1494 | 1494 | 83 | 18 | 2 | 72
fdnh1600 | 1600 | 80 | 20 | 2 | 92

3.5 インチ倍密度 (double-density) デバイスファイル:
名前 | 容量 | シリンダー | セクター | ヘッド | ベース
 | KiB |  |  |  | マイナー番号
fdnu360 | 360 | 80 | 9 | 1 | 12
fdnu720 | 720 | 80 | 9 | 2 | 16
fdnu800 | 800 | 80 | 10 | 2 | 120
fdnu1040 | 1040 | 80 | 13 | 2 | 84
fdnu1120 | 1120 | 80 | 14 | 2 | 88

3.5 インチ高密度 (high-density) デバイスファイル:
名前 | 容量 | シリンダー | セクター | ヘッド | ベース
 | KiB |  |  |  | マイナー番号
fdnu360 | 360 | 40 | 9 | 2 | 12
fdnu720 | 720 | 80 | 9 | 2 | 16
fdnu820 | 820 | 82 | 10 | 2 | 52
fdnu830 | 830 | 83 | 10 | 2 | 68
fdnu1440 | 1440 | 80 | 18 | 2 | 28
fdnu1600 | 1600 | 80 | 20 | 2 | 124
fdnu1680 | 1680 | 80 | 21 | 2 | 44
fdnu1722 | 1722 | 82 | 21 | 2 | 60
fdnu1743 | 1743 | 83 | 21 | 2 | 76
fdnu1760 | 1760 | 80 | 22 | 2 | 96
fdnu1840 | 1840 | 80 | 23 | 2 | 116
fdnu1920 | 1920 | 80 | 24 | 2 | 100

3.5 インチ拡張密度 (extra-density) デバイスファイル:
名前 | 容量 | シリンダー | セクター | ヘッド | ベース
 | KiB |  |  |  | マイナー番号
fdnu2880 | 2880 | 80 | 36 | 2 | 32
fdnCompaQ | 2880 | 80 | 36 | 2 | 36
fdnu3200 | 3200 | 80 | 40 | 2 | 104
fdnu3520 | 3520 | 80 | 44 | 2 | 108
fdnu3840 | 3840 | 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 プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。