Запуск старой DOS-программы в Windows Vista чаще всего заканчивается ошибкой о несовместимости версии системы или мгновенным закрытием окна — причина в том, что 64-разрядные редакции Vista вообще не содержат подсистемы NTVDM, необходимой для выполнения 16-битного кода. Даже в 32-разрядной Vista многие DOS-приложения работают нестабильно: пропадает звук, искажается графика, программа не видит «железо», к которому привыкла обращаться напрямую.
Из этой статьи вы узнаете, как определить разрядность своей системы, какие встроенные средства совместимости есть в Vista и когда без эмулятора DOSBox обойтись невозможно. Отдельно разберём типичные ошибки и способы запуска старых игр и бухгалтерских программ, которые до сих пор используются в некоторых организациях.
Почему DOS-программы не работают в Vista
Классические приложения для MS-DOS рассчитаны на прямой доступ к оборудованию: звуковой карте Sound Blaster, видеоадаптеру в режиме VGA, последовательным и параллельным портам. Windows Vista, как и другие системы линейки NT, запрещает программам такой доступ из соображений стабильности и безопасности.
В 32-разрядных версиях Windows существует NTVDM (NT Virtual DOS Machine) — виртуальная машина, эмулирующая среду DOS. Однако она поддерживает далеко не всё: программы, использующие нестандартные расширители памяти или прямую работу с видеопамятью, могут зависать или выдавать искажённую картинку. В 64-разрядных редакциях Vista подсистема NTVDM отсутствует полностью — 16-битный код там не выполняется никакими штатными средствами.
⚠️ Внимание: если у вас 64-разрядная Vista, не тратьте время на поиск «включения режима DOS» — его нет в системе физически. Единственные рабочие пути — эмулятор DOSBox или виртуальная машина с установленной DOS/старым Windows.
Проверить разрядность можно так: откройте Пуск → Компьютер → Свойства и посмотрите строку «Тип системы». Там будет указано «32-разрядная операционная система» или «64-разрядная операционная система».
💡64-разрядная Vista не выполняет 16-битные DOS-программы штатными средствами — только через DOSBox или виртуальную машину.