Запуск Windows 7 в QEMU: полное руководство

Запуск Windows 7 в QEMU чаще всего упирается в одну и ту же проблему: установщик не видит виртуальный диск, потому что в «семёрке» нет встроенных драйверов VirtIO, а сама система давно снята с поддержки и не получает обновлений. Это не значит, что задача нерешаема — просто нужно правильно подобрать тип дискового контроллера, сетевое устройство и параметры ускорения.

В этом материале разберём весь цикл: подготовку образа, команду запуска, интеграцию драйверов VirtIO, включение аппаратной виртуализации KVM и типичные ошибки вроде синего экрана или отсутствия сети. Инструкция ориентирована на Linux-хост, но большинство принципов применимы и к QEMU под Windows.

Почему Windows 7 в QEMU — особый случай

Windows 7 вышла задолго до появления современных паравиртуализированных устройств. В отличие от Windows 10/11, она не содержит драйверов VirtIO в установочном образе, поэтому при выборе диска типа virtio установщик покажет пустой список накопителей. Есть два пути: использовать эмуляцию классического SATA/IDE-диска либо подложить драйверы во время установки.

Второй нюанс — отсутствие поддержки UEFI Secure Boot и ограниченная работа с OVMF. Windows 7 умеет загружаться в режиме UEFI только в 64-битной редакции и без Secure Boot, поэтому большинству пользователей проще оставить классический BIOS-режим, который QEMU использует по умолчанию.

Третий момент — безопасность. Система не получает обновлений, поэтому виртуальную машину с ней разумно изолировать от внешней сети, если доступ в интернет не обязателен.

Подготовка: что понадобится

Перед началом убедитесь, что на хосте установлен сам QEMU и включена аппаратная виртуализация. Проверить поддержку виртуализации в Linux можно командой:

egrep -c '(vmx|svm)' /proc/cpuinfo

Если вывод больше нуля — процессор поддерживает Intel VT-x или AMD-V. Дополнительно проверьте наличие модуля KVM: устройство /dev/kvm должно существовать и быть доступно вашему пользователю (обычно через группу kvm).

  • 📀 Установочный ISO-образ Windows 7 (желательно с интегрированным SP1).
  • 💾 ISO с драйверами virtio-win — распространяется проектом Fedora как готовый образ.
  • 🧠 Минимум 2 ГБ ОЗУ, выделяемой гостю; комфортно — 4 ГБ.
  • 💽 30–40 ГБ свободного места под виртуальный диск.

Создание виртуального диска

Диск создаётся утилитой qemu-img. Оптимальный формат — qcow2: он поддерживает динамическое расширение и снапшоты, что удобно для экспериментов со старой системой.

qemu-img create -f qcow2 win7.qcow2 40G

Файл займёт на реальном диске лишь фактически записанный объём, а не все 40 ГБ сразу. Если планируете переносить образ в другие гипервизоры, можно выбрать формат vmdk или raw, но снапшоты удобнее всего работают именно с qcow2.

Размер 40 ГБ — разумный ориентир: система с обновлениями и базовым софтом обычно укладывается в этот объём, а при нехватке диск qcow2 можно расширить командой qemu-img resize, после чего расширить раздел уже внутри гостевой ОС.

Команда запуска установки

Ниже — базовый вариант команды для установки. Ключевые параметры: включённый KVM, 4 ГБ памяти, два виртуальных CPU и подключение обоих ISO (системы и драйверов):

qemu-system-x86_64 \

-enable-kvm \

-m 4096 \

-smp 2 \

-drive file=win7.qcow2,if=virtio \

-cdrom win7.iso \

-drive file=virtio-win.iso,media=cdrom \

-netdev user,id=n1 -device virtio-net-pci,netdev=n1 \

-vga qxl \

-usb -device usb-tablet

Разберём важные элементы. Опция -enable-kvm включает аппаратное ускорение — без неё эмуляция будет чисто программной и очень медленной. Параметр -device usb-tablet избавляет от «залипания» курсора: указатель мыши синхронизируется с гостевой системой без захвата. Видеоадаптер QXL даёт приемлемую графику при подключении через SPICE, но для простого окна QEMU подойдёт и -vga std.

Если установщик не видит диск (а он его не увидит при if=virtio), на экране выбора раздела нажмите «Загрузить драйвер» и укажите путь на втором CD: папку viostor (или vioscsi, если используете virtio-scsi) для Windows 7 нужной разрядности.

☑️ Перед первым запуском установки

Выполнено: 0 / 5
⚠️ Внимание: не запускайте QEMU с параметром -enable-kvm внутри другой виртуальной машины без вложенной виртуализации — команда завершится ошибкой или скорость упадёт до неприемлемой. Проверьте, что работаете на физическом хосте.

Драйверы VirtIO после установки

Когда система установлена, драйверы нужно доустановить для остальных устройств: сетевого адаптера, балун-памяти, графики. Проще всего снова подключить ISO virtio-win и запустить внутри гостя установщик virtio-win-guest-tools либо ставить драйверы вручную через Диспетчер устройств, указывая папку на виртуальном CD.

Без сетевого драйвера NetKVM адаптер в Диспетчере устройств будет висеть с жёлтым восклицательным знаком, и сети в госте не будет. После установки драйвера NAT-сеть QEMU (режим user) обычно выдаёт адрес по DHCP автоматически.

📊 Что оказалось самым сложным при запуске Windows 7 в QEMU?
Установщик не видел диск
Не работала сеть
Низкая производительность
Проблемы с мышью и экраном

Ускорение и оптимизация

Главный ускоритель — KVM, но есть и другие рычаги. Указание точной модели процессора через -cpu host пробрасывает гостю все возможности физического CPU, что заметно помогает в вычислительных задачах. Однако такой образ становится привязанным к конкретному «железу» — перенос на другой процессор может вызвать проблемы.

Для диска имеет смысл включить кэширование записи и современный интерфейс: -drive file=win7.qcow2,if=virtio,cache=writeback,discard=unmap. Отключение служб индексации и дефрагментации внутри самой Windows 7 тоже снижает лишнюю нагрузку на виртуальный диск.

ПараметрРекомендуемое значениеЭффект
Ускорение-enable-kvmАппаратная виртуализация вместо эмуляции
CPU-cpu hostВсе инструкции физического процессора
Дискif=virtio, cache=writebackБыстрый ввод-вывод через VirtIO
Сетьvirtio-net-pciПаравиртуализированный сетевой адаптер
Мышь-device usb-tabletПлавный курсор без захвата

Ещё один вариант — подключение через SPICE вместо стандартного окна: с клиентом virt-viewer и драйверами QXL в госте доступны изменение разрешения «на лету» и проброс буфера обмена. Для этого замените вывод на -spice port=5900 и подключайтесь клиентом.

Альтернатива

запуск через libvirt/virt-manager:Если командная строка кажется громоздкой, те же параметры можно задать в графическом virt-manager: создайте новую VM, выберите ISO Windows 7, на шаге настройки укажите тип диска VirtIO и добавьте второй CD с virtio-win. virt-manager сам сгенерирует корректную конфигурацию QEMU и позволит менять её мышью.

Типичные ошибки и их решение

Самая частая жалоба — синий экран 0x0000007B при первой загрузке после смены типа диска. Причина в том, что Windows 7 при установке отключает неиспользуемые драйверы контроллеров, и при переходе с IDE на VirtIO система теряет загрузочное устройство. Решение — ставить систему сразу на тот контроллер, который планируется использовать, либо заранее включить нужный драйвер в реестре гостя.

Вторая группа проблем — производительность. Если машина «тормозит», первым делом проверьте, действительно ли работает KVM: в выводе QEMU не должно быть предупреждения о fallback на TCG. Также убедитесь, что гостю выделено достаточно памяти и не включён балунинг на хосте с нехваткой ОЗУ.

  • 🚫 «No bootable device» — проверьте порядок загрузки и что установка завершилась, а ISO отключён.
  • 🌐 Нет сети — доустановите драйвер NetKVM с virtio-win ISO.
  • 🖱️ Курсор «убегает» — добавьте -device usb-tablet.
  • 🐢 Всё работает медленно — проверьте наличие /dev/kvm и флаг -enable-kvm.
⚠️ Внимание: Windows 7 не получает обновлений безопасности. Не используйте такую виртуальную машину для работы с конфиденциальными данными и по возможности ограничьте её сетевой доступ — например, режимом -netdev user,restrict=on, который изолирует гостя от локальной сети.

Безопасность и изоляция устаревшей ОС

Поскольку система уязвима к современным угрозам, держите её в «песочнице». Режим пользовательской сети QEMU (user networking) уже по умолчанию не даёт гостю инициировать соединения с хостом и другими машинами LAN, а параметр restrict=on дополнительно отрезает гостя от внутренней сети, оставляя только выход наружу — или полностью изолируя, если убрать сетевое устройство вовсе.

Полезная практика — снапшоты qcow2. Перед установкой сомнительного ПО создайте снимок командой qemu-img snapshot -c clean win7.qcow2, а при проблемах откатитесь через qemu-img snapshot -a. Это превращает устаревшую систему в удобный одноразовый полигон для тестов и запуска старых программ.

Частые вопросы

Можно ли установить Windows 7 в QEMU без KVM?

Технически да — QEMU отработает в режиме программной эмуляции TCG, но скорость будет крайне низкой: установка может занять часы. Для практической работы аппаратная виртуализация фактически обязательна. Проверьте в BIOS/UEFI хоста, что VT-x или AMD-V включены.

Почему установщик Windows 7 не видит виртуальный диск?

Потому что диск подключён как VirtIO, а драйверов в дистрибутиве нет. Либо подложите драйвер с ISO virtio-win через кнопку «Загрузить драйвер», либо временно используйте интерфейс IDE/SATA (if=ide) и перейдите на VirtIO после установки драйверов.

Работает ли звук в Windows 7 под QEMU?

Да, при добавлении аудиоустройства, например -device intel-hda -device hda-duplex, и настроенного аудиобэкенда хоста (PulseAudio/PipeWire). В госте могут понадобиться драйверы, которые Windows обычно находит самостоятельно.

Можно ли пробросить USB-флешку в гостя?

Да, через проброс USB-устройства по VID:PID: -device usb-host,vendorid=0xXXXX,productid=0xYYYY. Идентификаторы смотрятся выводом lsusb. Учтите, что устройство при этом отключается от хоста.

Какой объём диска и памяти оптимален для Windows 7 в QEMU?

Практичный минимум — 2 ГБ ОЗУ и 30–40 ГБ диска; для комфортной работы лучше 4 ГБ памяти. Формат qcow2 занимает на хосте только фактически использованное место, поэтому щедрый лимит размера ничем не вредит.