... на главную



... F.A.Q
:: полезные советы
:: установка Windows
:: Windows XP
:: Windows Update, SP, патчи
:: автозагрузка
:: проблемы с софтом
:: устранение сбоев
:: проблемы с драйверами
:: MS-DOS
:: кодировки, шрифты
:: file system, swap
:: папки, иконки, ярлыки
:: автозапуск CD
:: модемы и принтеры
:: локальная сеть
:: интернет, Internet Explorer
:: игры, мультимедиа
:: всякая всячина
... SOFT
... MUST HAVE!











MS-DOS


Сергей Трошин
stnvidnoye@mail.ru

Q: DOS-программа виснет. В чем дело?

A: Если DOS-программа через некоторое время после запуска виснет - возможно, вы не отключили в ее свойствах "виндовый" скрин-сейвер. Часто именно попытки Windows запустить хранитель экрана при работе DOS-приложения в полноэкранном режиме вешают компьютер.

Q: Как в Windows 2000 сделать русский шрифт для DOS-приложений? У меня вместо русского сплошные вопросительные знаки.

A: Проверьте установки в Control Panel -> Regional Options. На закладке General есть два раздела, Settings for the current user и Language settings for the system. В первом разделе нужно установить "Russian". Во втором должен быть отмечен "Cyrillic", который поставьте в положение "Default". После этого нажимаете на кнопку Advanced, и в открывшемся списке "Code page conversion tables" отмечаете галочками все кириллические шрифты, которые там найдете. Раскладку клавиатуры можно переключить на закладке Input Locales. Если не поможет, то надо запустить редактор реестра (regedit.exe) и задать поиск по словам "DosKeybCodes". Везде, где вы найдете эту строчку, необходимо исправить значение строковой переменной 00000409 - с "us" на "ru". После этого вставьте в файл C:\WinNT\System32\autoexec.nt вызов русификатора kb16ru.

Q: При завершении работы некоторых DOS-программ и bat-файлов появляется окно "Поддержка всплывающих программ Microsoft Windows", где рекомендуется нажать Ctrl-C для его закрытия. Как избавиться от появления этого окна?

A: Отредактируйте pif-файл этой программы: нажав правую кнопку мыши на нем, войдите в меню "Свойства", и на вкладке "Программа" поставьте флаг "Закрывать при выходе". Причина в запуске резидентной DOS-программы.

Q: Мало обычной памяти в DOS, хотя в config.sys стоят оба менеджера памяти - himem.sys и emm386.exe.

A: Сначала надо проверить, правильно ли указан к ним путь, и присутствуют ли они на диске вообще. Можно попробовать удалить строки, в которых они прописаны из конфигурационных файлов, и переписать autoexec.bat и config.sys заново - иногда помогает даже такая странная манипуляция.

Q: В Windows довольно легко можно поменять почти все шрифты, а можно ли изменить шрифт для DOS-окна?

A: Можно, надо изменить название шрифта в реестре, в ключе HKEYLOCALMACHINE\Software\Microsoft\Windows\CurrentVersion\MS-DOS Emulation

Q: Когда я перегружаю компьютер в режим MS-DOS (используя меню "Выключить Компьютер"), пропадают CD-ROM и мышь. Что делать?

A: При переходе в режим эмуляции MS-DOS загружается файл C:\WINDOWS\dosstart.bat (а не файлы autoexec.dos и config.dos, как многие думают), надо поместить туда DOS-драйвера, например:
LH C:\MOUSE\MOUSE.COM
C:\CREATIVE\DRV\CTLOAD
C:\CREATIVE\DRV\SBIDE.SYS /D:MSCD001 /V/P:1F0,14
LH C:\CREATIVE\DRV\MSCDEX.EXE /D:MSCD001 /V /M8 /E
LH C:\WINDOWS\SMARTDRV.EXE /V
LH NC

Q: В DOSSTART.BAT не срабатывает строка с описанием устройства. В моем случае это DEVICEHIGH=C:\SAMSUNG\SSCDROM.SYS /D:SSCD000 /v. Указывается на неверное имя файла, что логично, т. к. пакетные файлы не воспринимают файлы с расширением SYS. Или я не прав?

А: Вы правы, только если повнимательнее посмотрите на мой пример из журнала, то увидите, что там перед SYS - драйвером находится вызов программы CTLOAD.EXE - именно она позволяет загрузить SYS - драйвер через BAT-файл. Найти эту программу можно на сайте фирмы Creative. Вот еще раз пример из DOSSTART.BAT:
C:\CREATIVE\DRV\CTLOAD C:\CREATIVE\DRV\SBIDE.SYS /D:MSCD001 /V/P:1F0,14

Q: Пытался переустановить Windows 98, но как это сделать? В режиме MS-DOS появляется строка c:windows> , a не сразу С:> Правильно ли это?

A: Правильно. При переходе в режим эмуляции MS-DOS (меню кнопки "Пуск" > "Выключить компьютер" > строка "Режим MS-DOS") загружается файл C:.bat . Чтобы было удобно работать, поместите туда вызов Norton Commander или Volkov Commander и не забудьте прописать драйвера для CD-ROM и мыши:
LH C:.COM
C:C:.SYS /D:MSCD001 /V/P:1F0,14
LH C:.EXE /D:MSCD001 /V /M8 /E
LH C:.EXE /V
LH NC .
Обратите внимание, что для загрузки SYS-драйвера из командного файла использована программа CTLOAD.EXE, иначе этот драйвер не загрузится. Если все это для вас слишком сложно, то отложите переустановку системы до лучших времен, а пока почитайте книги по MS-DOS.

Q: Можно ли как-нибудь сделать так, чтобы фокусировка изображения на монитор в режимах DOS и Windows была одинаковой? А то при перезагрузке компьютера в режиме MS-DOS (да и не только) для нормальной работы в DOS-программах приходится перенастраивать изображение, а затем возвращать его обратно. Этого ведь не должно быть?

A: Этого нет в более или менее приличных современных мониторах, они запоминают все настройки - для каждого режима надо выставить их только один раз. Старые же мониторы для каждой частоты и разрешения экрана приходится подстраивать постоянно. Попробуйте не выдергивать его из розетки - может, тогда не будут сбрасываться установки. Либо поменяйте монитор.

Q: В русской версии Windows 98 в окнах некоторых DOS-приложений не удается переключить клавиатуру на русский язык. При этом из буфера обмена русский текст вставляется нормально.

A: Надо в Autoexec.bat дописать строку:
keyb ru,,C:.sys

Q: При загрузке Windows 98 появляется сообщение "Windows 98 is now starting your MS-DOS based program". Как избавиться от этого?

A: Проверьте файлы Autoexec.bat и Winstart.bat - видимо, из них запускается какая-то DOS-программа.

Q: Под Windows 98 запускается DOS-приложение, работающее с внешним устройством через СОМ-порт. Обмен весьма критичен по времени. Пока приложение остается на "переднем плане", обмен идет замечательно, но как только я переключаюсь на другую задачу, все глохнет. Можно ли установить приоритет задачи неизменным и в фоновом режиме?

A: Правой кнопкой мыши щелкните по ярлыку DOS-приложения и выберите страницу Свойства-> Разное. Уберите флажок "Фоновый режим. Полная остановка" и ниже передвиньте движок, задающий приоритет задачи, на максимум.

Q: Попытался сам сделать системную дискету, поместив на нее нужные мне драйвера и программы, но, при попытке загрузиться с нее, получаю сообщение "Incorrect DOS Version". С чем это связано?

A: Версия MS-DOS, установленного на дискете командой SYS, должна соответствовать версиям используемых драйверов, которые вы прописали в файлах autoexec.bat и config.sys. Если дискета делалась командой SYS после загрузки ОС Windows 9x, то версия DOS на дискете будет 7.*, а "настоящий" MS-DOS имеет последнюю версию 6.22. Поэтому все файлы в этом случае надо брать из комплекта Windows (найдете их в папке C:), чтобы их версия тоже была седьмой. Если же дискета делалась после загрузки MS-DOS 6.22, то и все файлы, прописанные в конфигурационных файлах, следует брать из дистрибутива MS-DOS 6.22.

Q: Я слышал, что можно из командной строки перегружать или выключать компьютер - не подскажете, как это делается?

A: Да, вы можете поместить эту команду в BAT-файл, сделать из нее ярлык, ввести ее в командной строке MS-DOS или в строке "Выполнить" кнопки "Пуск". Вот как выглядит эта команда на выключение ПК:
C:.EXE user.exe,ExitWindows
Если у вас Windows 98, то можете использовать и дополнительные команды:
RUNDLL32.EXE shell32,SHExitWindowsEx n
где n - парметр, задающий конкретное действие (или комбинацию действий):
0: перегрузить оболочку (завершение сеанса, "Log Off");
1 - выход из Windows;
2 - перегрузить компьютер;
4 - закрыть все программы;
8 - выход из Windows и выключить ATX-совместимый ПК.

Q: Установил себе Windows ME, и обнаружил, что нельзя прописать в config.sys строку FILES=99 - а с теми параметрами, которые установлены в Windows по умолчанию (FILES=30) одна старая, но очень нужная мне DOS-программа работать не хочет. Может быть, есть какой-то способ реанимировать ее без возвращения к Windows 98?

A: В вашем случае лучше всего прописать в раздел [386enh] файла System.ini такой параметр:
PerVMFiles=100
- это будет эквивалентно строке FILES в config.sys.

Q: Можно ли вернуть назад режим MS-DOS?

A: В окне DOS работает по-прежнему, для загрузки же чистого DOS используйте системную дискету с DOS, либо верните его назад с помощью этих патчей:
www.geocities.com/mfd4life_2000,
www.sgmvp.freewebsites.com/WinME.htm.
Предварительно сохраните родной файл io.sys от "Миллениума"!

Q: Ответьте, пожалуйста, на такой вопрос: DOS-команда PATH указывает машине искать файл во всей заданной директории, включая поддиректории, или только в самой директории?

A: Нет, поддиректории не включаются - проверить это очень легко и самостоятельно: найдите какую-нибудь DOS-программу типа arj.exe, затем в одной из папок, прописанных в переменной PATH, создайте подкаталог и переместите туда эту программу, потом попробуйте запустить ее из командной строки - ничего не получится.

Q: Когда я запускаю в Windows Me DOS-программу или даже просто DOS-окно, то обнаруживаю, что всегда загруженным оказывается и старенький DOS-резидент DOSKEY, причем на экране ход его загрузки никак не отображается, и даже анализ памяти командой mem /p/c его присутствие не показывает! Хотя сама эта программа работает - если нажимать на клавиатуре стрелки, то в командной строке выводятся ранее набранные команды. Что за призрак? Откуда берется этот DOSKEY???

A: Он берется из глобальных настроек DOS-сессии - файл cmdinit.bat в папке C:\Windows\
Command. Если вы его откроете, то увидите команды:
@echo off
doskey /insert > nul
Так что, используя этот файл, можно очень даже неплохо управлять загрузкой DOS-программ, прописывая практически любые команды. Получается фактическая замена неработающему в "Миллениуме" пакетному файлу autoexec.bat.

Q: Имеется Windows 98 Second Edition и Windows Millennium Edition на одном ACPI-совместимом компьютере, при этом ни из-под одной ОС MS-DOS-программы (работающие с модемом) не могут получить доступ к COM-портам. Если набираю команду MODE COMx:19200 (х-номер порта), то получаю сообщение: "Function not supported on this computer". Из-под чистого MS-DOS все работает прекрасно. Что делать?

A: Вариантов тут несколько. Для начала выполните команду MODE COMx:19200 несколько раз - тогда она, может быть, проинициализирует порт. Или отключите управление питанием для COM-портов: в разделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\VxD\VCOMM измените значение бинарного параметра "EnablePowerManagement" с "01 00 00 00" на "00 00 00 00", после этого порт станет доступен. Можно еще попробовать отключить ACPI.
И не забудьте соответствующим образом настроить DOS-программы - в них обычно необходимо выставить параметры портов.

Q: На работе у меня имеется солидный парк старых компьютеров, настолько старых, что "винду" на них уже не поставить, а в интернет иногда в свободную минуту залезть хочется, да и модем завалялся. Не подскажете, какие есть программы для работы с интернетом под DOS?

A: Мнoгo информации о том, как настроить работу с интернетом из-под MS-DOS, вы найдете на сайте www.komaromi.com/dos_email, я же могу предложить программное обеспечение. Почтовый клиент - Pegasus Mail, браузер - Lynx, Minuet или Arachne (найдете все по адресам www.fdisk.com/doslynx/lynxport.htm, www.naf.cz/arachne).
Звонилки: по протоколу PPP - KA9q, по SLIP - MDMSLP. К сожалению, адресов всех сайтов, где можно скачать эти программы, я уже не помню - с DOS давно не общался, но вы вполне можете найти их по названию в интернете, например на FTP-серверах.
А вот еще несколько внушительных сборников программ для DOS: www.geocities.com/SiliconValley/Lakes/1401/softlib1.htm, www.opus.co.tt/dave, www.uwe-sieber.de/util_e.html, www.filelibrary.com/categories/DOS.shtml3 - найдете там и все, что нужно, и все, что, может быть, и не нужно.

Q: DOS-программы в Windows 2000 работают очень медленно - можно ли это "вылечить"?

A: Если вы используете DOS-программы в окне под Windows NT, существует несколько способов улучшить стабильность их работы и их быстродействие. Создайте для своей программы ярлык - он будет иметь расширение "PIF". Щелкните правой кнопкой мыши на ярлыке и войдите в его свойства. Далее делайте следующее.
1. На странице "Screen" (в NT и 2000; "Options" в Windows XP) отметьте опцию "Full-screen", если DOS-программа работает медленно в окне.
2. На странице "Program" снимите флажок "Windows NT", если он не требуется для корректной работы программы.
3. На странице "Program" снимите флажок "Compatible Timer Hardware", если он не требуется DOS-программой, использующей CMOS-таймер.
4. Если DOS-программа, запущенная в оконном режиме, периодически тормозит, то на странице "Misc" снимите флажок "Idle Detection".
5. Если DOS-программа использует печать, то задайте ей порт принтера, выбрав, например, "LPT1".

Q: Есть такая прога, как smartdrv.exe, - она вроде как ускоряет (оптимизирует) работу винчестера. Я ей пользовался на старых компах (типа PC 166 MMX). Вопрос таков: помогает ли она при работе с новым компьютером или наоборот - ухудшает работу (Duron 700, 128 DIMM 133, HDD 20 Гб Seagate U6(U5), Windows Me, Windows 2000 Pro)?

A: Использование драйвера кэширования дисков SmartDrive не зависит от быстродействия компьютера. Необходимость его использования определяется операционной системой - в MS-DOS он нужен и очень сильно ускоряет работу с диском в целом, а в Windows используется свой собственный более эффективный 32-разрядный драйвер кэширования VCache, поэтому там в SmartDrive необходимости нет. Так что загружайте этот драйвер только при переходе в режим "чистого" MS-DOS - в DOS-окне Windows также работает VCache.

Q: При запуске DOS-программы в Windows XP ее окно по завершении работы автоматически закрывается и невозможно прочитать сообщение, которое должна выдавать эта программа. Можно ли что-нибудь сделать?

A: Можно, например, запускать программу не напрямую, а из-под Norton Commander для DOS - тогда окно закрываться не будет. Либо войдите в свойства этой программы, кликнув на ее значке правой кнопкой мыши, и снимите на странице "Программа" (Program) флажок "Закрывать окно по завершении работы" (Close on Exit).
Но, вообще говоря, параметры запуска любых DOS-программ, для которых они специально не настраивались, определяются в Windows NT / 2000 / XP глобальным файлом _default.pif из каталога, в который у вас установлена ОС. Если в нем включена опция "Закрывать окно по завершении работы", то все окна DOS будут автоматически закрываться, не давая времени заметить результат выполнения командного файла.
В свойствах этого файла вы можете задать и любые другие параметры, которые будут использоваться по умолчанию, при отсутствии у DOS-программы собственного файла настроек.

Q: В загрузочном меню Windows 98 не работает пункт "Previous version of MS-DOS". Почему?

A: Для того чтобы этот пункт работал, надо, чтобы сохранились резервные копии системных файлов MS-DOS 6.22 с расширениями dos в корневой директории системного диска - ОС при выборе данного пункта переименует их так, чтобы они получили нормальные названия (autoexec.bat вместо autoexec.dos), а "виндовые" файлы будут временно переименованы в файлы с расширением w40 (дабы не запутаться, после выбора предыдущей ОС не удаляйте файлы в корне системного диска, к тому же часто Windows не удается вернуть все имена к исходному состоянию и приходится это делать вручную). Учтите, что если в файле msdos.sys будет строка BootMulti=0, то этот пункт отображаться в загрузочном меню не будет.

Q: Как узнать, какие DOS-драйверы находятся в памяти компьютера?

A: Посмотреть, что загружено, можно введя в строке "Выполнить" меню "Пуск" команды mem /c/p или mem /d/p - перед вами предстанет картина занятости памяти с перечнем всех загруженных DOS-драйверов и резидентных программ.

Q: Не подскажете, для чего предназначен файл winstart.bat?

A: Он автоматически запускается при загрузке ОС и из него можно загрузить некоторые резидентные DOS-программы в системную виртуальную машину так, чтобы они не занимали ценную базовую память, используемую при запуске программ MS-DOS из-под Windows (в "Миллениуме" этот файл не обрабатывается).

Q: Для чего предназначен файл dosstart.bat, расположенный в папке Windows?

A: Команды из него выполняются, когда вы выбираете в меню "Выключить компьютер" опцию "Перезагрузить ПК в режим MS-DOS". С помощью dosstart.bat вы легко обеспечите в этом режиме и автоматический запуск Norton Commander, и поддержку мыши, и кэширование дисков, и работу с CD-ROM, получив тем самым все то, что вам нужно в работе с DOS-программами. В "Миллениуме" он, как и режим MS-DOS, исключен.

Q: Каким образом в Windows XP можно создать загрузочную дискету MS-DOS?

A: В контекстном меню флоппи-диска выберите команду Format, а затем - Create an MS-DOS startup disk.

Q: В Windows 98 Second Edition почему-то не работает функция Restart in MS-DOS mode - отчего такое может быть?

A: Такое может происходить, если видеоадаптер требует прерывания в режиме MS-DOS, но системный BIOS не назначает ему собственное IRQ. Назначьте в BIOS прерывание для видеокарты вручную, обновите системный BIOS и BIOS видеокарты.

Q: При запуске в Windows 2000 старого DOS-приложения (FOX Pro) процессор (вполне современный) оказывается загружен на все 100%. Можно ли что-нибудь с этим сделать?

A: Лучше всего использовать специальную утилиту, исправляющую этот сбой при работе старых программ в среде многозадачных OS, называется она RESFREE.COM v3.0, а найти ее можно в интернете, например, здесь: suvorov.chat.ru/ADDON/DOS/CONSOLE/resfree.rar.
Распакуйте архив в папку Winnt/System32 и вставьте в файл С:\Winnt\System32\autoexec.nt строку lh %SystemRoot%\system32\ResFree 10. Утилита будет запускаться автоматически при загрузке DOS-программ.
Параметр "10" можно изменять в диапазоне от 0 до 65535 - поэкспериментируйте сами, изучив инструкцию к программе, которую найдете по адресу suvorov.
chat.ru/ADDON/DOS/CONSOLE/resfree.htm.

Q: В Windows 2000 пpи запyске DOS-пpограмм появляется сообщение об ошибке "Virtual Device Driver format in the registry is invalid. Choose 'Close' to terminate the application". Как от него избавиться?

A: Это довольно известный и нередко встречающийся сбой. Сообщение об ошибке может быть и таким: "An installable Virtual Device Driver failed DLL initialization. Choose 'Close' to terminate the application".
Для устранения проблемы удалите параметр "VDD" в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\Current
ControlSet\Control\VirtualDeviceDrivers. После этого вновь создайте в этом разделе параметр с именем VDD, типа REG_MULTI_SZ, оставив его значение пустым.

Q: Как в Windows 98 запретить использование приложений MS-DOS и запуск режима эмуляции MS-DOS подобно тому, как это сделано в Windows Me?

A: Для запрета работы с сеансом MS-DOS и отключения режима эмуляции MS-DOS установите в реестре такие параметры:
HKEY_CURRENT_USER\Software\
Microsoft\Windows\Current
Version\Policies\WinOldApp
"Disabled "=dword:00000001
"NoRealMode"="1"
HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Windows\Current
Version\Policies\WinOldApp
"Disabled "=dword:00000001
"NoRealMode"="1"

Q: Хочу свести процесс резервирования особо важных данных на съемный носитель к одному клику. Самый простой и, как мне кажется, удобный способ - написание bat-файла. Но вот в чем проблема. Команда COPY не поддерживает копирование вложенных директорий. По крайней мере, при вызове помощи через COPY /? про это ничего не пишется. Но ведь как-то это можно сделать?! Вручную данные резервировать муторно, так как они разложены по разным директориям.

A: Для вашего случая может подойти другая DOS-команда - XCOPY. Она позволяет копировать вложенные директории. Подробную информацию по использованию этой команды вы можете найти в документации по MS-DOS. Учтите только, что без дополнительного параметра /h эта команда не копирует скрытые и системные файлы. Вообще же, можно было бы для резервирования использовать и специально предназначенные для этого, но не менее простые программы - начиная от бесплатной отечественной утилиты Универсальный Backup (www.mwt.ru) и заканчивая даже обычным WinRAR, имеющим отличную поддержку работы в командной строке.


Советы читателей

- Как избавиться от сообщения "Windows 98 starting MD-DOS based program"? Я сталкивался с похожей неприятностью при следующих обстоятельствах. Мне приходится часто и помногу работать в DOS, поэтому я завел на Рабочем столе ярлык старого доброго Norton Commander и в свойствах программы отметил "Режим MS-DOS" и "Выбрать новую конфигурацию MS-DOS". При запуске такого ярлыка происходит следующее; Windows копирует текущие autoexec.bat и config.sys в файлы с расширением WOS, записывает в autoexec.bat и config.sys параметры из PIF-файла, заданные в свойствах моего ярлыка, и перегружается - причем после перезагрузки загружается не GUI, а MS-DOS. В результате я получаю честный (а не режим эмуляции, как при выборе строки "Перегрузить в режим MS-DOS") DOS + FAT32 + возможность подгружать любые драйверы + возможность освободить Conventional Memory. Если я после этого перегружаюсь или выключаю компьютер, машина остается в этом же режиме, поскольку autoexec.bat и config.sys не изменились, а главное - в config.sys осталась строка DOS=SINGLE, отменяющая GUI. Если же я выхожу из Norton клавишей F10, то система на место autoexec.bat и config.sys возвращает виндовые autoexec.wos и config.wos. В этой схеме есть замечательная дырка. Допустим, оператор запускает ярлык, Windows копирует autoexec.bat и config.sys в autoexec.wos и config.wos, создает на основе PIF-файла досовские autoexec.bat и config.sys и задумывается перед перезагрузкой. Нетерпеливый оператор еще раз запускает ярлык, и Windows снова копирует autoexec.bat и config.sys в WOS-файлы. В результате autoexec.bat и config.sys совпадают с autoexec.wos и config.wos - все в досовском варианте. При выходе из Norton система копирует autoexec.wos и config.wos в autoexec.bat и config.sys, но это ничего не меняет - системе достаются совсем ненужные установки из DOS. Проще всего выйти из такого цикла, вручную восстановив autoexec.wos и config.wos, или вовсе очистив их.



наверх