После первого запуска Bochs многие видят лишь чёрный экран с мигающим курсором — эмулятор не нашёл загрузочный диск, потому что конфигурационный файл bochsrc не настроен или путь к образу указан с ошибкой. Именно на этом этапе большинство пользователей и бросают программу, хотя проблема решается правкой нескольких строк в текстовом файле.
Bochs — это эмулятор x86-платформы с открытым исходным кодом. В отличие от виртуальных машин вроде VirtualBox или VMware, он не использует аппаратную виртуализацию, а полностью эмулирует процессор, память и периферию программно. Это делает его медленнее, но позволяет запускать старые операционные системы и изучать низкоуровневое программирование на любой архитектуре, включая ARM-процессоры смартфонов.
Ниже разберём установку, создание конфигурации, запуск гостевой ОС и решение частых ошибок. Материал подходит для Windows и Linux, а также для варианта Bochs под Android, где логика настройки та же самая.
Что умеет Bochs и когда его выбирать
Основное назначение эмулятора — точное воспроизведение аппаратной платформы: процессора x86, чипсета, контроллеров дисков, видеоадаптера. Разработчики ОС используют Bochs для отладки загрузчиков и ядер, потому что встроенный отладчик позволяет останавливать выполнение на любой инструкции и смотреть регистры процессора.
Обычным пользователям Bochs интересен запуском старых систем: MS-DOS, Windows 95/98, ранних версий Linux. На Android-смартфонах эмулятор применяют для запуска лёгких x86-систем, когда полноценной виртуализации на устройстве нет.
Ограничение, о котором нужно знать сразу: скорость эмуляции невысокая, поскольку каждая инструкция гостевой машины обрабатывается программно. Современные тяжёлые ОС будут работать медленно — это норма для Bochs, а не признак неисправности.
- 🖥️ Полная эмуляция x86-платформы без аппаратной виртуализации
- 🐞 Встроенный отладчик для разработчиков ОС и загрузчиков
- 💾 Поддержка образов дисков в форматах
flat,sparse,growing - 📱 Работает на Windows, Linux, macOS и Android
Установка Bochs на Windows и Linux
На Windows установка сводится к загрузке инсталлятора со страницы проекта и стандартной установке. Вместе с эмулятором ставятся вспомогательные утилиты, в том числе bximage — инструмент для создания образов дисков. После установки проверьте, что в папке программы есть исполняемый файл bochs.exe.
В дистрибутивах Linux Bochs обычно доступен из репозиториев. Для Debian-подобных систем установка выполняется командой:
sudo apt install bochs bochs-x
Пакет bochs-x добавляет графический вывод через X11 — без него окно эмулятора может не открыться. После установки проверьте работоспособность командой bochs в терминале: должен появиться запрос конфигурации или сообщение об отсутствии файла bochsrc. Это означает, что программа установлена корректно и ждёт настройки.
Создание образа диска
Перед запуском гостевой системы нужен виртуальный жёсткий диск. Для этого служит утилита bximage, входящая в комплект. Запустите её и ответьте на вопросы мастера: тип образа (hd), вид (flat — файл фиксированного размера), размер в мегабайтах и имя файла.
Утилита в конце работы выводит готовую строку для конфигурационного файла — параметры cylinders, heads, spt. Обязательно скопируйте эту строку: если геометрия диска в bochsrc не совпадёт с реальным размером образа, гостевая ОС не увидит диск или установка оборвётся с ошибкой.
Для запуска готовой системы образ диска может не понадобиться — достаточно ISO-файла установщика, подключённого как CD-ROM. Но для установки ОС на виртуальный диск образ нужен в любом случае.
☑️ Подготовка к первому запуску Bochs
Настройка файла bochsrc
Вся конфигурация виртуальной машины описывается в текстовом файле bochsrc (расширение может быть любым, часто используют .bxrc). Создайте его в блокноте и укажите ключевые параметры: объём памяти, пути к BIOS, устройства загрузки.
Минимальный рабочий вариант выглядит примерно так:
megs: 128
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
ata0-master: type=disk, path="disk.img", mode=flat
ata1-master: type=cdrom, path="install.iso", status=inserted
boot: cdrom, disk
floppy_bootsig_check: disabled=0
log: bochsout.txt
Переменная $BXSHARE указывает на папку с файлами BIOS — в Windows её можно заменить полным путём, например C:\Program Files\Bochs. Параметр boot определяет порядок загрузки: сначала CD-ROM с установщиком, затем жёсткий диск. После установки системы порядок меняют на boot: disk.
⚠️ Внимание: пути с пробелами и кириллицей — частая причина ошибки «could not open image file». Держите образы дисков в папке с простым латинским именем и заключайте путь в кавычки.
Запуск виртуальной машины и управление
Запуск выполняется командой bochs -f bochsrc.bxrc из папки с конфигурацией либо двойным кликом по файлу конфигурации, если ассоциация настроена. Откроется окно эмулятора, и начнётся загрузка по указанному порядку — вы увидите экран BIOS виртуальной машины.
В верхней части окна Bochs есть панель с кнопками: включение, перезагрузка, снимок экрана, смена дискеты или CD. Мышь захватывается окном эмулятора — для возврата курсора в хост-систему используйте комбинацию, указанную в заголовке окна (по умолчанию обычно Ctrl с кликом средней кнопки, но зависит от версии и платформы).
Если окно открылось, но система не грузится, проверьте лог bochsout.txt — Bochs пишет туда подробные сообщения о каждом устройстве и ошибках конфигурации.
Типичные ошибки и их решение
Разберём сбои, с которыми сталкиваются чаще всего. Большинство из них связано не с самим эмулятором, а с ошибками в конфигурационном файле.
| Ошибка | Вероятная причина | Что проверить |
|---|---|---|
| could not open romimage | Неверный путь к BIOS | Параметр romimage, наличие файла в папке Bochs |
| could not open image file | Образ диска не найден | Путь в ata0-master, кавычки, кириллица в пути |
| Чёрный экран, нет загрузки | Нет загрузочного устройства | Параметр boot, флаг status=inserted у CD |
| Окно закрывается сразу | Синтаксическая ошибка в bochsrc | Лог bochsout.txt, лишние символы в конфиге |
| Очень медленная работа | Особенность программной эмуляции | Уменьшить megs, закрыть лишние приложения |
⚠️ Внимание: после изменения bochsrc обязательно перезапускайте эмулятор — Bochs читает конфигурацию только при старте, «на лету» настройки не применяются.
Если ошибку найти не удаётся, временно упростите конфигурацию до минимума: BIOS, память и одно загрузочное устройство. Затем возвращайте параметры по одному — так проще локализовать строку, вызывающую сбой.
Как ускорить Bochs
Bochs не использует аппаратное ускорение, но снизить нагрузку можно: уменьшите объём выделяемой памяти до необходимого гостевой ОС минимума, отключите в конфиге неиспользуемые устройства (звук, сеть), уменьшите разрешение экрана гостевой системы. Для тяжёлых задач рассмотрите QEMU с KVM — он работает заметно быстрее.
Особенности Bochs на Android
На Android логика та же: нужен эмулятор, файл конфигурации и образ диска. Разница в том, что конфигурацию часто приходится писать вручную в текстовом редакторе смартфона, а пути указываются к папкам внутреннего хранилища, например /sdcard/bochs/disk.img.
Из-за программной эмуляции на мобильном процессоре производительность ещё ниже, чем на ПК. Реально запускать лёгкие системы вроде DOS или минимальных сборок старых Windows; современные ОС будут непригодны для практической работы.
⚠️ Внимание: образы дисков и ISO-файлы занимают заметный объём. Перед копированием на смартфон убедитесь, что на устройстве достаточно свободного места с запасом на временные файлы эмулятора.
Часто задаваемые вопросы
Чем Bochs отличается от VirtualBox и QEMU?
Bochs полностью эмулирует процессор программно, тогда как VirtualBox и QEMU с KVM используют аппаратную виртуализацию. Поэтому Bochs медленнее, но работает на любой архитектуре и позволяет пошагово отлаживать гостевую систему на уровне инструкций процессора.
Где взять файлы BIOS для Bochs?
Они входят в комплект поставки эмулятора — файлы BIOS-bochs-latest и VGABIOS-lgpl-latest лежат в папке установки. Скачивать BIOS отдельно не требуется.
Почему после установки ОС виртуальная машина снова грузится с ISO?
Потому что в параметре boot первым указан CD-ROM. Измените строку на boot: disk в файле bochsrc и перезапустите эмулятор.
Можно ли запустить в Bochs современную Windows или Linux?
Технически Bochs эмулирует процессоры вплоть до современных расширений x86-64, но скорость программной эмуляции делает работу тяжёлых систем крайне медленной. Для современных ОС практичнее использовать виртуальные машины с аппаратным ускорением.
Как перекинуть файлы между хостом и гостевой системой в Bochs?
Универсального буфера обмена и общих папок, как у VirtualBox, в Bochs нет. Обычно файлы переносят через образ дискеты или ISO, созданный на хосте и подключённый к виртуальной машине, либо монтируют образ диска утилитами хост-системы при выключенном эмуляторе.