Добавление загрузочного раздела DOS 6.22 в Linux завершается ошибкой

Добавление загрузочного раздела DOS 6.22 в Linux завершается ошибкой

Я в процессе добавления небольшого раздела 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, или есть лучший способ заставить эту файловую систему загружаться, не прибегая к песням и танцам по созданию дискеты?

решение1

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

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

Другое решение, - это настроитьТФТПсервер и использовать функцию PXE, доступную на многих компьютерах. Таким образом, вы можете разместить образ MSDOS на сервере TFTP и загрузить его напрямую по сети. Если вы знакомы с Linux, вы можете создать сервер PXE сИЗОЛИНУКСи размещайте столько различных образов, сколько вам нужно, и загружайте их по требованию (очень удобно, если вам нужны разные инструменты).

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

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

решение2

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

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

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

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

Связанный контент