Как запустить FreeDOS на Linux через QEMU — простой гайд

Вчера, 14:37

Если вы когда-нибудь запускали старые игры на дискетах или набирали команды в черной консоли, то знаете, что такое DOS. А если не застали те времена — это отличный способ попробовать. FreeDOS позволяет окунуться в ту эпоху, а Linux с QEMU помогут сделать это быстро и без лишней возни. Всё, что вам нужно — немного свободного времени, пара команд в терминале и немного ностальгии (или любопытства). В этом гайде мы покажем, как развернуть FreeDOS у себя на Linux — так, чтобы потом можно было запускать старые программы и игры.

Шаг 1. Устанавливаем QEMU

Здесь все очень просто. Открываете терминал и устанавливаете нужные пакеты — они уже есть в стандартных репозиториях. Например, в Убунту достаточно выполнить следующие команды

sudo apt update
sudo apt install qemu qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

Шаг 2. Скачиваем и устанавливаем FreeDOS

1. Перейдите на официальный сайтfreedos.org и скачайте файл FD14-LiveCD.zip.

2. Создайте виртуальный жёсткий диск:

qemu-img create -f qcow2 freedos.img 2G

3. Распакуйте архив и запустите установку:

unzip FD14-LiveCD.zip

qemu-system-x86_64 -hda freedos.img -cdrom FD14LIVE.iso -boot d -m 512

Дождитесь загрузки. Когда появится меню — выберите Install to Harddisk и нажмите Enter. Система сама всё отформатирует, создаст раздел и установит себя на диск.

После этого FreeDOS можно запускать уже без ISO:

qemu-system-i386 -m 64 -hda freedos.img -boot c

Как запускать старые DOS-программы

Например, хотите поиграть в Doom? Вот как это сделать:
1. Скачайте doom1.zip — демо-версию первой части.

2. Распакуйте архив в папку, скажем, ~/Games/Doom.

3. Подключите её к виртуальной машине как второй диск:

qemu-system-x86_64 -hda freedos.img -hdb fat:rw:~/Games/Doom -m 512

4. Внутри FreeDOS перейдите на диск D: и запустите старый добрый DOOM:

D:doom.exe

Итоги

Поздравляем! Теперь есть полноценный FreeDOS прямо в Linux. Никакого старого железа, никаких флоппи-дисков — все работает через QEMU.