Финализируем сборку DOS 4.0

May 14, 2024 17:31

В целом эта тема мне уже порядком надоела, но хотелось вот сделать этакую рабочую дискетку со своей сборкой, которая могла бы размножаться. Ну и просто осталось какое-то чувство незавершённости. Поэтому решил разобраться, почему же не получилось сделать дискетку из под DOSBOX.

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

MS-DOS 4.0 собранный брал отсюда (конкретно 4.00 OEM [Sampo]). Мне нужна только первая установочная дискета из архива Disk01.img. Монтирую этот образ, выкидываю всё лишнее из autoexec.bat (можно его даже тупо удалить), удаляю лишние файлы. А в папку "40" записываю файлы собранного ДОС (те что собирал сам). Примерно вот так:



После загружаюсь командой:

qemu-system-i386 -fda Disk01.img -fdb dos40.img

Где dos40.img - просто пустой образ дискетки, созданный truncate или dd. Далее просто форматирую диск b, командой формат и переношу системые файлы с помощью команды sys:

format b:
sys a:\40 b:

И это сработало!

Если попробовать загрузиться, то загрузка с успехом идёт с этой дискетки:

qemu-system-i386 -fda dos40.img



Но если переписать на эту дискетку собранные утилиты format и sys, а затем попробовать повторить такой же финт, то уже система не грузится. И ничем эту проблему не исправить. Системные файлы переносятся, а вот MBR нет. Почему так, и что не так я не знаю. Можете проверить самостоятельно.

Так что, загрузочной дискеты Dlinyj-DOS не будет :).

P.S. Чтобы отображение командной строки было привычным, надо в autoexec.bat добавить следующую строку:

PROMPT $p$g

статьи, dos, qemu, habr

Previous post Next post
Up