CONFIG.SYS

CONFIG.SYS（コンフィグ シス）はMS-DOSやOS/2などのOSにおいて初期設定を行うファイルである。また、Windows NT系ではCONFIG.NTという同様のファイルが存在する。

CONFIGとはConfiguration（コンフィギュレーション。「構造」、コンピュータ用語では「設定」などと訳される）の略といわれる。

概要 
このファイルはOSが使用するメモリ領域を指定したり、拡張メモリ（8086系CPUのリアルモードにおいて読み書きできない範囲にあるメモリ領域の呼称）やCD-ROMなどのデバイスドライバを組み込んだりするために、OSの起動時に最初に読み込まれる設定ファイルである。なお Windowsでも下位層にMS-DOS部分を持つ9x系では起動初期の設定に用いられることがある。

CONFIG.SYSは起動ドライブのルートディレクトリに配置される。なお一部の互換DOS（MS-DOSとの互換性を保つように造られているもののマイクロソフト非公認のOSの呼称）においてはファイル名が異なる場合がある（DR-DOSの場合はDCONFIG.SYS、FreeDOSではFDCONFIG.SYS）。

構文 
基本的に CONFIG.SYS は先頭から順に解釈されるが、一部のコマンド（命令文）は任意の行に置くことができる。
DEVICE=(デバイスドライバのパス、パラメータ) - コンベンショナルメモリにデバイスドライバを組み込む。
BUFFERS=(数値) - ディスクアクセス（読み書き）のためのバッファ領域数。
FILES=(数値) - ファイルハンドル（OSを通して開くファイルに付与される識別番号）の最大数。つまり同時に開くことのできるファイルの最大数。
FCBS=(数値) - FCB（ファイルコントロールブロック、MS-DOSバージョン2.0以前で使われていたファイル管理方法）で同時に開くことのできるファイルの最大数。
SHELL=(シェルのパス、パラメータ) - シェルプログラムの指定。省略すると "\COMMAND.COM" が仮定される。
LASTDRIVE=(A-Z) - 最後に使用するドライブ識別文字。省略すると "P" が仮定される。

DOS/Vのみ
COUNTRY=(国番号),(コードページ),(country.sysのパス) - コードページの指定

MS-DOSバージョン5.0以降
DEVICEHIGH=(デバイスドライバのパス、パラメータ) - UMBにデバイスドライバを組み込む（UMBが使用不可、または入りきらない場合はコンベンショナルメモリに組み込む）。
DOS=(HIGH/LOW),(UMB|NOUMB) - MS-DOSのシステム本体をHMAに組み込むか否かの選択（HIGHでHMAに組み込む）と、UMBを使用可にするか使用不可にするかの選択（"UMB"で有効、"NOUMB"で無効）。省略するとLOW, NOUMBが仮定される。

MS-DOSバージョン 6.2 以降
INSTALL=(常駐コマンドのパス、パラメータ) - デバイスドライバ以外の常駐プログラムを実行する。
SET (変数名)=(文字列) - 環境変数を設定する。
BREAK (ON/OFF) - CTRL+C（STOP または BREAK）割り込みの有効／無効指定。
行頭の REM または ";" - 注釈文の行とみなされ、OSでは読み飛ばされる。
行頭の "?" - コマンド実行前に都度確認する。

CONFIG.SYSの例

イギリスで稼働しているPC/AT互換機における例 
 device = c:\dos\himem.sys
 device = c:\dos\emm386.exe umb
 dos = high,umb
 devicehigh = c:\windows\mouse.sys
 devicehigh = c:\dos\setver.exe
 devicehigh = c:\dos\smartdrv.exe
 country = 044,437,c:\dos\country.sys 
 shell = c:\dos\command.com c:\dos /e:512 /p
この例の各行の記述は以下の通り。
コンベンショナルメモリ上でhimem.sysを実行する。これによりXMS方式による拡張メモリへのアクセスが可能になる。
コンベンショナルメモリ上でemm386.exeを実行する。EMS方式によるメモリアクセスの他、UMBも使用可能になる。
なお、この行におけるemm386.exeの引数には、このほかに "ram"（EMS使用）や "noems"（UMBのみ）などが存在する。
MS-DOS 本体をHMAに組み込み、UMBを使用可能にする。
UMB 上でmouse.sysを実行する。
UMB 上でsetver.exeを実行する。
UMB 上でsmartdrv.exeを実行する。
地域をイギリス、コードページを437(英語)にする。
シェルとしてCOMMAND.COMを使用する。この際に常駐部分を完全に常駐させる(EXITコマンドで終了しない)とともに、環境変数領域を512バイト確保する。

日本で稼働しているNEC PC-9800シリーズにおける例（バージョン5.0以上の場合） 
PC-9800シリーズでは、コンソール画面において日本語表示に標準対応しているため、DOS/Vで日本語キーボードや日本語表示を利用する際に必要となる各種ドライバ類は不要である。また同機種は日本での利用を前提としているため（日本国外では動作保証されない）、国番号などの指定も省略する。
DEVICE=A:\DOS\HIMEM.SYS
DEVICE=A:\DOS\EMM386.EXE /UMB
DEVICEHIGH=A:\DOS\NECCD.SYS /D:CD_101
SHELL=A:\COMMAND.COM /P /E:2000
LASTDRIVE=Q
DOS=HIGH,UMB

コンベンショナルメモリ上でHIMEM.SYSを実行し、XMS方式による拡張メモリの利用を可能にする。
コンベンショナルメモリ上でEMM386.EXEを実行し、EMS方式によるメモリアクセスおよびUMBを使用可能にする。
UMBにNECCD.SYS（CD-ROM ドライブを使用可能にするデバイスドライバ）を読み込み、そのドライブの内部名を"CD_101"にする。
シェルコマンドにA:\COMMAND.COMを使用し、環境変数領域を2000バイト確保する。
ドライブQ:までを使用可能にする。
MS-DOS本体でHMAおよびUMBを利用する。

外部リンク 
Microsoftサポート技術情報
W98:README：MS-DOS CONFIG.SYS コマンド
Maximum Line Length and Count for Batch Files & CONFIG.SYS
[DOS]基本的な CONFIG.SYS と AUTOEXEC.BAT ファイルの例

関連項目 
MS-DOS
MSDOS.SYS
AUTOEXEC.BAT

MS-DOS・Windows 3.x・9x系
OS/2
オペレーティングシステムの仕組み