Загрузка DOS может понадобиться во многих случаях. Это и прошивка BIOS материнской платы, запуск утилит диагностики и восстановления жестких дисков MHDD и Victoria, старые досовские игры и еще какие-нибудь интересные задачи.
У DOS есть важное преимущество перед другими ОС. Это в первую очередь прямое обращение к аппаратуре и умение работать с дисками на физическом уровне. Поэтому под DOS написано такое большое количество низкоуровневых программ.
Мы будем использовать свободную и открытую версию DOS, называемую
FreeDOS. Она до сих пор поддерживается в актуальном состоянии и
полностью совместима с оригинальной MS-DOS. К тому же у нее есть ряд
усовершенствований, например, ядро сразу имеет доступ к файловой системе
FAT32 и поддерживает диски большого объема (LBA). Этим так же может
похвастаться версия ms dos 7.1 из загрузочного диска windows 98.
Приступим к созданию собственного загрузочного диска. Скачаем ISO-образ последней версии FreeDOS с официального сайта. Внутри него, в папке ISOLINUX есть образ загрузочной дискеты FDBOOT.IMG, с которым мы и будем работать. Внутри этого образа мы оставим только самое необходимое и по мере надобности будем добавлять туда то, что потребуется.
Препарировать img-образы под Windows удобней всего в программе Winimage.
Итак, для минимальной загрузки FreeDOS необходимо только два файла, ядро
KERNEL.SYS и интерпретатор команд command.com. Поэтому открываем образ
FDBOOT.IMG и удаляем все, кроме двух этих фалов.
Дальше мы создадим два текстовые файла: fdconfig.sys - конфигурационный
файл операционной системы и autoexec.bat. - файл автозагрузки. В
fdconfig.sys комментарии ставятся знаком ";" или "rem" в начале строки, а
в autoexec.bat двойным двоеточием "::". Поскольку DOS-системы работают в реальном режиме процессора с архитектурой x86, то это запрещает адресовать более 1 Мб ОЗУ. Что бы обойти это ограничение используют драйвер дополнительной памяти XMS. В freedos он называется himemx.exe. Так же для совместимости с некоторыми приложениями еще устанавливают драйвер расширенной памяти EMS. В freedos это jemm386.exe. Но за место двух этих драйверов в freedos рекомендуется использовать один JEMMEX, он занимает меньше памяти.
На iso-образе в папке \FREEDOS\SETUP\ODIN вы найдете все необходимые драйверы и утилиты. Так же их можно скачать и с официального сайта в разделе software. Все, что будет упоминаться в конфигах, нужно скопировать на ваш образ FDBOOT.IMG.
Добавим в FDCONFIG.SYS следующие строчки.
device=a:\jemmex.exeЕще нам потребуются драйвер для мышки. В freedos используется CuteMouse (CTMOUSE). Это очень миниатюрный драйвер, с поддержкой колеса прокрутки. В памяти занимает меньше 3.5Kb и распознает COM и PS/2 мышки. USB мышки не поддерживает, но большинство современных BIOS благодаря режиму "legacy USB" позволяют их видеть как PS/2. Поэтому они тоже становятся доступны драйверу CTMOUSE.
DOS=HIGH,UMB
Чтобы не засорять 640Kb основной памяти, будем все по возможности загружать в верхнюю память. Для этого используется команда LH.
Добавим строчку в autoexec.bat
LH a:\ctmouseДальше загрузим драйвер для CD-ROM'а. Предполагается, что он подключен к IDE интерфесу. Для всех ATA-устройств в freedos есть один универсальный драйвер UIDE.SYS. Он перехватывает прерывание "Int 13h" BIOS, умеет кэшировать данные и поддерживает 48-битную LBA и 24-битную CHS адресацию.
В FDCONFIG.SYS добавим.
DEVICEHIGH=a:\UIDE.SYS /B /D:MYDVDА в autoexec.bat
shsucdx /D:MYDVDЕсли вы хотите подключить какой-нибудь iso-образ в качестве cd-rom'a, то это можно сделать при помощи SHSUCDHD.
SHSUCDHD /f:c:\horde.isoздесь после ключа /f идет место расположения образа.
shsucdx /d:shsu-cdh
Займемся вопросом руссификации. Для этого нужно загрузить драйвер дисплея, который будет выводить кириллицу. Пишем в autoexec.bat
LH DISPLAY CON=(EGA,,1)
Команда mode prep подготавливает вывод на устройство CON кодовую страницу 866, используя файл шрифтов.
LH MODE CON CP PREP=((866) a:EGA3.CPX)
команда mode sel устанавливает активную кодовую страницу.
LH MODE CON CP SEL=866
Устанавливаем драйвер и руссификатор клавиатуры
LH KEYB RU,,keybrd2.sys
Переключения раскладки осуществляется с помощью CTRL+SHIFT.
Зададим русские форматы даты и времени. В FDCONFIG.SYS напишем.
!COUNTRY=007,866,a:\COUNTRY.SYS
Еще добавим в autoexec.bat поддержку длинных имен
doslfn.com -z:cp866uni.tbl
Для доступа к NTFS будем использовать драйвер Paragon ntfs4dos, у него
встроенная поддержка русских длинных имен. Отдельно скачать можно здесь.
ndos.exe -lfn -cp:866 -mountall
Теперь, что касается звука. Драйверов современных звуковых карт в DOS
нет. Но если вы планируете запускать DOS на старой машине или в
эмуляторе, с поддержкой Sound Blaster, то можно установить драйвер "Sound Blaster 16 Drivers.zip". Например, его можно взять здесь. В архиве есть отдельный установщик, который скопирует все необходимые файлы и добавит нужные строки в autoexec.bat.
SET SOUND=a:\
SET BLASTER=A220 I5 D1 H5 P330 T6
SET MIDI=SYNTH:1 MAP:E
a:\DIAGNOSE /S
a:\MIXERSET /P /Q
Поскольку во всех современных биосах есть опция Legacy USB Support, то
они поддерживат USB-клавиатуры и мышки. Благодаря этому FreeDOS
может нормально работать с большинством usb-устройств и даже с флешками.
Так же биосы поддерживают SATA диски, и они ток же видны в FreeDOS.
Еще для ускорения работы с дисками по средством кэширования в dos'е есть утилита SMARTDRV. В FreeDos'е для этих целей используют LBACACHE. По умолчанию использует 2Mb, есть смысл задать больше. В autoexec.bat пишем.
LBACACHE 8192Вообщем и целом все. Еще не забудьте скопировать Volcov Commander, тоже программка must have!
Получившийся образ можете скачать здесь.
Удачных экспериментов!