3

Я нахожусь в процессе добавления небольшого раздела MS-DOS на мой компьютер, используемый в основном для тестирования старого нестандартного оборудования с QuickBasic. Да, я все еще использую параллельный порт.

Мне удалось создать загрузочный компакт-диск MS-DOS, но я не хочу всегда вставлять компакт-диск в дисковод каждый раз, когда хочу загрузиться в MS-DOS.

Вот что я пробовал и пока безуспешно:

  1. Я смонтировал образ в Linux как диск.
  2. Я скопировал изображение на диск (используя DD), поэтому необработанное содержимое образа было выгружено в новый раздел.
  3. Я проверил список целевой папки, и оказалось, что все файлы скопированы нормально (около 1,5 МБ).
  4. Я изменил конфигурацию LILO, добавив новый раздел DOS, указывающий на правильный путь к устройству, чтобы при перезагрузке он был доступен в качестве опции.

Теперь, когда я попытался получить доступ к новому разделу (после выбора его в меню LILO), моя система сначала сканирует дисковод гибких дисков (что я считаю загрузочным диском?) тогда я получаю это сообщение:

 Non-System disk or disk error
 Replace and press any key when ready

Не вставляя носитель, я нажал клавишу, и я вернулся в меню LILO.

Единственное решение, которое я могу придумать, которое утомительно (поскольку дискеты больше не доступны), это каким-то образом получить загрузочную дискету и запустить команду sys.

Есть ли способ, которым я мог бы как-то выполнить эту команду sys.com в оболочке только для Unix, или есть лучший способ заставить эту файловую систему загружаться, не выполняя песню и танец создания дискеты?

2 ответа2

1

Что ж, если все в порядке с загрузочной дискеты, то я думаю, что загрузка с флешки удовлетворит ваши потребности. Вы можете скачать программу с открытым исходным кодом rufus и создать свою собственную загрузочную флешку, которая может запускаться с любых компьютеров, созданных еще 10 лет назад.

rufus может создать вашу загрузочную флешку с образом DOS, даже если у вас нет исходного образа DOS, но есть некоторые детали, которые вам нужно знать, - автор предлагает два образа - нативный DOS и FreeDOS. FreeDOS не всегда работает с какой-то требовательной программой DOS, а версия DOS фактически извлекается с компьютера, на котором вы запускаете rufus. (Чтобы избежать легального конфликта, программа извлекает образ DOS из diskcopy.dll который присутствовал на всех окнах вплоть до Windows 10, но не включая Windows 10). Хотя это все еще законный способ записать его, он не всегда работает, если вам нужен настоящий реальный режим ЦП потому что копия образа DOS из diskcopy.dll на самом деле является DOS 7+, которая убрала поддержку реального режима, поэтому DOS загружается в защищенном режиме с интегрированным HIMEM. Подробнее об этом вы можете узнать у оригинального автора rufus здесь. Я советую найти оригинальный образ MSDOS 6.22 и записать его с помощью программы, описанной выше.

Другое решение - настроить TFTP- сервер и использовать функцию PXE, доступную на многих компьютерах. Таким образом, вы можете разместить образ MSDOS на TFTP-сервере и загружаться напрямую по сети. Если вы знакомы с Linux, вы можете создать PXE-сервер с ISOLINUX и разместить столько разных образов, сколько вам нужно, и загружаться на них по требованию (очень удобно, если вам нужны разные инструменты).

Есть ли способ, которым я мог бы как-то выполнить эту команду sys.com в оболочке только для Unix, или есть лучший способ заставить эту файловую систему загружаться, не выполняя песню и танец создания дискеты?

Ядра Unix, работающие в защищенном режиме, запуск чего-либо из оболочки не даст вам свободы в реальном режиме. Если вам действительно не нужен прямой доступ к оборудованию, то есть пакеты, эмулирующие DOS: DOSemu, DOSbox, которые вы можете попробовать с вашими программами.

0

Поместить образ CD-ROM в раздел DOS жесткого диска не получится. Образ компакт-диска имеет другой формат.

Раздел жесткого диска (убедитесь, что он первый) должен быть отформатирован как FAT, и для него требуется загрузчик DOS. В принципе должна быть возможность скопировать загрузчик с помощью dd , но я не смог быстро найти подходящее изображение в Google.

Так что другой путь был бы начать dosemu или dosbox или даже qemu с DOS изображения, изменить конфигурацию , чтобы сделать что жесткий диск доступен для виртуальной машины, а затем запустить sys внутри VM.

И, конечно же, вы можете в первую очередь выполнять все тесты с ВМ, если вы можете сделать оборудование доступным для ВМ (параллельный порт не должен быть проблемой). Тогда вам не нужно перезагружаться, и вам не нужен специальный раздел для этого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .