Эмулятор Windows для Linux: как запустить Windows-программы

Команда wine program.exe в терминале выдаёт ошибку вместо запуска приложения — с такой ситуацией сталкивается почти каждый, кто впервые пытается запустить Windows-программу в Linux. Причина обычно не в самой программе, а в неподготовленном окружении: отсутствующих библиотеках, неверной архитектуре префикса или устаревшей версии слоя совместимости.

Строго говоря, классического «эмулятора Windows» для Linux не существует — Wine (что расшифровывается как Wine Is Not an Emulator) не эмулирует систему, а транслирует вызовы Windows API в вызовы Linux. Именно поэтому он работает быстрее полноценной виртуализации, но требует аккуратной настройки. В этой статье разберём основные способы запуска Windows-приложений, их отличия и типичные проблемы.

Какие инструменты существуют для запуска Windows-программ

Выбор инструмента зависит от задачи: одно дело — запустить старую игру или офисный пакет, другое — корпоративный софт с драйверами и аппаратными ключами защиты. Ниже основные варианты.

  • 🍷 Wine — базовый слой совместимости, бесплатный, с открытым кодом. Требует ручной настройки через winecfg и winetricks.
  • 🎮 Steam Play (Proton) — форк Wine от Valve, оптимизированный для игр. Включается в настройках Steam.
  • 🧩 PlayOnLinux / Lutris — графические оболочки над Wine с готовыми скриптами установки популярных программ.
  • 💼 CrossOver — коммерческая версия Wine от CodeWeavers с технической поддержкой и упрощённой установкой.
  • 🖥️ Виртуальные машины (VirtualBox, QEMU/KVM, VMware) — полноценная Windows внутри Linux, максимальная совместимость ценой производительности.

Если приложение критично и должно работать без сбоев — виртуальная машина надёжнее. Если важна скорость и интеграция с рабочим столом Linux — начинайте с Wine.

Сравнение популярных решений

ИнструментТипСтоимостьПодходит для
WineСлой совместимостиБесплатноПрограммы и старые игры
Proton (Steam)Слой совместимостиБесплатноИгры из Steam
CrossOverСлой совместимостиПлатноОфисные и бизнес-приложения
VirtualBoxВиртуализацияБесплатноПолноценная Windows
QEMU/KVMВиртуализацияБесплатноПродвинутые сценарии, проброс GPU

Обратите внимание: совместимость конкретной программы лучше проверять в базе WineHQ AppDB — там пользователи публикуют рейтинги работоспособности (Platinum, Gold, Silver и ниже) и рецепты настройки для конкретных версий приложений.

Установка и настройка Wine

Установка зависит от дистрибутива. В Ubuntu и производных базовая установка выглядит так:

sudo dpkg --add-architecture i386

sudo apt update

sudo apt install wine64 wine32

Поддержка 32-битной архитектуры (i386) обязательна: большинство Windows-программ, особенно старых, собраны под x86. Без неё установщик либо откажется ставить пакеты, либо приложения будут падать при запуске.

После установки создайте и настройте префикс — изолированное окружение с виртуальным диском C::

WINEPREFIX=~/.wine-myapp winecfg

В открывшемся окне выберите версию Windows, которую будет имитировать Wine (например, Windows 10). Для старых программ иногда помогает режим Windows XP или Windows 7 — это подбирается экспериментально.

☑️ Подготовка Wine к запуску программы

Выполнено: 0 / 5

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

Самая частая жалоба — программа молча закрывается или выдаёт окно с ошибкой при запуске. Порядок диагностики такой: сначала запустите приложение из терминала, чтобы увидеть вывод Wine, затем ищите в логе строки с err: и fixme:. Часто там прямо указано, какой библиотеки не хватает.

Недостающие компоненты удобно ставить через winetricks. Например, многим программам нужны Visual C++ Redistributable или .NET Framework:

winetricks vcrun2019

winetricks dotnet48

⚠️ Внимание: установка .NET Framework через winetricks может занять продолжительное время и потребовать нескольких перезапусков установщика. Не прерывайте процесс — прерванная установка часто «ломает» префикс, и его приходится создавать заново.

Проблемы со шрифтами (кракозябры вместо русского текста) обычно решаются установкой пакета шрифтов через winetricks corefonts и проверкой локали системы. Если интерфейс программы отображается без текста — проверьте, что в системе установлены базовые TTF-шрифты.

📊 Что вы используете для запуска Windows-программ в Linux?
Wine напрямую
Proton / Steam Play
CrossOver
Виртуальную машину

Игры: Proton и Lutris

Для игр настраивать Wine вручную уже необязательно. Proton встроен в Steam для Linux: достаточно в настройках клиента разрешить Steam Play для всех игр, и большинство Windows-тайтлов запустится автоматически. Уровень совместимости по конкретным играм удобно смотреть на независимых базах отчётов, где пользователи делятся конфигурациями.

Lutris закрывает игры вне Steam: он управляет префиксами Wine, версиями Proton-GE и эмуляторами консолей из одного интерфейса. Установщики для многих игр пишутся сообществом, что избавляет от ручной настройки.

Когда лучше выбрать виртуальную машину

Есть категории программ, с которыми Wine справляется плохо или не справляется вовсе: софт с аппаратными ключами защиты, приложения с античит-системами ядерного уровня, специализированные драйверы устройств. В таких случаях разумнее поднять полноценную Windows в VirtualBox или QEMU/KVM.

⚠️ Внимание: для установки Windows в виртуальную машину потребуется лицензионный образ и ключ активации. Использование нелицензионных копий нарушает условия соглашения Microsoft независимо от того, запущена система на «железе» или в виртуальной среде.

Из плюсов виртуализации — гарантированная совместимость и изоляция. Из минусов — расход оперативной памяти и дискового пространства, а также слабая 3D-производительность без проброса видеокарты (GPU passthrough), который требует поддержки IOMMU и отдельной настройки.

Что такое проброс GPU и кому он нужен

Проброс видеокарты (GPU passthrough) — это передача физической видеокарты под полный контроль виртуальной машины. Технология требует поддержки IOMMU (VT-d у Intel, AMD-Vi у AMD), двух видеокарт (или встроенной + дискретной) и ручной настройки QEMU/KVM. Применяется, когда в виртуальной Windows нужно играть или работать с 3D-графикой без потери производительности.

Безопасность и ограничения

Распространено заблуждение, будто Windows-вирусы безопасны в Wine. Это не совсем так: вредоносный код, запущенный через Wine, получает доступ к домашнему каталогу пользователя, если тот примонтирован в префиксе (а по умолчанию диски Z: и другие часто указывают на корень файловой системы). Ограничьте доступ, убрав лишние привязки дисков в winecfg на вкладке «Диски».

⚠️ Внимание: не запускайте через Wine программы из непроверенных источников «для проверки» — слой совместимости не является песочницей и не изолирует систему от вредоносного кода.

Также учитывайте: некоторые программы проверяют подлинность окружения и отказываются работать под Wine. Это не баг, а осознанное ограничение разработчика — обойти его легальными средствами обычно нельзя.

Часто задаваемые вопросы

Можно ли запустить любую Windows-программу через Wine?

Нет. Совместимость зависит от конкретного приложения: простые утилиты и старые программы обычно работают хорошо, а софт с защитой от копирования, античитами или специфическими драйверами — часто нет. Проверяйте базу WineHQ AppDB перед установкой.

Что лучше для игр — Wine или Proton?

Для игр из Steam проще всего Proton: он уже интегрирован в клиент и регулярно обновляется. Для игр из других источников удобен Lutris, который умеет использовать как Wine, так и сборки Proton-GE.

Нужна ли лицензия Windows для Wine?

Нет. Wine не содержит кода Windows и не устанавливает саму систему — это независимая реализация Windows API. Лицензия потребуется только при установке настоящей Windows в виртуальную машину.

Почему программа под Wine видит не все файлы?

Wine показывает приложению только те пути, которые привязаны как диски в настройках префикса. Откройте winecfg, вкладку «Диски», и проверьте, какие каталоги смонтированы. Добавьте нужный путь или скопируйте файлы внутрь префикса.

Есть ли аналог Wine для запуска на ARM-устройствах?

На ARM-системах (например, одноплатных компьютерах) ситуация сложнее: Wine сам по себе не транслирует инструкции процессора x86. Нужны дополнительные инструменты эмуляции архитектуры (например, Box86/Box64 в связке с Wine). Производительность и совместимость при этом заметно ниже, чем на обычном ПК.