- CONFIG.SYS
-
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.nt
В операционных системах семейства Windows NT файл CONFIG.SYS не используется, а при старте DOS-сессий (для запуска в режиме эмуляции приложений, написанных для DOS) вместо него используется файл config.nt. Этот файл должен быть расположен в %systemroot%\System32, и его синтаксис похож на синтаксис CONFIG.SYS.[6]
Двойная загрузка DOS и Windows 9x
При установке Windows 9x поверх уже установленной DOS или Windows файл CONFIG.SYS (так же, как AUTOEXEC.BAT и системные исполнимые файлы IO.SYS, MSDOS.SYS и COMMAND.COM) переименовывается в CONFIG.DOS.[7] Это делается с целью облегчения двойной загрузки между Windows 9x и DOS: при загрузке в предыдущую версию системы (через выбор соответствующего пункта из стартового меню Windows, вызываемого клавишей F8 , или через нажатие клавиши F4 при старте системы), этот файл временно, до следующей перезагрузки, переименовывается обратно, а файл CONFIG.SYS, созданный для Windows 9x, переименовывается в CONFIG.W40.[8] (При этом файл IO.SYS в Windows 95 переименовывается в WINBOOT.SYS, а в Windows 98/ME — в JO.SYS).[8][9][10]
CONFIG.SYS в клонах DOS
Клоны DOS кроме файла CONFIG.SYS могут использовать файлы и c другими именами, что облегчает сосуществование разных версий DOS на одном диске. Например, в свободной операционной системе FreeDOS CONFIG.SYS ищется только если не найден файл FDCONFIG.SYS[11], а в некоторых версиях DR-DOS ищется файл DCONFIG.SYS[12].
Необходимо отметить, что синтаксис CONFIG.SYS в FreeDOS отличается от синтаксиса в MS-DOS — а именно, в FreeDOS иной синтаксис для организации меню загрузки.[13]
Синтаксис
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
Дополнительные опции загрузки Также, сразу после команды можно поставить знак вопроса ('?') — в этом случае перед исполнением директивы запрашивается подтверждение исполнения.
Некоторые устаревшие или недокументированные команды:[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 или Windowsreipl
Автоматическая перезагрузка после системного сбоя 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 (и в прочих пакетных файлах) выполнять разные действия в зависимости от выбора конфигурации при загрузке.[15]
Примеры файла CONFIG.SYS
numlock = off break = on dos = high,umb country = 7,,c:\dos\country.sys fileshigh = 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!
Интересные факты
- Среди всех файлов с расширением .sys, поставляемых с MS-DOS, CONFIG.SYS — единственный текстовый файл, доступный для модификации пользователями.
Примечания
- ↑ KB93602: How to Disable F5 and F8 During Startup in MS-DOS (англ.). Microsoft (16 ноября 1999). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB269524: Overview of Real Mode Removal from Windows Millennium Edition (англ.). Microsoft (27 января 2007). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB274646: Understanding the Settings in the Windows Millennium Edition Config.sys File (англ.). Microsoft (27 января 2007). Архивировано из первоисточника 20 февраля 2012. Проверено 7 июня 2009.
- ↑ Reines [MFD]. Real DOS-Mode Patch for Windows ME v1.3 (англ.) (15 августа 2000).(недоступная ссылка — история) Проверено 21 декабря 2008.
- ↑ Appendix B. Other Application Environments (англ.). Библиотека TechNet. Microsoft. — Окружение для приложений Windows 3.x, MS-DOS и OS/2 в Windows NT. Архивировано из первоисточника 21 января 2012. Проверено 7 июня 2009.
- ↑ KB314106: Troubleshooting MS-DOS-based programs in Windows XP (англ.). Microsoft (28 июня 2005). Архивировано из первоисточника 20 февраля 2012. Проверено 7 июня 2009.
- ↑ KB121963: Requirements to Boot Previous Operating System (англ.). Microsoft (10 мая 2007). Архивировано из первоисточника 21 января 2012. Проверено 7 июня 2009.
- ↑ 1 2 MDGx / AXCEL216. The renaming game (англ.). Windows 95/98/NT4/2000/ME/XP/2003 + DOS 7.xx/8.00 Tricks + Secrets Files. Проверено 7 июня 2009.
- ↑ KB187641: Err Msg: The Following File Is Missing or Corrupt… (англ.). Microsoft (23 января 2007). — «The Jo.sys file is used by Windows 98 and Windows Me in a dual-boot environment with MS-DOS» Архивировано из первоисточника 21 января 2012. Проверено 7 июня 2009.
- ↑ См. также: Bart’s free JO.SYS (англ.) (12 марта 2002, версия 1.4). — Альтернативный вариант JO.SYS. Архивировано из первоисточника 21 января 2012. Проверено 7 июня 2009.
- ↑ FreeDOS: System Files (англ.).(недоступная ссылка — история) Проверено 10 июля 2008.
- ↑ Introduction to Caldera DR-DOS (англ.). Архивировано из первоисточника 21 января 2012. Проверено 10 июля 2008.
- ↑ Описание CONFIG.SYS в FreeDOS (англ.). Архивировано из первоисточника 20 февраля 2012. Проверено 10 июля 2008.
- ↑ KB232557: The Windows 98 Config.txt File (англ.). Microsoft (24 января 2007). — Копия файла CONFIG.TXT, поставляемого с Windows 98. Архивировано из первоисточника 20 февраля 2012. Проверено 7 июня 2009.
- ↑ 1 2 Batch Commands (англ.). Библиотека TechNet. Microsoft. Архивировано из первоисточника 20 февраля 2012. Проверено 7 июня 2009.
- ↑ Command-line reference A-Z (англ.). Библиотека TechNet. Microsoft (21 января 2005). — Команды подсистемы MS-DOS в составе Windows Server 2003. Архивировано из первоисточника 20 февраля 2012. Проверено 7 июня 2009.
- ↑ MS-DOS Undocumented commands (англ.). Архивировано из первоисточника 20 февраля 2012. Проверено 28 июля 2008.
- ↑ The Config.sys Documentation Project OS/2-eCS Commands (англ.). Архивировано из первоисточника 20 февраля 2012. Проверено 29 июля 2008.
Категории:- DOS
- Компоненты Windows
- Файлы конфигурации
Wikimedia Foundation. 2010.