Введение
Конечно, возможно, у читателя этой статьи первым делом возник вопрос "зачем?"
Если вы кликнули на эту статью, то, скорее всего, он относится не к тому, зачем понадобилась DOS ( :D, а к тому, почему именно QEMU?
Вы получите полный контроль над железом, которого вы в DOSBox'е и прочих приложениях не добьётесь
Вы получите гибкость...
...и, лично я считаю, что устанавливать системы вручную — это весело!
Если мне удалось вас убедить... поехали!
Структура
Если вы читали мою предыдущую статью, вы наверняка помните структуру, которую я использовал :)
Но, так как капелька занудства не помешает и мы кое-что поменяем, я повторюсь.
🗂️ Имя виртуальной машины HD.qcow2 наш ЖД 📂 Installer установщик и все его хвосты 💾 Boot.img первая дискета, она же загрузочная 💾 2.img 💾 3.img ... 💾 Tools.img если есть Enhanced Tools run скрипт запуска
Лично я, для примера, буду использовать MS-DOS 6.22, но так как они все похожи.. вы можете взять любую другую DOS!
Самый популярный источник подобных дискет — это WinWorldPC, откуда я и скачивал образы.
Жёсткий диск, создаётся этой командой (выставьте удобный вам размер вместо 16M):
qemu-img create HD.qcow2 32M -f qcow2
Если вы уже всё создали, и лишь ждёте, когда же я уже закончу разглагольствовать — перейдём дальше!
Создание run
Теперь, когда мы всё подготовили, настало время уделить внимание "голове" нашей ВМ — скрипту run
Вот его код (вы можете добавить или изменить что-то, либо использовать как есть):
#!/bin/sh qemu-system-x86_64 \ -name "DOS" \ -boot menu=on \ \ -hda "HD.qcow2" \ -fda "Installer/Boot.img" \ -fdb "" \ \ -cpu 486 \ -m 8M \ \ -audio драйвер,model=sb16
Нужны пояснения?
#!/bin/sh qemu-system-x86_64 \ # Имя виртуальной машины которое будет отображаться над окном -name "DOS" \ # Включаем загрузочное меню по клавише Esc -boot menu=on \ \ # Жёсткий диск и дискеты, fdb параметр ОБЯЗАТЕЛЕН, иначе у вас не будет диска B: -hda "HD.qcow2" \ -fda "Installer/Boot.img" \ -fdb "" \ \ # Intel 80486 - самая рабочая из всех ранних моделей в QEMU -cpu 486 \ # Оперативная память -m 2M \ \ # Аудио, SoundBlaster 16 самая популярная в те годы модель, поэтому под неё больше драйверов -audio драйвер,model=sb16
ВНИМАНИЕ!
Так как этот конфиг универсальный, вы должны подставить аудиодрайвер на нужное место в run (для Windows winwave, для macOS - coreaudio, для Linux - pa)
БОНУС
Вот и всё, осталось лишь запустить ВМ, и вуаля (надеюсь как устанавливать DOS вы знаете:)!
Тем временем для тех, у кого всё получилось, я подготовил CONFIG.SYS и AUTOEXEC.BAT которые обычно использую я:
CONFIG.SYS
; CONFIG.SYS DEVICE=C:\DOS\SETVER.EXE DEVICE=C:\DOS\ANSI.SYS DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE
AUTOEXEC.BAT
:: AUTOEXEC.BAT @ECHO OFF SET PATH=C:\DOS;C:\TOOLS PROMPT $E[1;34m$P$E[0m $G SET DIRCMD=/W /P SET FORMATCMD=/Q DOSKEY SMARTDRV A+ B+ C+ CD USR CLS ECHO Welcome! SET BLASTER=T6 A220 I5 D1 H5
Учтите, строки 5 и 12 спецефичны для моей конфигурации (а насчёт последней я вообще не уверен :)!
Для первого варианта вам понадобятся Enhanced Tools в папке Tools, а для второго созданная папка USR в корне!
Заключение
Вот и всё, осталось только любоваться :D
Кстати, открепить ВМ от терминала можно добавив & disown к ./run
P. S. Если у вас возникнут проблемы или вопросы, пишите в комментарии!
