Не удается добавить загрузочный раздел DOS 6.22 в Linux

376
Mike

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

3
Этот «новый раздел» должен стать первым основным разделом в таблице разделов MBR, отформатированной как FAT-16. Если нет, DOS не запустится - его загрузочная запись (полученное вами сообщение - это ее) ищет файл IO.SYS в разделе, который я описываю. PS. Почему вы не используете виртуальную машину? Akina 6 лет назад 0

2 ответа на вопрос

1
Alex

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

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

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

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

0
dirkt

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

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

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

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