DOSのファイルシステム

ファイルシステムとは、個々のプログラムやデータを、 「ファイル」という仮想的な入れ物の集まりとしてユーザに認識させるための 仕組みである。DOSでは、FAT (File Allocation Table)というファイルシステムを採用しているが、 この特徴として、「ドライブ名(Drive Letter)」という概念で各種周辺装置の 管理を行っている。ドライブ名の割り当ては以下のようになっている。

標準でサポートされるデバイス
ドライブ名デバイス備考Linuxにおける
デバイス名
A: 最初の FDD
(通常3.5inch)
NEC の PC98 シリーズでは、A:,B: と C:,D: が逆になる。 /dev/fd0
B: 2 番目の FDD
(通常5inch)
これ以上の FDD を接続する場合、もしくは標準でない FDD を使用する場合、 特殊なデバイスドライバにより認識させる。この場合のドライブ名は、 一般的に「最後に認識したハードディスクの次の文字」となる。 /dev/fd1
C: 最初の HDD IDE インターフェース(SCSI でないディスクで 使用)は、マザーボード内に 2 ポート実装してあり(/dev/ide0と/dev/ide1)、 1 ポートに 2 台(マスター/スレーブ)の HDD(又は IDE/ATAPI 仕様の CD-ROM ドライブ)を 接続することができる。 /dev/hda
D: (もしあれば)2 番目の HDD /dev/hdb

以下に、オプションで追加できる MS-DOS ファイルシステム互換周辺装置の 例を示す。なおドライブ名は、最後に認識した HDD の次のドライブ文字 (複数可。Z:まで合計 26 個)となる。

オプションで追加できるデバイス
デバイスの種類説明Linuxにおけるデバイス名
HDD の論理ドライブ 大容量 HDD の場合、その中を複数のパーティション (区画)に分けて、それぞれにドライブ名をつけることができる。 ちなみにディスク圧縮を設定する場合は、 この論理ドライブ単位で圧縮するかどうかを指定する。 /dev/hda1,
/dev/hda2,
‥‥
CD-ROM MSCDEX.EXE(Microsoft CD-ROM Extention)により、 ネットワークドライブとしてドライブ名を割り当てる。 /dev/cdrom(*1)
3 モードドライバ すでに割り当て済みの FDD を、 ドライバにより特殊な方法でアクセスする場合。 ただしメーカーによっては A: ドライブで自動認識を行っている場合もある。 (未サポート)
リムーバブルデバイス ZIP, MO など /dev/zipなど
ネットワークドライブ LAN 上の別のマシン上のディレクトリ。 NFS(Network File System)や Microsoft LanManager,Novell Netwareなどのドライバにより ドライブ名を割り当てる。 任意のディレクトリ名

(*1)/dev/cdrom は実際には /dev/hdc などの シンボリック・リンクになっている。 このリンクは OS のインストール時に自動的に張られることもある。

※一般的に、デバイスドライバを使用してドライブを追加する場合、 任意のドライブ文字(A〜Z)を使用することができるが、 F: 以降のドライブ文字を使用する場合は、 config.sys ファイルに LASTDRIVE=G (G:まで使用する場合) というエントリが必要になる。