Interested Article - CONFIG.SYS
- 2020-12-10
- 1
CONFIG.SYS — файл конфигурирования операционных систем семейств DOS , Windows 9x и OS/2 . Это текстовый файл , содержащий директивы настройки системы и команды загрузки драйверов , он должен располагаться в корневом каталоге ( англ. ) ( дискеты или диска ).
Под DOS директивы в этом файле задают некоторые аппаратные (такие, как состояние индикатора Num Lock ) и системные параметры (например, количество и вложенность стеков для обработки аппаратных прерываний , количество дисковых буферов и т. п.), а также загружают драйверы для управления дополнительной и расширенной памятью ( HIMEM.SYS ,), экраном (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=
в этом же файле
. В предыдущих версиях MS-DOS (до версии 6.0) не существовало возможности обойти обработку
CONFIG.SYS
при загрузке, в результате ошибка в написании (например, указание обычного исполнимого файла вместо драйвера) могла приводить к фатальным сбоям и невозможности загрузиться и для восстановления требовалась загрузка со сменного носителя (дискеты).
В Windows ME , основанной на MS-DOS 8.0, через этот файл уже нельзя загружать драйверы , однако известны способы обхода этого ограничения .
В операционных системах семейства Windows NT файл CONFIG.SYS не используется .
В операционных системах семейства OS/2 файл CONFIG.SYS используется на различных стадиях загрузки загрузчиком ядра OS2LDR, ядром OS2KRNL, а также рядом других компонент системы, в зависимости от текущей настройки системы.
Файл config.nt
В операционных системах семейства Windows NT файл CONFIG.SYS не используется, а при старте DOS-сессий (для запуска в режиме эмуляции приложений, написанных для DOS ) вместо него используется файл config.nt . Этот файл должен быть расположен в %systemroot%\System32 , и его синтаксис похож на синтаксис CONFIG.SYS .
Двойная загрузка DOS и Windows 9x
При установке Windows 9x поверх уже установленной DOS или Windows файл CONFIG.SYS (так же, как AUTOEXEC.BAT и системные исполняемые файлы IO.SYS , MSDOS.SYS и COMMAND.COM ) переименовывается в CONFIG.DOS . Это делается с целью облегчения двойной загрузки между Windows 9x и DOS: при загрузке в предыдущую версию системы (через выбор соответствующего пункта из стартового меню Windows, вызываемого клавишей F8 , или через нажатие клавиши F4 при старте системы), этот файл временно, до следующей перезагрузки, переименовывается обратно, а файл CONFIG.SYS, созданный для Windows 9x, переименовывается в CONFIG.W40 . (При этом файл IO.SYS в Windows 95 переименовывается в WINBOOT.SYS, а в Windows 98 / ME — в JO.SYS) .
CONFIG.SYS в клонах DOS
Клоны DOS кроме файла CONFIG.SYS могут использовать файлы и c другими именами, что облегчает сосуществование разных версий DOS на одном диске. Например, в свободной операционной системе FreeDOS CONFIG.SYS ищется только если не найден файл FDCONFIG.SYS , а в некоторых версиях DR-DOS ищется файл DCONFIG.SYS .
Синтаксис CONFIG.SYS в FreeDOS отличается от синтаксиса в MS-DOS — а именно, в FreeDOS иной синтаксис для организации меню загрузки .
Синтаксис
CONFIG.SYS имеет свой специальный синтаксис
. В основном, он состоит из директив вида
команда=значение
(или то же самое, но без знака равенства — например,
numlock off
). Список некоторых часто используемых команд CONFIG.SYS:
Команда | Описание |
---|---|
;
|
Строка с комментарием |
break
|
Задаёт поведение системы при нажатии комбинации Ctrl + C во время работы программ |
buffers
|
Резервирует место под указанное количество дисковых буферов |
country
|
Задаёт региональные настройки (формат даты и времени, наименование валюты, порядок сортировки и т. п.) |
device
|
Загружает драйвер |
devicehigh
|
Загружает драйвер в UMB |
dos
|
Параметры загрузки DOS (к примеру, перенос части ядра в HMA ) |
fcbs
|
Сколько одновременно можно открывать |
files
|
Сколько одновременно можно открывать файлов |
install
|
Загружает резидентную программу (обычный исполнимый модуль не в формате драйвера) |
installhigh
|
Загружает резидентную программу в UMB |
lastdrive
|
Задаёт последнюю букву, доступную для назначения дискам |
numlock
|
Задаёт состояние переключателя Num Lock |
rem
|
Строка с комментарием |
set
|
Устанавливает значение переменной окружения |
shell
|
Указывает интерпретатор командной строки, отличный от command.com, и/или его опции |
stacks
|
Резервирует место для стеков обработки аппаратных прерываний |
switches
|
Дополнительные опции загрузки |
Также, сразу после команды можно поставить знак вопроса ('?', например dos?=high) — в этом случае перед исполнением директивы запрашивается подтверждение исполнения.
Некоторые устаревшие или недокументированные команды :
Команда | Описание |
---|---|
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 :
Команда | Описание |
---|---|
autofail
|
Подавляет вывод сообщений об аппаратных ошибках |
basedev
|
Загружает базовые драйверы устройств |
cache
|
Управляет кешированием файловой системы HPFS |
dllbasing
|
Улучшает использование виртуальной памяти |
dumpprocess
|
Активизирует сброс дампа |
iopl
|
Управляет доступом к кольцам защиты |
libpath
|
Управляет поиском динамических библиотек (DLL) |
maxwait
|
Пауза перед отданием задаче высшего приоритета |
memman
|
Управляет свопингом |
priority
|
Управляет приоритетом подзадач |
protectonly
|
При установке в
yes
запрещает выполнение приложений DOS или Windows
|
reipl
|
Автоматическая перезагрузка после системного сбоя |
rmsize
|
Задаёт доступную память для сеанса DOS |
threads
|
Задаёт число подзадач |
vme
|
Отключает расширения виртуального режима процессора |
Несколько конфигураций и меню
Начиная с MS-DOS 6.0 появилась возможность в CONFIG.SYS группировать директивы в секции и описывать меню. Секции позволяют задать несколько конфигураций, а меню позволяет выбрать одну из них при загрузке системы. Секция начинается с имени секции в квадратных скобках
[<имя секции>]
и заканчивается с началом следующей секции (или с концом файла). При этом секция
[menu]
используется для описания меню, а секция
[common]
обрабатывается перед обработкой любой выбранной в меню конфигурации. Для задания меню в CONFIG.SYS были добавлены следующие команды:
Команда | Описание |
---|---|
include
|
Включает в обработку секцию содержимое другой секции |
menucolor
|
Задаёт цвет меню |
menudefault
|
Задаёт пункт меню по умолчанию |
menuitem
|
Описывает пункт меню |
submenu
|
Описывает пункт подменю |
При выборе пункта меню имя секции, указанное в этом пункте, сохраняется в переменной окружения CONFIG . Это позволяет с помощью команд goto %CONFIG% и if "%CONFIG%"== в AUTOEXEC.BAT (и в прочих пакетных файлах) выполнять разные действия в зависимости от выбора конфигурации при загрузке .
Примеры файла CONFIG.SYS
numlock = off break = on dos = high,umb country = 7,,c:\dos\country.sys files = 40 device = c:\dos\himem.sys device = c:\dos\emm386.exe ram i=b000-b7ff shell = command.com /p /e:512
Пример CONFIG.SYS с меню:
[menu] menuitem=WIN, Windows menuitem=XMS, DOS with only Extended Memory menudefault=WIN, 10 [common] dos=high,umb country=7,,c:\dos\country.sys device=c:\dos\himem.sys shell=command.com /e:512 /p [WIN] device=c:\dos\emm386.exe ram devicehigh=c:\windows\mouse.sys devicehigh=c:\dos\setver.exe [XMS] device=c:\dos\emm386.exe noems
Пример CONFIG.SYS с меню в стиле FreeDOS:
screen=0x12 MENU Please Select Configuration: MENU MENU Option 0 basic stuff only MENU Option 1 CD-ROM MENU Option 2 TROUSERS MENU Option 3 CD-ROM and TROUSERS device=c:\dos\himem.exe device=c:\dos\emm386.exe dos=high,umb country=7,,c:\dos\country.sys shell=c:\dos\command.com /p /e:512 /p 13? DEVICE=CDROM.SYS /D:CDDRIVE1 23? DEVICE=TROUSERS.SYS 0? ECHO Warning: basic stuff only!
Примечания
- (англ.) . Microsoft (16 ноября 1999). Дата обращения: 21 декабря 2008. Архивировано из 21 января 2012 года.
- (англ.) . Microsoft (27 января 2007). Дата обращения: 21 декабря 2008. Архивировано из 21 января 2012 года.
- (англ.) . Microsoft (27 января 2007). Дата обращения: 7 июня 2009. Архивировано из 20 февраля 2012 года.
- Reines [MFD]. (англ.) (15 августа 2000). Дата обращения: 21 декабря 2008. 17 августа 2000 года.
- (англ.) . Библиотека TechNet . Microsoft. — Окружение для приложений Windows 3.x, MS-DOS и OS/2 в Windows NT . Дата обращения: 7 июня 2009. Архивировано из 21 января 2012 года.
- (англ.) . Microsoft (28 июня 2005). Дата обращения: 7 июня 2009. Архивировано из 20 февраля 2012 года.
- (англ.) . Microsoft (10 мая 2007). Дата обращения: 7 июня 2009. Архивировано из 21 января 2012 года.
- ↑ MDGx / AXCEL216. (англ.) . Windows 95/98/NT4/2000/ME/XP/2003 + DOS 7.xx/8.00 Tricks + Secrets Files . Дата обращения: 7 июня 2009. 17 мая 2008 года.
- (англ.) . Microsoft (23 января 2007). — «The Jo.sys file is used by Windows 98 and Windows Me in a dual-boot environment with MS-DOS» . Дата обращения: 7 июня 2009. Архивировано из 21 января 2012 года.
- См. также: (англ.) (12 марта 2002). — Альтернативный вариант JO.SYS . Дата обращения: 7 июня 2009. Архивировано из 21 января 2012 года.
- (англ.) . Дата обращения: 10 июля 2008. 5 января 2006 года.
- (англ.) . Дата обращения: 10 июля 2008. Архивировано из 21 января 2012 года.
- (англ.) . Дата обращения: 10 июля 2008. Архивировано из 20 февраля 2012 года.
- (англ.) . Microsoft (24 января 2007). — Копия файла CONFIG.TXT, поставляемого с Windows 98 . Дата обращения: 7 июня 2009. Архивировано из 20 февраля 2012 года.
- ↑ (англ.) . Библиотека TechNet . Microsoft. Дата обращения: 7 июня 2009. Архивировано из 20 февраля 2012 года.
- (англ.) . Библиотека TechNet . Microsoft (21 января 2005). — Команды подсистемы MS-DOS в составе Windows Server 2003 . Дата обращения: 7 июня 2009. Архивировано из 20 февраля 2012 года.
- (англ.) . Дата обращения: 28 июля 2008. Архивировано из 20 февраля 2012 года.
- (англ.) . Дата обращения: 29 июля 2008. Архивировано из 20 февраля 2012 года.
Литература
- В.Э.Фигурнов. Часть 3. Основы работы в среде MS DOS // IBM PC для пользователя. — М. : Инфра-М, 1999. — ISBN 5-86225-471-4 .
- 2020-12-10
- 1