WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

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Дополнительные опции загрузки

Также, сразу после команды можно поставить знак вопроса ('?', например 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 (и в прочих пакетных файлах) выполнять разные действия в зависимости от выбора конфигурации при загрузке.[15]

Примеры файла 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!

Интересные факты

Примечания

  1. KB93602: How to Disable F5 and F8 During Startup in MS-DOS (англ.). Microsoft (16 ноября 1999). Проверено 21 декабря 2008. Архивировано 21 января 2012 года.
  2. KB269524: Overview of Real Mode Removal from Windows Millennium Edition (англ.). Microsoft (27 января 2007). Проверено 21 декабря 2008. Архивировано 21 января 2012 года.
  3. KB274646: Understanding the Settings in the Windows Millennium Edition Config.sys File (англ.). Microsoft (27 января 2007). Проверено 7 июня 2009. Архивировано 20 февраля 2012 года.
  4. Reines [MFD]. Real DOS-Mode Patch for Windows ME v1.3 (англ.) (недоступная ссылка) (15 августа 2000). Проверено 21 декабря 2008. Архивировано 17 августа 2000 года.
  5. Appendix B. Other Application Environments (англ.). Библиотека TechNet. Microsoft. — Окружение для приложений Windows 3.x, MS-DOS и OS/2 в Windows NT. Проверено 7 июня 2009. Архивировано 21 января 2012 года.
  6. KB314106: Troubleshooting MS-DOS-based programs in Windows XP (англ.). Microsoft (28 июня 2005). Проверено 7 июня 2009. Архивировано 20 февраля 2012 года.
  7. KB121963: Requirements to Boot Previous Operating System (англ.). Microsoft (10 мая 2007). Проверено 7 июня 2009. Архивировано 21 января 2012 года.
  8. 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.
  9. 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». Проверено 7 июня 2009. Архивировано 21 января 2012 года.
  10. См. также: Bart’s free JO.SYS (англ.) (12 марта 2002, версия 1.4). — Альтернативный вариант JO.SYS. Проверено 7 июня 2009. Архивировано 21 января 2012 года.
  11. FreeDOS: System Files (англ.) (недоступная ссылка). Проверено 10 июля 2008. Архивировано 5 января 2006 года.
  12. Introduction to Caldera DR-DOS (англ.). Проверено 10 июля 2008. Архивировано 21 января 2012 года.
  13. Описание CONFIG.SYS в FreeDOS (англ.). Проверено 10 июля 2008. Архивировано 20 февраля 2012 года.
  14. KB232557: The Windows 98 Config.txt File (англ.). Microsoft (24 января 2007). — Копия файла CONFIG.TXT, поставляемого с Windows 98. Проверено 7 июня 2009. Архивировано 20 февраля 2012 года.
  15. 1 2 Batch Commands (англ.). Библиотека TechNet. Microsoft. Проверено 7 июня 2009. Архивировано 20 февраля 2012 года.
  16. Command-line reference A-Z (англ.). Библиотека TechNet. Microsoft (21 января 2005). — Команды подсистемы MS-DOS в составе Windows Server 2003. Проверено 7 июня 2009. Архивировано 20 февраля 2012 года.
  17. MS-DOS Undocumented commands (англ.). Проверено 28 июля 2008. Архивировано 20 февраля 2012 года.
  18. The Config.sys Documentation Project OS/2-eCS Commands (англ.). Проверено 29 июля 2008. Архивировано 20 февраля 2012 года.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии