проект Сервер DOS® под виртуальной машиной

Запуск The Debian Web Server в QEMU (Windows)

Я давно бился над задачей запуска The Debian Web Server в эмуляторе QEMU под Windows. Проблема заключалась в том, что данный форк крайне нестабилен. Даже на официальном сайте проекта разработчики предупреждают нас об этом:

QEMU for Windows is experimental software and might contain even serious bugs, so use the binaries at your own risk.
http://qemu.weilnetz.de

Мда... Наконец-то, я дождался того момента, когда вышла более-менее стабильная сборка QEMU. В ней мой проект работает хорошо.
Итак, для начала качаем релиз QEMU. Для IA-32 файл называется "qemu-w32-setup-20140801.exe". Вы его можете скачать как с официального сайта, так и копия есть на этом сервере. На официальном сайте также есть версия для IA-64.
После того как QEMU успешно установлен, нужно запустить его специальную утилиту для преобразования образа диска проекта The Debian Web Server из VHD в raw-формат:

qemu-img convert -f vpc -O raw "D:\VM\Debian\Debian_6_0_root_pass_123.vhd" "D:\VM\Debian\debian.raw"

Затем просто запускаем виртуальную машину с полученным образом диска:

start qemu-system-i386w.exe -cpu qemu32 -m 256 -M pc -no-reboot -serial stdio -hda "D:\VM\Debian\debian.raw" -boot order=c -vga std -net nic -net user,hostfwd=tcp::5555-:31,hostfwd=tcp::5556-:80

Кратко расскажу по некоторым параметрам запуска:
  • -cpu qemu32 - определяет виртуальный процессор;
  • -m 256 - выделяет 256 Мб ОЗУ под виртуальную машину;
  • -hda "D:\VM\Debian\debian.raw" - образ жёсткого диска как IDE1 Master;
  • -boot order=c - порядок выбора загрузочных устройств: жёсткий диск "C:";
  • -vga std - стандартное виртуальное устройство VGA;
  • hostfwd=tcp::5555-:31 - перенаправление трафика с TCP-порта 31 гостевой машины на TCP-порт 5555 хостовой машины;
  • hostfwd=tcp::5556-:80 - перенаправление трафика с TCP-порта 80 гостевой машины на TCP-порт 5556 хостовой машины.
Как видим, параметр "hostfwd" служит для проброса портов из виртуальной машины на реальную систему.