CONFIG.SYS — различия между версиями

Материал из Old-DOS Wiki
Перейти к: навигация, поиск
 
Строка 21: Строка 21:
 
; Строка с комментарием
 
; Строка с комментарием
 
break Задаёт поведение системы при нажатии комбинации Ctrl+C во время работы программ
 
break Задаёт поведение системы при нажатии комбинации Ctrl+C во время работы программ
 +
 
buffers Резервирует место под указанное количество дисковых буферов
 
buffers Резервирует место под указанное количество дисковых буферов
 +
 
country Задаёт региональные настройки (формат даты и времени, наименование валюты, порядок сортировки и т. п.)
 
country Задаёт региональные настройки (формат даты и времени, наименование валюты, порядок сортировки и т. п.)
 +
 
device Загружает драйвер
 
device Загружает драйвер
 +
 
devicehigh Загружает драйвер в UMB
 
devicehigh Загружает драйвер в UMB
 +
 
dos Параметры загрузки DOS (к примеру, перенос части ядра в HMA)
 
dos Параметры загрузки DOS (к примеру, перенос части ядра в HMA)
 +
 
fcbs Сколько одновременно можно открывать FCB
 
fcbs Сколько одновременно можно открывать FCB
 +
 
files Сколько одновременно можно открывать файлов
 
files Сколько одновременно можно открывать файлов
 +
 
install Загружает резидентную программу (обычный исполнимый модуль не в формате драйвера)
 
install Загружает резидентную программу (обычный исполнимый модуль не в формате драйвера)
 +
 
installhigh Загружает резидентную программу в UMB
 
installhigh Загружает резидентную программу в UMB
 +
 
lastdrive Задаёт последнюю букву, доступную для назначения дискам
 
lastdrive Задаёт последнюю букву, доступную для назначения дискам
numlock Задаёт состояние переключателя Num Lock
+
 
 +
numlock Задаёт состояние переключателя Num  
 +
 
 +
Lock
 +
 
 
rem Строка с комментарием
 
rem Строка с комментарием
 +
 
set Устанавливает значение переменной окружения
 
set Устанавливает значение переменной окружения
 +
 
shell Указывает интерпретатор командной строки, отличный от command.com, и/или его опции
 
shell Указывает интерпретатор командной строки, отличный от command.com, и/или его опции
 +
 
stacks Резервирует место для стеков обработки аппаратных прерываний
 
stacks Резервирует место для стеков обработки аппаратных прерываний
 +
 
switches Дополнительные опции загрузки
 
switches Дополнительные опции загрузки
 
Также, сразу после команды можно поставить знак вопроса ('?', например dos?=high) — в этом случае перед исполнением директивы запрашивается подтверждение исполнения.
 
Также, сразу после команды можно поставить знак вопроса ('?', например dos?=high) — в этом случае перед исполнением директивы запрашивается подтверждение исполнения.
Строка 42: Строка 60:
  
 
Команда Описание
 
Команда Описание
 +
 
availdev (MS-DOS 2.х) availdev=false делает имена драйверов (CON, LPT1 и т. п.) доступными только в стиле Unix через несуществующий каталог \dev (например, \dev\com1)
 
availdev (MS-DOS 2.х) availdev=false делает имена драйверов (CON, LPT1 и т. п.) доступными только в стиле Unix через несуществующий каталог \dev (например, \dev\com1)
 +
 
cpsw (MS-DOS 4.x) cpsw=off отключает переключение кодовых страниц
 
cpsw (MS-DOS 4.x) cpsw=off отключает переключение кодовых страниц
 +
 
ifs (MS-DOS 4.x) загружает драйвер файловой системы
 
ifs (MS-DOS 4.x) загружает драйвер файловой системы
multitrack (MS-DOS 4.0 и выше) multitrack=off отключает многодорожечное чтение — введено для решения проблем совместимости с нестандартными контроллерами дисков и дискет
+
 
 +
multitrack (MS-DOS 4.0 и выше)  
 +
 
 +
multitrack=off отключает многодорожечное чтение — введено для решения проблем совместимости с нестандартными контроллерами дисков и дискет
 +
 
 
switchar (MS-DOS 2.х) задаёт знак-префикс, отличный от /, для указания опций в командных строках — предполагалось использовать для уменьшения конфликта с путями, указанными в стиле Unix, где каталоги разделяются знаком /, а не \
 
switchar (MS-DOS 2.х) задаёт знак-префикс, отличный от /, для указания опций в командных строках — предполагалось использовать для уменьшения конфликта с путями, указанными в стиле Unix, где каталоги разделяются знаком /, а не \
 
Некоторые команды, специфичные только для OS/2:[18]
 
Некоторые команды, специфичные только для OS/2:[18]
  
 
Команда Описание
 
Команда Описание
 +
 
autofail Подавляет вывод сообщений об аппаратных ошибках
 
autofail Подавляет вывод сообщений об аппаратных ошибках
 +
 
basedev Загружает базовые драйверы устройств
 
basedev Загружает базовые драйверы устройств
 
cache Управляет кешированием файловой системы HPFS
 
cache Управляет кешированием файловой системы HPFS
 +
 
dllbasing Улучшает использование виртуальной памяти
 
dllbasing Улучшает использование виртуальной памяти
 +
 
dumpprocess Активизирует сброс дампа
 
dumpprocess Активизирует сброс дампа
 +
 
iopl Управляет доступом к кольцам защиты
 
iopl Управляет доступом к кольцам защиты
 +
 
libpath Управляет поиском динамических библиотек (DLL)
 
libpath Управляет поиском динамических библиотек (DLL)
 +
 
maxwait Пауза перед отданием задаче высшего приоритета
 
maxwait Пауза перед отданием задаче высшего приоритета
 +
 
memman Управляет свопингом
 
memman Управляет свопингом
 +
 
priority Управляет приоритетом подзадач
 
priority Управляет приоритетом подзадач
protectonly При установке в yes запрещает выполнение приложений DOS или Windows
+
 
 +
protectonly При установке в yes запрещает выполнение приложений DOS или  
 +
 
 +
Windows
 +
 
 
reipl Автоматическая перезагрузка после системного сбоя
 
reipl Автоматическая перезагрузка после системного сбоя
rmsize Задаёт доступную память для сеанса DOS
+
 
 +
rmsize Задаёт доступную память для сеанса  
 +
 
 +
DOS
 +
 
 
threads Задаёт число подзадач
 
threads Задаёт число подзадач
 +
 
vme Отключает расширения виртуального режима процессора 486DX2
 
vme Отключает расширения виртуального режима процессора 486DX2
 
Несколько конфигураций и меню
 
Несколько конфигураций и меню
Строка 69: Строка 112:
  
 
Команда Описание
 
Команда Описание
 +
 
include Включает в обработку секцию содержимое другой секции
 
include Включает в обработку секцию содержимое другой секции
 +
 
menucolor Задаёт цвет меню
 
menucolor Задаёт цвет меню
 +
 
menudefault Задаёт пункт меню по умолчанию
 
menudefault Задаёт пункт меню по умолчанию
 +
 
menuitem Описывает пункт меню
 
menuitem Описывает пункт меню
 +
 
submenu Описывает пункт подменю
 
submenu Описывает пункт подменю
 
При выборе пункта меню имя секции, указанное в этом пункте, сохраняется в переменной окружения CONFIG. Это позволяет с помощью команд goto %CONFIG% и if "%CONFIG%"== в AUTOEXEC.BAT (и в прочих пакетных файлах) выполнять разные действия в зависимости от выбора конфигурации при загрузке.
 
При выборе пункта меню имя секции, указанное в этом пункте, сохраняется в переменной окружения CONFIG. Это позволяет с помощью команд goto %CONFIG% и if "%CONFIG%"== в AUTOEXEC.BAT (и в прочих пакетных файлах) выполнять разные действия в зависимости от выбора конфигурации при загрузке.

Текущая версия на 00:47, 13 января 2021

CONFIG.SYS — файл конфигурирования операционных систем семейств DOS, Windows 9x и OS/2. Это текстовый файл, содержащий директивы настройки системы и команды загрузки драйверов, он должен располагаться в корневом каталоге загрузочного устройства (англ. Boot disk) (дискеты или диска).

Под DOS директивы в этом файле задают некоторые аппаратные (такие, как состояние индикатора Num Lock) и системные параметры (например, количество и вложенность стеков для обработки аппаратных прерываний, количество дисковых буферов и т. п.), а также загружают драйверы для управления дополнительной и расширенной памятью (HIMEM.SYS, EMM386.EXE), экраном (ANSI.SYS, DISPLAY.SYS), дисководом CD-ROM и т. п.


Под DOS CONFIG.SYS обрабатывается ядром системы IO.SYS. После обработки CONFIG.SYS загружается файл MSDOS.SYS и указанный директивой shell= в CONFIG.SYS интерпретатор командной строки или, в случае отсутствия этой директивы, COMMAND.COM. Уже командный интерпретатор отвечает за исполнение файла AUTOEXEC.BAT.

Это происходит во всех версиях DOS вплоть до MS-DOS 7.x (на которой основаны Windows 95 и Windows 98). Также, начиная с MS-DOS 6.0 появилась возможность пропустить обработку CONFIG.SYS с помощью функциональных клавиш F5 и F8, но эту возможность можно запретить с помощью директивы switches= в этом же файле.[1] В предыдущих версиях MS-DOS (до версии 6.0) не существовало возможности обойти обработку CONFIG.SYS при загрузке, в результате ошибка в написании (например, указание обычного исполнимого файла вместо драйвера) могла приводить к фатальным сбоям и невозможности загрузиться и для восстановления требовалась загрузка со сменного носителя (дискеты).

В Windows ME, основанной на MS-DOS 8.0, через этот файл уже нельзя загружать драйверы[2][3], однако известны способы обхода этого ограничения[4].

В операционных системах семейства Windows NT файл CONFIG.SYS не используется.[5]

В операционных системах семейства OS/2 файл CONFIG.SYS используется на различных стадиях загрузки загрузчиком ядра OS2LDR, ядром OS2KRNL, а также рядом других компонент системы, в зависимости от текущей настройки системы.

Синтаксис:

CONFIG.SYS имеет свой специальный синтаксис.[14][15][16] В основном, он состоит из директив вида команда=значение (или то же самое, но без знака равенства — например, numlock off). Список некоторых часто используемых команд CONFIG.SYS:

Команда Описание

Строка с комментарием

break Задаёт поведение системы при нажатии комбинации Ctrl+C во время работы программ

buffers Резервирует место под указанное количество дисковых буферов

country Задаёт региональные настройки (формат даты и времени, наименование валюты, порядок сортировки и т. п.)

device Загружает драйвер

devicehigh Загружает драйвер в UMB

dos Параметры загрузки DOS (к примеру, перенос части ядра в HMA)

fcbs Сколько одновременно можно открывать FCB

files Сколько одновременно можно открывать файлов

install Загружает резидентную программу (обычный исполнимый модуль не в формате драйвера)

installhigh Загружает резидентную программу в UMB

lastdrive Задаёт последнюю букву, доступную для назначения дискам

numlock Задаёт состояние переключателя Num

Lock

rem Строка с комментарием

set Устанавливает значение переменной окружения

shell Указывает интерпретатор командной строки, отличный от command.com, и/или его опции

stacks Резервирует место для стеков обработки аппаратных прерываний

switches Дополнительные опции загрузки Также, сразу после команды можно поставить знак вопроса ('?', например dos?=high) — в этом случае перед исполнением директивы запрашивается подтверждение исполнения.

Некоторые устаревшие или недокументированные команды:[17]

Команда Описание

availdev (MS-DOS 2.х) availdev=false делает имена драйверов (CON, LPT1 и т. п.) доступными только в стиле Unix через несуществующий каталог \dev (например, \dev\com1)

cpsw (MS-DOS 4.x) cpsw=off отключает переключение кодовых страниц

ifs (MS-DOS 4.x) загружает драйвер файловой системы

multitrack (MS-DOS 4.0 и выше)

multitrack=off отключает многодорожечное чтение — введено для решения проблем совместимости с нестандартными контроллерами дисков и дискет

switchar (MS-DOS 2.х) задаёт знак-префикс, отличный от /, для указания опций в командных строках — предполагалось использовать для уменьшения конфликта с путями, указанными в стиле Unix, где каталоги разделяются знаком /, а не \ Некоторые команды, специфичные только для OS/2:[18]

Команда Описание

autofail Подавляет вывод сообщений об аппаратных ошибках

basedev Загружает базовые драйверы устройств cache Управляет кешированием файловой системы HPFS

dllbasing Улучшает использование виртуальной памяти

dumpprocess Активизирует сброс дампа

iopl Управляет доступом к кольцам защиты

libpath Управляет поиском динамических библиотек (DLL)

maxwait Пауза перед отданием задаче высшего приоритета

memman Управляет свопингом

priority Управляет приоритетом подзадач

protectonly При установке в yes запрещает выполнение приложений DOS или

Windows

reipl Автоматическая перезагрузка после системного сбоя

rmsize Задаёт доступную память для сеанса

DOS

threads Задаёт число подзадач

vme Отключает расширения виртуального режима процессора 486DX2 Несколько конфигураций и меню Начиная с MS-DOS 6.0 появилась возможность в CONFIG.SYS группировать директивы в секции и описывать меню. Секции позволяют задать несколько конфигураций, а меню позволяет выбрать одну из них при загрузке системы. Секция начинается с имени секции в квадратных скобках [<имя секции>] и заканчивается с началом следующей секции (или с концом файла). При этом секция [menu] используется для описания меню, а секция [common] обрабатывается перед обработкой любой выбранной в меню конфигурации. Для задания меню в CONFIG.SYS были добавлены следующие команды:

Команда Описание

include Включает в обработку секцию содержимое другой секции

menucolor Задаёт цвет меню

menudefault Задаёт пункт меню по умолчанию

menuitem Описывает пункт меню

submenu Описывает пункт подменю При выборе пункта меню имя секции, указанное в этом пункте, сохраняется в переменной окружения CONFIG. Это позволяет с помощью команд goto %CONFIG% и if "%CONFIG%"== в AUTOEXEC.BAT (и в прочих пакетных файлах) выполнять разные действия в зависимости от выбора конфигурации при загрузке.