4/02/2007

Эмулятор VirtualBox: работа и впечатления

Для того, чтобы запускать другие операционные системы внутри уже установленной, есть множество программ-эмуляторов: QEMU, VMware, WINE и другие. Но вот появился VirtualBox, заманивающий красочным графическим интерфейсом и высокой скоростью эмуляции. Скачав версию эмулятора VirtualBox для своей операционной системы отсюда, можно совершенно бесплатно (для персонального использования) посмотреть на это чудо.


Установка
Всё описанное далее разворачивалось на Debian GNU/Linux. Пакет VirtualBox_1.3.6_Debian_sarge_i386.deb при установке потянул за собой libxalan18 и libxerces25 суммарным объёмом на 7 Мб. К тому же потребовал заголовков ядра - при установке собирается ускоряющий модуль.


Установка прошла гладко, при этом была создана новая группа vboxusers.
Creating group 'vboxusers'. VM users must be member of that group!
Собственно, после этого следует добавить своего пользователя в эту группу:
sudo gpasswd -a beast vboxusers
Перелогиниваемся в систему - вот и всё. Теперь, если посмотреть вывод lsmod, можно увидеть там модуль нового эмулятора.
vboxdrv 28420 0
Кстати, несколько забегая вперёд, если у вас при этом загружен kqemu, то ничего страшного не произойдёт: оба эмулятора могут работать вместе одновременно, в любых режимах и с любыми ОС внутри. Соседствуют мирно, работают без нареканий на общее благо простого линуксоида.


Несколько слов о VirtualBox
Как говорится на официальном сайте, VirtualBox основан на QEMU и использует некоторые его наработки. При этом поддерживаются возможности новых процессоров, обладающих аппаратной виртуализацией - но это не мешает использовать эмулятор и на обычных процессорах.


VirtualBox в работе
Довольно умных фраз о тонкостях виртуализации: самое время запалить что-нибудь интересное внутри этого ящика. Запускаем его, набирая в консольке
VirtualBox
и перед нами должно появиться графическое окошко. Интерфейс его очевиден - кнопки с простыми названиями типа New и Start в пояснениях не нуждаются. Поэтому сходу создаём новую виртуальную машину:



Программа будет выдавать окошки, в которых графическим способом придётся задавать параметры будущей виртуальной машины. Сначала это развлекает, но потом, кстати, начинает утомлять: если мне надо быстренько запалить Кноппикс, приходится тыкать по всем кнопкам сначала - в QEMU и bash_history всё куда быстрее...
Одна вещь в VirtualBox радует: это динамически задаваемый размер виртуального жёсткого диска. Задаём начальный размер, и он будет увеличиваться по мере надобности.


Все настройки сделаны, теперь жмём Start и пробуем установить внутри, например, свой любимый дистрибутив.



Особенности работы с VirtualBox
Тем, кто долго работал с QEMU, многое в VirtualBox будет понятно, но есть и существенные отличия. Если ткнуть в "экран" виртуальной машины, клавиатура и мышь подключаются к гостевой ОС. При этом для выхода из режима гостевой ОС нужно нажать на правый CTRL, а не на ALT+SHIFT по привычке. Кроме того, для перехода на другую раскладку в гостевой ОС нажимаем комбинацию клавиш хост-системы. Мелочь, а неприятно оказаться отрезанным от своей родной системы - и справку не откроешь...

Кроме того, есть глюки с полноэкранным режимом: однажды не удалось переключиться обратно после того, как в полноэкранном режиме я попытался сделать скриншота в гимпе из хост-системы. В QEMU это проходит без вопросов, а тут не смог переключиться обратно - пришлось сбрасывать иксы.
В полноэкранном режиме VirtualBox не переключает экран в более низкое разрение, как при использовании SDL, а просто выводит на чёрном поле экран гостевой ОС, как mplayer с видеовыводом x11. При этом графический интерфейс гостьОС начинает ощутимо тормозить.
Есть у VirtualBox и консольный интерфейс, использующий SDL - как QEMU. Но синтаксис команд, несколько скудно описанный в справочнике, довольно замороченный. И быструю справку по нему не получить: только в графическом режиме.

Загрузка и выгрузка ядерного модуля эмулятора
Если VirtualBox используется на машине, работающей в режиме 24/7, то наличие в памяти ядерного модуля может быть нежелательным по разным причинам. Если выгрузка проблем не представляет:
sudo rmmod vboxdrv
то загрузка модуля имеет особенности.
Для загрузки и приведения в рабочее состояние модуля для VirtualBox нужно не только загрузить его, но и дать полные права файлу-устройству:
sudo modprobe vboxdrv
sudo chmod 777 /dev/vboxdrv
иначе будете получать при запуске эмулятора следующую ошибку:
/dev/vboxdrv not writable for some reason. If you recently added the current
user to the vboxusers group then you have to logout and re-login to take the
change effect.
После этого ядерный модуль заработает в штатном режиме. Опять-таки, в отличие от QEMU, нельзя запустить VirtualBox без ускорителя.


Скорость эмуляции VirtualBox
Эмулятор очень шустрый, особенно при операциях с графикой: графический интерфейс гостьОС совершенно не тормозит в оконном режиме. Скорость работы как с Linux (на примере Кноппикса), так и со Windows XP примерно такая же, как и в QEMU. Только графика отзывчивее. Кроме того, при работе эмулятора происходит постоянная загрузка процессора под 100% - новый QEMU в этом плане куда экономнее.


Точность эмуляции VirtualBox
Скорость - это хорошо, но хотелось бы ещё и точности эмуляции. Под этим подразумевается сходное поведение гостьОС внутри эмулятора и на реальном железе.
Linux (Кноппикс и Дебиан) и BSD-системы (Frenzy) работали нормально, быстро и без глюков. C Windows нужно быть готовым к нештатным ситуациям: например, отмонтирование и выброс CD-ROM в эмуляторе приводит к мгновенной перезагрузке Windows внутри эмулятора.
Попытка запуска внутри VirtualBox BeOS и Haiku приводит к одному результату: эти ОС вываливаются в kernel panic. Хотя Haiku в QEMU идёт без проблем.


Выводы
Некоторое время использования VirtualBox позволяет поделиться следующими впечатлениями.

Что понравилось
  • удобен для новичков и всех, кто не часто пользуется виртуальными машинами;
  • хорошая поддержка USB;
  • задел на будущее - есть поддержка аппаратной виртуализации;
  • отличная работа с графикой: графические интерфейсы гостьОС не тормозят, работать можно с комфортом.

Что НЕ понравилось
  • глюки полноэкранного режима - определённо следует дорабатывать;
  • консольный режим не проработан: нельзя получить быструю справку по ключам эмулятора, нельзя указать много параметров (как в QEMU);
  • не может работать без модуля виртуализации - не всегда хочется, чтобы в памяти болтался сомнительного содержания ядерный модуль;
  • документация - только в хелпе графического интерфейса, никаких манов;
  • довольно посредственная точность эмуляции, особенно экзотических и альтернативных ОС.
В целом, можно сказать: хороший и быстрый эмулятор для начинающих виртуализаторов без особых претензий и не для частого использования.

27 комментариев:

  1. В версии 1.3.8 многие ошибки были исправлены.

    ОтветитьУдалить
  2. 2 Максим
    В версии 1.3.8 многие ошибки были исправлены.
    Спасибо за информацию, с интересом почитаю их changelog. Попробую, но и эта версия очень даже неплоха.

    ОтветитьУдалить
  3. для полноты впечатления не хватает описания работы с НЖМД и встроенного RDP...

    Интересная особенность VirtualBox умеет изображать iSCSI диски для гостей как локальные - интересно было бы почитать, т.к. самому под ЗлоХП создать iSCSI-диск неудалось - нету инструментария...

    ОтветитьУдалить
  4. Для ЗлаХР есть специальные гостевые драйверы экрана и мыши. Сильно облегачают работу -- курсор хост-системы действует и в гостевой, не надо нажимать специальную клавиш или кликать мышью для переключения туда-сюда.

    Лично меня напрягает отсутствие общего буфера обмена.

    Глюки встречал только со звуком (в некоторых приложениях не работает).

    ОтветитьУдалить
  5. 2 ПИнеу
    для полноты впечатления не хватает описания работы с НЖМД и встроенного RDP...
    Подключать свой винчестер нативно к эмулятору не решился - данные на нём мне дороги, как память :-)

    Интересная особенность VirtualBox умеет изображать iSCSI диски для гостей как локальные
    Да, интересная особенность. Но так как я не работал с такими устройствами, поэтому ничего и не написал. Но мысль интересна, спасибо.

    2 jmv
    Для ЗлаХР есть специальные гостевые драйверы экрана и мыши. Сильно облегачают работу -- курсор хост-системы действует и в гостевой
    Большое спасибо - надо будет поискать, а то в самом деле переключаться не очень удобно.

    Лично меня напрягает отсутствие общего буфера обмена.
    Для меня это всегда было монтирование гостьФС и качание туда/оттуда файлов :-)

    Комментаторам спасибо, как всегда, узнаю много нового и интересного. Если что ещё вспомните - не стесняйтесь!

    ОтветитьУдалить
  6. Драйверы интеграции устанавливаются в VirtualBox через меню. Что-то типа "Enable Integration"

    ОтветитьУдалить
  7. Интересная заметка.

    Пользуюсь вызвавшим у автора некие затруднения (интересно было бы их послушать) VMware Player. Работает очень быстро (% на 70 быстрее QEMU+kqemu) и стабильно. Зло2k летает, периферия (сканер, принтер) подключается влет. В общем, доволен как слон: из связки VMware Player & VMTools (взятого из VMware Server) получилась отличная виртуалка и совершенно даром ^_^

    Система: Debian GNU/Linux 4.0 (etch) i386, срез от 30 янв 2007.

    ОтветитьУдалить
  8. Минус VirtualBox - глюки при работе с OS/2 в виде eComStation.

    ОтветитьУдалить
  9. Как присвоить виртуальной системе уникальный IP?

    ОтветитьУдалить
  10. В VirtualBox понравилась бесплатность и система управления виртуальными дисками. По скорости - виста работала достсточно шустро. Вывод звука в VirtualBox сделан через OSS - старье, а глюки вполть то убивания процесса.
    Для меня лучший выбор это VMware. Посмотрим, во что разовьется VirtualBox.

    ОтветитьУдалить
  11. USB нормально работает?
    В упор не могу заставить рабтать VirtualBox с usb ;(

    etch + vb1.3.8....

    ОтветитьУдалить
  12. пофиксил трабла снята
    осталось заставить нормальный IP в гостевую прикрутить

    ОтветитьУдалить
  13. У меня с USB проблем не было: только до старта ОС врубил флешку и указал эмулятору использовать её. С qemu всё немного сложнее.

    ОтветитьУдалить
  14. патентованное изобретение Майкрософт - файловую систему FAT32
    Microsoft уже давно релизнул NTFS. Рекомендую. ;)

    ОтветитьУдалить
  15. Авторам многих комментариев от души советую RTFM.
    Во первых, VirtualBox существует в двух видах: open-source и closed-source. Обе бесплатны для некоммерческого использования. Первая отличается в первую очередь неподдерживанием USB. Остальные отличия касаются сети.
    Во вторых, сейчас у меня стоит версия 1ю5ю0, closedsource. В ней: звук идёт через ALSA, в полноэкранном режиме Зло шустрее, чем в оконном, есть вообще отпадный режим интеграции дисплеев. (Отпадают начинающие линухоиды при виде этого).
    В третьих. Работа с железом. Partition Magic, ScanDisk и IsoBuster превосходно работали из-под Зла с реальным винтом и компактами. Утилиты по шифрованию всего тома - тоже.
    В четвёртых, ни при изъятии компакта, ни при чём бы то ни было ещё ЗлоПыХалка не вылетала, кроме одного случая:
    Замеченный глюк: 100% тормоз всея системы при попытке запустить VirtualBox одновременно с OpenOffic. Решилось всё это дело подключением swap раздела. Обычно я его не пользую. А, ещё вирус Касперского не идёт в резидентном режиме.

    ОтветитьУдалить
  16. несколько слов о VirtualBox. Сама виртуальная машина в целом не плохая если настраивать ее локально, она показывает неплохую производительность, НО если настраивать сеть на виртуальной машине то можно сказать что VirtualBox самое настоящее полное ГОВНО ГОВНО и еще ращ ГОВНО. Придумать такой геморой при настройки сети мог только очени ГЕНИАЛЬНЫЙ программист. Вот как настроить сеть а ??? Известно что надо создать Хост подключение между виртуальной машиной и реальной (физической), но всеровно не получается выйти в ни в internet ни в ithernet. Кто-нибудь подскажите как настроить нормально сеть так чтобы оно работало нормально и без глюков???...

    ОтветитьУдалить
  17. 2 Чебурашка комментирует...

    несколько слов о VirtualBox. Сама виртуальная машина в целом не плохая если настраивать ее локально, она показывает неплохую производительность,
    Между прочим, в ряде случаев быстрее QEMU, особенно при эмуляции Зла.

    НО если настраивать сеть на виртуальной машине то можно сказать что VirtualBox самое настоящее полное
    Ну зачем же так... Проект довольно молодой, так что не стоит сильно с навозом смешивать. В QEMU тоже сеть в некоторых версиях не легко поднимается.

    Придумать такой геморой при настройки сети мог только очени ГЕНИАЛЬНЫЙ программист.
    Не знаю, как там с сетью, а консольный интерфейс точно не удался.

    Кто-нибудь подскажите как настроить нормально сеть так чтобы оно работало нормально и без глюков?
    Увы, я это делать не пробовал - в QEMU сеть настраивается нетрудно, а здесь просто руки до этого не дошли :-)

    ОтветитьУдалить
  18. У меня при переключении в полноэкранный режим по какой-то причине, окно с виртуальной ОС остается тех же размеров, что и было, а по краям экран просто становится чернымю. ;-(

    ОтветитьУдалить
  19. Есть очень актуальный вопрос - связь с реальной машиной!
    Поскольку монтирование аналогично qemu не есть доступно из-за того что сам образ находится на смонтированном разделе ntfs.

    ОтветитьУдалить
  20. Проблемы как минимум половины здесь отписавшихся с сабжем проистекают от недостаточного знания о нем. Советую внимательнее изучить все опции и почитать справку (локальную идет вместе с эмулятором). Во-первых после установки системы ставится пакет от авторов эмулятора для гостевой системы (и для винды и для линуксов) ускоряет графику, полностью интегрируется клава и мышь (никак переключатся не надо), в полседних версиях реализован буфер обмена. Сеть работает сразу в режиме NAT и инет тоже , можено настроить бридж (как ищите в инете много инфы) есть внутреняя сеть между гостевыми системами. Короче очень хорошая система, скорость отличная у меня тест в матлабе выполняется если и медленее чем в нативной винде то на какие-т проценты. Реализован RDP сервер...короче отличный эмулятор с удобным интерфейсом. проблемы есть но судя по скорости разработки они буду быстро решатся

    ОтветитьУдалить
  21. да в догонку, связь с реальной машиной вообще элементарна - есть управляемые в последних версиях с граф интерфейса папки обменя..указываешь папку на хост-системе и подключаешся к ней из гостевой как к обычной шаре.

    ОтветитьУдалить
  22. 2 Сергей Кохан пишет...
    Есть очень актуальный вопрос - связь с реальной машиной!
    В старых машинах VirtualBOX работало криво, сейчас, говорят, поправили. Напишу позже.

    2 Анонимный
    да в догонку, связь с реальной машиной вообще элементарна - есть управляемые в последних версиях
    Я немного отстал от жизни, т.к. пользую QEMU. Но надо будет пост про это забабахать. Спасибо за развёрнутый комментарий.

    ОтветитьУдалить
  23. С настройкой сети и правда напряги :) В описываемой в этой заметке версии сеть отлично работала в режиме NAT сразу же после установки, в других режимах - с хост интерфейсом например, так и не удалось запустить. Сейчас вышла версия 2.1.0, в ней сеть уже кроме NAT работает и с хост интерфесом, причем настраивать ничего не нужно, в настройках надо только выбрать сетевую карту через которую будет связь идти. Но в виртуальной машине устанавливается своя собственная виртуальная сетевуха (там можно выбрать из 4 разных), засада в том что мне надо постерировать вайфай карточку, а в виртаулбоксе нету поддержки беспродной сети.
    Виртуалбоксом часто пользуюсь.

    ОтветитьУдалить
  24. Рискуя получить порцию тухлых яиц и помидоров, всё же вставлю свои пять копеек.
    Научен опытом, что если в статье промелькивают всевозможные "злаXP" и "мастдаи", то мы с автором, как правило, разойдёмся в результатах.
    Ну вот смотрите: статья опубликована в 2007 году. Именно тогда у нас в офисе встала задача применения виртуальных машин, в основном для проверки софта на разных версиях Windows. Надо было сделать быстро и как можно проще. Выбор пал на VMWare. В качестве хост-системы Windows ну никак не подходила, потому что VMWare на *nix была реально быстрее (ну, процентов на 15% точно) и реально тормозила в момент переключения из vm в хост.
    Был взят обыкновенный дистр. Mandriva 2007.1 и установлен VMWare Server 1.x
    Так вот, данное решение живо до сих пор. И скажу вам по правде, вот этих слов - "намучавшись с VMware", от автора этой статьи (который, судя по всему, по сравнению со мной настоящий it-спец, ибо я в *nix полнейший новичок) я не ожидал. Почему? Тут обсуждаются плюсы и минусы Virtual Box с 2007-го, так вот:

    1) "Одна вещь в VirtualBox радует: это динамически задаваемый размер виртуального жёсткого диска" - ещё в 2005-м (могу ошибаться) эту фичу активно пользовали VMware, если не раньше.

    2) "для перехода на другую раскладку в гостевой ОС нажимаем комбинацию клавиш хост-системы" - Творец всемогущий! Без комментариев.

    3) "при работе эмулятора происходит постоянная загрузка процессора под 100%" - vm не только используется для постоянной работы в "гостях", но чаще для тестов. А такая "фича" озадачивает.

    Дальше просто праздник:

    4) "То ли дело ЗлоХП - эмуляция ЗлоСистем всегда праздник" - а я думал, эти времена прошли.

    5) "Рядовая ситуация - отмонтирование и выброс CD-ROM в эмуляторе приводит к мгновенной перезагрузке ЗлаХП" - это точно не в 2001-м написано?

    6) "Запуск некоторых приложений вываливает ЗлоХП в синий экран смерти, после чего при запуске вылезает из гроба scandisk и начинает долго и придирчиво латать гениальное патентованное изобретение Майкрософт - файловую систему FAT32." - на практике (и это понятно и такому прикладнику, как я), убивают виртуальную машину только приложения, что лезут на самый низкий уровень взаимодействия с железом. Но как правило, их запускать на vm редко когда нужно.
    P.S. Не играйтесь со злом на fat32.
    P.P.S. К вопросу надежности "виртуальных" данных на "виртуальном" диске. На VMWare такая возможность есть: отключить кеширование виртуального диска. Так вот: за два года, что я работал в vm (а я именно там работал, а не эксперименты делал), с таких дисков не исчезло ничего, даже когда хост-система рушилась или отрубалось питание. Хотя вру - в Опере кэш однажды рухнул. :-O

    7) "хороший и быстрый эмулятор для начинающих виртуализаторов без особых претензий и не для частого использования" - соглашусь пожалуй. Думал "потискать" VB, но попридержу коней. Ибо использую vm часто.

    8) "Пользуюсь вызвавшим у автора некие затруднения (интересно было бы их послушать) VMware Player. Работает очень быстро (% на 70 быстрее QEMU+kqemu) и стабильно. Зло2k летает, периферия (сканер, принтер) подключается влет. В общем, доволен как слон: из связки VMware Player & VMTools (взятого из VMware Server) получилась отличная виртуалка и совершенно даром ^_^" - жму руку! :-)

    Коммент написан прям из этой самой "виртуальной" злой XP на VMWare, которую (если включить полноэкранный), не всякий виндузятник отличит от настоящей. ;-) Удачи!

    ОтветитьУдалить
  25. 2 izverg13 комментирует...
    С настройкой сети и правда напряги :)
    В QEMU в общем тоже, но там можно использовать NAT и он работает.

    Сейчас вышла версия 2.1.0, в ней сеть уже кроме NAT работает и с хост интерфесом, причем настраивать ничего не нужно
    Надо будет посмотреть. Спасибо!


    2 Pimp комментирует...
    Рискуя получить порцию тухлых яиц и помидоров
    Ну что вы, тут не LOR, тут приличные люди :-)

    если в статье промелькивают всевозможные "злаXP" и "мастдаи", то мы с автором, как правило, разойдёмся в результатах.
    Автор просто погорячился, это с ним бывает :-)
    Нездорово, согласен. Убрал.

    вот этих слов - "намучавшись с VMware", от автора этой статьи (который, судя по всему, по сравнению со мной настоящий it-спец
    Никакой я не айти-спец, а простой инженер. В то время, когда я пробовал запалить vmware (2005 год), там действительно были сложности. С QEMU их было много меньше, так что я его, QEMU, и выбрал в конечном итоге.

    "для перехода на другую раскладку в гостевой ОС нажимаем комбинацию клавиш хост-системы" - Творец всемогущий! Без комментариев.

    4) "То ли дело ЗлоХП - эмуляция ЗлоСистем всегда праздник" - а я думал, эти времена прошли.
    Не совсем. До сих пор довольно много программ под Windows, которые в эмуляторе работают не так, как на реальном железе. И это не какие-нибудь спец.утилиты, а вполне рядовые словари и справочники.

    5) "Рядовая ситуация - отмонтирование и выброс CD-ROM в эмуляторе приводит к мгновенной перезагрузке ЗлаХП" - это точно не в 2001-м написано?
    Совершенно точно. На описываемой версии глюк воспроизводится с любым диском именно в Windows.

    На VMWare такая возможность есть: отключить кеширование виртуального диска. Так вот: за два года, что я работал в vm, с таких дисков не исчезло ничего, даже когда хост-система рушилась или отрубалось питание.
    Это да. Если я правильно помню, то в том же QEMU диски без кеширования (только там это не опция).

    7) "хороший и быстрый эмулятор для начинающих виртуализаторов без особых претензий и не для частого использования" - соглашусь пожалуй. Думал "потискать" VB, но попридержу коней.
    Что меня действительно бесит в VirtualBox, так это его графический интерфейс и недоделанный командный. Хотя сейчас это может и изменилось.

    VMware Player... В общем, доволен как слон: из связки VMware Player & VMTools (взятого из VMware Server)
    Дык конечно доволен - с VMWare tools-то! :-) А мне их откуда брать? Так что я пока останусь на QEMU, который меня всем устраивает.

    Да, Pimp, спасибо за такой развёрнутый комментарий. Статью поправил.

    ОтветитьУдалить
  26. Юзаю сей эмулятор, работает нормально, поставил на него Debian Lenny...
    Основная система работает отлично, но за день мучений мне так и не удалось запустить x-server.
    Точнее он запускается, но через секунду вылетает.
    Грешить на кривость рук или эмулятор? Делал всё, точь в точь, по инструкции на этом сайте... + перепробовал все конфиги

    ОтветитьУдалить
  27. Сначала VirtualBox понравился ... Даже выкинул "варьку" и оставил VirtualBox.
    Но в последствии пожалел!
    Случайно сравнил скорость интернета на гостевой и основной системах. Сначала подумал, что Дебиан в гостевой глючит.

    Но потом оказалось что и Windows XP ведет себя в гостевой системе точно так же!
    А именно: если скорость загрузки почти такая же, как в основной системе, то выгрузка в 3,5-5 раз меньше (это и в ХР и в Дебиане)!
    При этом скорость 10мегабит, как вниз, так и вверх в основной системе стабильная ...
    Вернулся к Варьке ... благо старушка 7 версии осталась.
    Поставил туда эти же образы ХР и Дебиана ...
    И о чудо!
    Скорость интернета ни чем не отличается от основной системы.

    ОтветитьУдалить