Вход
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, но он не настолько бесплатен и излишне громоздк. "Виртуальный ящик" полегче, и активно развивается, версии выходят достаточно часто, и список изменений в них обширен. Я его ставил чтобы в линуксе разбираться. Все остальные конкуренты до 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. Сделал пинг сервера - пошли теряться пакеты. Оказалось, что теряются они только внутри Коробки. Снаружи все прекрасно работает. |