Запуск Bochs чаще всего заканчивается ошибкой «couldn't open ROM image file» или пустым чёрным окном — причина почти всегда в отсутствующем или неверно прописанном конфигурационном файле bochsrc, без которого эмулятор не знает, какое железо эмулировать и какой образ загружать. В отличие от VirtualBox, Bochs не имеет мастера первого запуска: вся настройка выполняется через текстовый конфиг.
Ниже разберём полный цикл: установка эмулятора, создание образа диска, написание рабочего конфигурационного файла и запуск. Инструкция подходит для Windows и Linux, а также для Android-сборок Bochs, где логика настройки та же, отличается только способ установки.
Что такое Bochs и чем он отличается от виртуальных машин
Bochs — это эмулятор архитектуры x86 с открытым исходным кодом. Ключевое отличие от VirtualBox или VMware: Bochs не использует аппаратную виртуализацию процессора, а полностью интерпретирует каждую инструкцию. Это делает его медленным, но зато позволяет запускать x86-системы на любых платформах, включая ARM-устройства.
Именно поэтому Bochs популярен в двух сценариях: отладка операционных систем и загрузчиков (благодаря встроенному отладчику) и запуск старых ОС на устройствах, где виртуализация недоступна — например, запуск Windows на Android-смартфоне.
Из-за интерпретации инструкций производительность ограничена: современные ОС будут работать крайне медленно. Для комфортной эмуляции подходят DOS, Windows 95/98 и другие лёгкие системы.
Установка Bochs на Windows и Linux
На Windows установка сводится к загрузке инсталлятора с официального сайта проекта или со страницы релизов на SourceForge. Во время установки отметьте компоненты BIOS images и VGABIOS — без них эмулятор не запустится, так как ему нужны образы прошивок.
На Linux проще всего поставить пакет из репозитория дистрибутива:
sudo apt install bochs bochs-x
Пакет bochs-x добавляет графический вывод через X11. После установки проверьте, что эмулятор доступен, командой bochs --version в терминале.
- 📦 Скачивайте Bochs только с официального сайта проекта или из репозитория дистрибутива — сторонние сборки могут быть устаревшими.
- 🧩 При установке на Windows запомните путь к папке с BIOS-файлами — он понадобится в конфиге.
- 🐧 На Linux образы BIOS обычно лежат в
/usr/share/bochs/, проверьте их наличие после установки.
Создание образа жёсткого диска
Перед запуском нужен диск, с которого будет грузиться эмулируемая машина. В комплект Bochs входит утилита bximage, которая создаёт пустые образы дисков. Запустите её из командной строки:
bximage -hd -mode=flat -size=500 -q disk.img
Эта команда создаст файл disk.img размером 500 МБ в формате flat (сплошной файл). Размер выбирайте под задачу: для DOS хватит 100 МБ, для Windows 98 лучше выделить 1–2 ГБ.
Если у вас уже есть готовый образ диска или загрузочная дискета (например, файл .img с DOS), этот шаг можно пропустить — главное, чтобы путь к образу был правильно указан в конфигурационном файле.
Настройка конфигурационного файла bochsrc
bochsrc — главный файл настройки, без которого Bochs не стартует. Создайте текстовый файл с именем bochsrc.txt (на Linux — просто bochsrc) в папке с образом диска и укажите в нём минимальную конфигурацию:
megs: 64
romimage: file="BIOS-bochs-latest"
vgaromimage: file="VGABIOS-lgpl-latest"
floppya: 1_44=floppy.img, status=inserted
ata0-master: type=disk, path="disk.img", mode=flat
boot: floppy
log: bochsout.txt
Разберём ключевые параметры. Строка megs задаёт объём оперативной памяти эмулируемой машины. romimage и vgaromimage указывают пути к прошивкам BIOS и видео-BIOS — если файлы лежат не рядом с конфигом, пропишите полный путь, например C:\Program Files\Bochs\BIOS-bochs-latest. Параметр boot определяет порядок загрузки: floppy, disk или cdrom.
☑️ Проверка конфига перед запуском
⚠️ Внимание: самая частая причина ошибок запуска — неверные пути к файлам BIOS вromimageиvgaromimage. Если Bochs завершается сразу после старта, первым делом откройте логbochsout.txt— там будет точное сообщение, какой файл не найден.
Чтобы не угадывать геометрию диска, используйте строку, которую выводит bximage при создании образа. Для старых систем вроде DOS несовпадение параметров cylindres/heads/spt может привести к тому, что диск не определится.
Запуск эмулятора
Когда конфиг готов, запуск выполняется одной командой из папки с файлом bochsrc:
bochs -f bochsrc.txt
На Windows можно также дважды кликнуть по bochs.exe — эмулятор предложит выбрать конфигурационный файл через меню. После старта откроется окно, имитирующее экран монитора, и начнётся загрузка с указанного носителя.
Если вместо загрузки вы видите консольное меню, нажмите c (continue) — это запустит выполнение. Меню появляется, когда Bochs собран с отладчиком или когда в конфиге есть ошибки, требующие подтверждения.
⚠️ Внимание: не размещайте папку с Bochs и образами дисков в путях с кириллическими символами — парсер конфигурации может некорректно обработать такие пути, и эмулятор не найдёт файлы, хотя они существуют.
Запуск Bochs на Android
На Android используются сторонние сборки Bochs из магазинов приложений. Логика та же: в память устройства копируются файлы BIOS, образ диска и конфиг bochsrc, а в настройках приложения указывается путь к конфигу. Учтите, что производительность на смартфоне будет заметно ниже, поэтому реалистично запускать только DOS и очень лёгкие системы.
Типичные ошибки и их решение
Большинство проблем при запуске Bochs сводится к нескольким повторяющимся ситуациям. Таблица ниже поможет быстро определить причину по симптому.
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Окно сразу закрывается | Ошибка в конфиге или не найден BIOS | Лог-файл bochsout.txt, пути в romimage |
| «couldn't open ROM image» | Неверный путь к BIOS/VGABIOS | Полные пути к файлам прошивок |
| Чёрный экран, нет загрузки | Неверный порядок boot или пустой образ | Параметр boot и загрузочный сектор образа |
| «ata0-master: could not open» | Образ диска не найден или занят | Путь к disk.img, права доступа к файлу |
| Эмулятор работает очень медленно | Особенность интерпретации инструкций | Снизить объём RAM и разрешение, использовать лёгкую ОС |
Если ошибка не поддаётся диагностике, временно упростите конфиг до минимума: BIOS, VGABIOS, дискета и загрузка с неё. Рабочая минимальная конфигурация позволит убедиться, что сам эмулятор исправен, а затем добавлять параметры по одному.
Оптимизация и полезные параметры конфига
После успешного запуска конфиг можно расширить. Параметр cpu: count=1, ips=... задаёт число эмулируемых инструкций в секунду — на слабых машинах завышенное значение только замедлит работу. Для звука добавляется строка sound: driver=... с эмуляцией карт вроде SB16, если она поддерживается вашей сборкой.
Для отладки собственных загрузчиков полезен встроенный отладчик: он включается запуском bochsdbg вместо bochs и позволяет ставить точки останова и пошагово выполнять код — это одна из главных причин, по которой разработчики ОС выбирают именно Bochs.
Часто задаваемые вопросы
Можно ли запустить Bochs без конфигурационного файла?
Нет, без bochsrc эмулятор не знает параметры виртуальной машины и завершит работу. Можно использовать готовые примеры конфигов из папки установки как основу.
Почему Bochs работает намного медленнее VirtualBox?
Bochs интерпретирует каждую инструкцию процессора программно, не используя аппаратную виртуализацию. Это плата за переносимость и точность эмуляции — ускорить его до уровня виртуальных машин нельзя.
Какая ОС лучше всего подходит для запуска в Bochs?
Оптимальны лёгкие системы: DOS, Windows 95/98, минимальные сборки Linux. Современные Windows и тяжёлые дистрибутивы будут загружаться неприемлемо долго.
Где взять образ загрузочной дискеты DOS?
Загрузочные образы FreeDOS распространяются свободно на официальном сайте проекта FreeDOS — это легальный и удобный вариант для первого запуска.
Bochs пишет «no bootable device», что делать?
Проверьте, что в параметре boot указан носитель, на котором действительно есть загрузочный сектор, и что путь к образу верен. Пустой образ, созданный bximage, не загрузится — на него сначала нужно установить систему или загрузиться с дискеты/ISO.