КС2

Наш журнал - не продается.
Статьи > Обзоры
Gambler / 2009.03.27

VirtualBox

Я давно уже имею привычку держать на компьютере несколько операционок. Часто - одну для работы, другую для развлекаловки. Подобный тандем в целом понадежнее, да и живет дольше. Традиционно, он делается при помощи установки на разные партиции и мультизагрузки. Однако мультизагрузка - штука по-своему проблематичная. Хотя бы тем, что когда загрузчик с первой системой находится на одном физическом диске, а вторая система на другом, то вторая система при подыхании или замене первого дисковода становится мертвым грузом. К тому же заставить виндовый загрузчик увидеть какой-нибудь Linux - то еще развлечение. Немного проще установка систем на разные физические диски. В этом случае переключаться между ними можно через BIOS, которому глубоко плевать, что именно там стоит и в каком порядке. Однако и этот способ имеет свои недостатки. Купив недавно харддрайв на 500 гигабайт, я решил не ковыряться с мультизагрузкой, а попробовать вместо этого крайне модную сейчас виртуализацию. Скачал VirtualBox, поставил, поигрался, и в конце концов решил написать на него этот обзор.

Вообще, идея виртуализации довольно интересна. У вас есть компьютер, на котором стоит одна "хозяйская" операционная система. Под ней установлен софт для виртуализации, внутри которого можно ставить другие операционные системы (гостевые). Они при этом оказываются изолированы: используемая ими память умещается в один процесс, жесткий диск - в один файл, монитор - одно окно, а доступ к железу типа портов прикрыт. Применений у этой технологии множество. В литературе для системных администраторов, CTO, CIO и так далее ее преподносят как средство чуть ли не ото всех проблем с компьютерной инфраструктурой. Однако описанные там методы использования виртуализации имеют мало общего с нуждами нормальных пользователей.

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

Дабы побороть эти прискорбные явления, я на "игровой" Windows XP поставил "рабочий" виртуальный Windows 2000. Это странный расклад, но он весьма удобен, особенно после установки резидентной программы-интегратора.

Как я уже сказал, вид на "монитор" виртуальной системы умещается в одном окне. Мышь работает прозрачно (т.е. как бы один указатель на две системы). Клавиатура начинает работать при приобретении окном фокуса. Так же можно нажатием особой комбинации клавиш перейти в полноэкранный режим, но это не столь интересно, хотя удобно.

Одна из интересных возможностей ВЯ - общий буфер обмена для всех систем. То есть можно без каких-либо усилий копировать текст или картинки из или в виртуальные машины. Для обмена файлами удобно использовать общие директории. Например, на моем 2000м раздел H - это просто смонтированная директория из XP. Система его видит как сетевой. Можно, конечно, подключаться и к настоящим сетевым дискам; виртуальные машины получают отдельные IP адреса и без каких-либо проблем работают с LAN.

В теории, описанной функциональности уже вполне достаточно для того, чтобы использовать систему ВЯ в качестве рабочей станции. Однако тут встает проблема производительности. Многие статьи в интернете намекают, что производительность внутри виртуальной системы практически такая же, что и снаружи. Мне всегда это казалось брехней - и вполне полноправно. То есть приложениях типа Open Office или GIMP работают на виртуалке вполне шустро, намного лучше, чем они работали бы на каком-нибудь старом компьютере. Однако по-нормальному смотреть видео или записывать звук у меня не получилось. (Хотя в принципе в VirtualBox есть звуковая подсистема и экспериментальная поддержка 3D ускорения.) В записях были "провалы", а видео явно тормозило. Более того, распаковка гигабайтного архива с DVD на жесткий диск в ВЯ занимает примерно в два раза больше времени, чем вне ее. Из чего я заключаю, что работа с виртуальной периферией - нелегкая для компьютера задача. Логично.

Помимо дисков и сети, к виртуальной системе можно подключать USB и COM устройства. Теоретически. Поддержка COM портов была добавлена недавно, и я ее не тестировал. Поддержка USB работает, но с переменным успехом. Например, когда я пытаюсь передать контроль над принтером VirtualBox, Виндовс требует (каждый раз) установки особого USB устройства, и на этом дело заканчивается.

Но возможности ВЯ не ограничиваются абстрагированием железа. Есть в ней и возможности, которые отсутствуют в обычных системах. Например, можно сохранить состояние всей системы и вместо запуска или перезапуска, возобновить работу ровно с того момента, где вы находились прежде. Это в чем-то похоже на гибернацию, в чем-то на "откат" Windows, но разница заключается в том, что сохраняется не только память, не только состояние каких-то частей OC, а вообще состояние всей системы, включая все файлы на виртуальном жестком диске. (После сохранения система "запоминает" только разницу между новым и старым диском, так что ужасно много места это не занимает.) Одно из применений этой технологии - ускорение загрузки. Вместо запуска системы просто загружается ее снапшот. Но ей можно найти применение и поинтереснее - например, сделать снимок системы, загрузить на нее какой-нибудь вирус, проверить, находит ли его антивирус, а потом сделать откат обратно.

Или вот еще: к виртуальными системам можно подключаться по сети и работать удаленно. Можно монтировать ISO файлы как CD. Можно монтировать директории в режиме readonly. Можно много чего, я только сомневаюсь, что обычным пользователям все эти способности программы будут особо интересны. Поэтому вместо более подробного описания, я просто подведу итог: программа бесплатная, работает, не очень тормозит и имеет простой интерфейс. Если вам нужна подобная функциональность, советую попробовать.

[Картинка] - VirtualBox в деле.


Комментарии

АвторКомментарий
Akven
2009-03-27 08:26:28

Хорошая программа. Есть конечно VMWare, но он не настолько бесплатен и излишне громоздк. "Виртуальный ящик" полегче, и активно развивается, версии выходят достаточно часто, и список изменений в них обширен. Я его ставил чтобы в линуксе разбираться.
От компьютера по идее что самое главное требуется - это побольше ОЗУ. Нелишним будет и поддержка системой хардварной виртуализации, когда поддержка виртуальных систем и распределения ресурсов обеспечивается на аппаратном уровне. Обычно в биосах эта опция по умолчанию отключена, есть в последних процессорах и материнских платах, но не во всех. Смотреть надо тесты типа CPU-Z.

Все остальные конкуренты до VMWare и VirtualBox и близко не дотягивают.

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

Gambler
2009-03-28 00:50:29

Я подправил кое-где статью и добавил один скриншот. На скриншоте в том числе запечатлен тест на пропускную способности диска. Что бы там ни писали в статьях, проигрыш в производительности все-таки довольно большой.


Последние версии ВЯ вроде бы поддерживают аппаратную виртуализацию, но создатели VirtualBox утверждают, что их софт, который заменяет это железо, в среднем дает лучшую производительность. Сам я ничего по этому поводу сказать не могу, т.к. у меня e4300, и никаких VT-x там нет.

Akven
2009-03-28 15:45:11

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

Gambler
2009-03-28 21:17:24
[изменен]

Хех, так я про Коробку, то есть Виртуальный Ящик (ВЯ), и говорил. Производители и некоторые пользователи утверждают, что подключение VT-x замедляет работу виртуальной системы, потому что VT-x не делает каких-то хитрых оптимизаций, а заменяющий VT-x софт - делает.

Вообще, я тоже не энтузиаст виртуализации всего и вся, но забивать игровой компьютер серверами и редакторами как-то не хочется. С минимум приложений XP у меня грузится примерно столько же, сколько инициализируется BIOS, и это приятная мелочь.

Gambler
2009-07-27 04:00:02

Странно. В последнее время у меня что-то вдруг стали закрываться соединения по PuTTY. Использовал я ее из системы под VirtualBox. Сделал пинг сервера - пошли теряться пакеты. Оказалось, что теряются они только внутри Коробки. Снаружи все прекрасно работает.


Комментарии

2020.09.24
Gambler комментирует Squad.
2017.07.30
Gambler комментирует Thimblweed Park.
2017.02.18
Gambler комментирует Soma.
2016.01.14
Gambler комментирует Особенности форумов phpBB.
2015.07.13
Ruberd комментирует Особенности форумов phpBB.
2015.06.16
Gambler комментирует Старьё или Апгрейд номер шесть и даже семь.
2014.11.15
Gambler комментирует Глупая писанина про Dreamfall: Chapters.

Сообщения

2022.04.04
Gambler отвечает на "Что _советуем_ прочитать?"(35).
2019.11.23
Gambler создает "Discord Конкурса"(1).
2019.11.22
Gambler отвечает на "HTC Vive"(7).
2018.09.02
Gambler создает "Блог художника Blackwell and Technobabylon"(1).
2018.06.14
Gambler отвечает на "Алан Кей - некоторые видео"(14).
2018.05.29
Gambler создает "Смотрю прохождение DETROIT BECOME HUMAN и думаю..."(1).
2016.10.30
Gambler отвечает на "Что читаем?"(63).

Комментарии к новостям

2023.12.20
Gambler комментирует Вышел Jagged Alliance 3.
2023.08.22
Gambler комментирует Вышел Jagged Alliance 3.
2022.06.15
Gambler комментирует Выпущена демо-версия Old Skies.
2021.04.10
Gambler комментирует Ранний выпуск Colony Ship.
2021.04.09
Ruberd комментирует Ранний выпуск Colony Ship.