Windows 10 тормозит на Virtualbox. Svchost грузит процессор под 100%. Оптимизация virtualbox


Windows 10 тормозит на Virtualbox. Svchost грузит процессор под 100%

Медленная работа Windows 10 на виртуальной машине — довольно часто обсуждаемая проблема на Интернет-форумах. Пользователи жалуются на то, что кнопка Пуск, Центр уведомлений и значки программ в панели задач реагируют на клики с большой задержкой, а процесс svchost.exe грузит процессор виртуальной машины на 100% в состоянии бездействия. При этом отклик графического интерфейса бывает настолько медленным, что работать с виртуалкой просто невозможно. Давайте разберемся, как ускорить Windows 10 на виртуальной машине Virtualbox.

Удалите вирусы и вредоносное ПО

Прежде, чем приступать к поиску причин медленной работы Windows 10 на Virtualbox, убедитесь в том, что виртуальная машина не заражена вирусами и malware. Выполните проверку программами AdwCleaner, Anti-Malware и CureIt.

Установите Дополнения гостевой ОС

Дополнения гостевой ОС (Guest additions) — это набор драйверов для виртуального железа. Его обязательно нужно установить сразу после установки ОС. Для пакета дополнений периодически выходят обновления, о чем вы будете уведомлены. Для установки щелкните Устройства и выберите Подключить образ диска Дополнений гостевой ОС:

После этого запустите либо вручную запустите файл VBoxWindowsAdditions.exe с виртуального DVD-привода.

Используйте настройки по умолчанию для виртуальной машины

Имеется в виду — для конкретной ОС на виртуальной машине. Естественно, при установке ОС на виртуалку необходимо правильно выбрать тип и версию операционной системы.

Здесь стоит дать несколько рекомендаций по поводу ОЗУ и процессора.

Не изменяйте никакие настройки машины, если вы не уверены в правильности своих действий. Часто пользователи пытаются ускорить Windows 10 на Virtualbox, добавляя ядра до отказа и изменяя другие параметры, но это наоборот приводит к снижению скорости работы машины.

Переместите файл виртуального жесткого диска на SSD

Windows 10 рассчитана на работу со скоростными накопителями, поэтому увеличить скорость чтения и записи с накопителем никогда не будет лишним. Читайте руководство о том, как переместить файл виртуального диска.

Используйте фиксированный жесткий диск

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

Обновите Virtualbox до последней версии

Нередко устраняются баги. Особенно это касается свежих версих ОС — например, Windows 10 на данный момент. Для обновления Virtualbox на компьютере-носителе выключите все виртуальные машины и выберите Файл — Проверить обновления:

После обновления вы сможете продолжить пользоваться вашими машинами. Никакие данные на них затронуты не будут.

Включите поддержку виртуализации в UEFI / BIOS

Virtualization Technology позволяет виртуальной машине использовать дополнительные возможности железа. Если у вас в BIOS (UEFI) есть такой параметр, обязательно включите его.

Отключите визуальные эффекты Windows 10 в виртуальной машине

Особенно это касается малополезных эффектов затухания, скольжения и тому подобных, которые отбирают лишние ресурсы процессора и замедляют скорость работы интерфейса на маломощных системах:

compfixer.info

Как уменьшить размер витруальной машины в Oracle VirtualBox

Многие, кто используют виртуальные машины под управлением VirtualBox, сталкиваются с проблемой «разрастания» образа виртуальной машины. Уменьшить образ виртуальной машины очень легко – подробная инструкция приведена ниже.

  1. Запустите виртуальную машину, размер которой вы хотите уменьшить.
  2. Выполните дефрагментацию диска и дефрагментацию свободного пространства на диске. Лучше это делать при помощи программы "Defraggler" - ее можно бесплатно скачать с официального сайта разработчика. Скачайте, установите на виртуальную машину, выполните дефрагментацию файлов, затем в пункте меню выберите "Действия" -> "Дополнительно" -> "Дефрагментация свободного места".
  3. Скачайте файл SDELETE.EXE – взять его можно на официальном сайте Microsoft.com - скачать SDELETE.EXE. Если ссылка не работает – просто погуглите.
  4. Распакуйте скаченный файл и поместите его в корень диска C.
  5. Запустите файл из командной строки с параметром –Z, т.е. вот так: sdelete.exe –z
  6. При первом запуске возможно появится окно с предупреждением – нажмите кнопку "I Agree".
  7. Дождитесь очистки свободного места, при этом игнорируя возможные предупреждения системы о нехватке места.
  8. После окончания работы программы выключите виртуальную машину и закройте VirtualBox.
  9. Далее в базовой (НЕ ВИРТУАЛЬНОЙ) операционной системе идем в консоль и выполняем следующую команду:
  10. "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd D:\VM\Win7.vdi compact

Обратите внимание – пути к файлам на Вашей машине могут отличаться – посмотрите, где у Вас расположены файлы VBoxManage.exe и где - виртуальная машина *.vdi. И еще обратите внимание – если в пути к файлу содержится пробел (например, \Program Files\), то весь путь до файла надо брать в кавычки. Для примера, первый пусть у меня в кавычках, второй – без.

Когда команда отработает, смотрим размер файла с виртуальной машиной. В моем случае он стал меньше более чем в два раза.

Еще записи по теме

intermaster.com.ru

Настройка сети VirtualBox | Losst

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

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

Содержание статьи:

Виды сетевых адаптеров VirtualBox

Существует несколько способов как настроить сеть в virtualbox, и каждый из них подходит для лучше для решения одной задачи и меньше для другой. Рассмотрим основные:

Теперь рассмотрим каждый вариант настройки более подробно.

Настройка сети Virtualbox

1. Настройка сети NAT

Здесь почти нет о чем говорить. Получение доступа к сети через NAT включено по умолчанию. Проброс портов я рассматривал в отдельной статье. Но если вы раньше отключали сетевые адаптеры, то чтобы включить NAT обратно достаточно открыть настройки нужной машины:

 

Перейти на вкладку "Сеть":

Выбрать один из адаптеров. К виртуальной машине можно подключить несколько адаптеров и это очень удобно, так как вы можете комбинировать вместе адаптер виртуального хоста и NAT чтобы получить преимущества обоих режимов. Дальше вам нужно выбрать пункт "NAT" в списке "Тип подключения".

 

На вкладке "Дополнительно" вы можете настроить марку устройства адаптера и MAC адрес:

Если вы собираетесь устанавливать туда в Windows, то лучше будет работать Intel PRO/1000 MT Desktop, а для Linux можно оставить AMD PCNet FAST III, так как он поддерживается всеми операционными системами.

2. Настройка сети NAT

В версии Virtualbox, начиная с 4.3 была добавлена поддержка сетей NAT, это работает очень похоже на виртуальный адаптер хоста, все машины, подключенные к одной сети могут получить доступ друг к другу, а доступ в интернет выполняется через NAT, но основная система доступа к гостевым не имеет. Чтобы настроить такое подключение нужно сначала создать сеть NAT. Для этого откройте "Файл" -> "Настройки", "Сеть". Здесь перейдите на вкладку "Сети NAT". Дальше нажмите кнопку с зеленым плюсом, чтобы создать новую сеть:

 

 

Нажмите "Ok" и закройте это окно. Дальше откройте настройки для виртуальной машины, перейдите на вкладку "Сеть" -> "Адаптер 1":

Выберите "Тип подключения" - "Сеть NAT", а "Имя" - только что созданную сеть.

Теперь все машины, подключенные к этой сети, будут доступны друг другу, как в VMWare.

3. Настройка адаптера виртуального хоста

Теперь задача немного интереснее - нам нужна локальная сеть virtualbox между несколькими виртуальными машинами и хостом. Для того чтобы все это заработало в Linux, нам нужно чтобы были загружены модули ядра vboxnetadp и vboxnetflt:

lsmod | grep vbox

Возможно, для их правильной работы вам придется установить пакет net-tools. Дальше нужно создать сам виртуальный адаптер. Для этого откройте меню "Файл", затем "Настройки" -> "Сеть". Затем нажмите кнопку с зеленым значком плюс, а затем "Ok", все параметры можно оставить по умолчанию. В VirtualBox 5.2 и выше интерфейс был изменен. Теперь вам нужно открыть меню "Инструменты" -> "Менеджер сетей хоста":

 

 

Нажмите кнопку "Создать", затем, в появившемся адаптере, напротив пункта DHCP установите галочку "Включен".

Теперь вернитесь к списку виртуальных машин, зайдите в настройки машины, "Сеть":

Выберите "Тип подключения" - "Виртуальный адаптер хоста", а имя vboxnet0, тот, который вы создали раньше.

Для всех машин, которые вы хотите объединить в одну сеть нужно выбирать один и тот же адаптер хоста. Если вы захотите добавить машинам также доступ в интернет, просто перейдите на вкладку "Адаптер 2", включите его и настройте NAT, как описано в первом пункте.

4. Настройка сетевого моста VirtualBox

Режим сетевого моста позволяет виртуальной машине выступать в роли реального сетевого устройства с отдельным ip адресом. Чтобы это настроить откройте это же меню - настойки виртуальной машины, затем "Сеть". Здесь выберите "Тип подключения" - "Сетевой мост":

 

В поле "Имя" вам необходимо выбрать сетевой интерфейс, который будет использоваться для связи с внешним миром. Минус такого способа в том, что внешние компьютеры смогут получить доступ к виртуальной машине, а это не очень хорошо с точки зрения безопасности.

5. Внутренняя сеть VirtualBox

Режим внутренняя сеть Virtualbox похож на "Виртуальный адаптер хоста", за тем лишь исключением, что из хостовой системы доступа к гостевым не будет, и настроить все немного проще. Достаточно выбрать "Тип подключения" - "внутренняя сеть", а затем просто выбрать нужную сеть в поле "Имя", или создать новую, просто изменив имя текущей.

Как видите, существует тип подключения NAT - где только интернет, Мост - где машина становится членом внешней сети, а все остальные - это настройка виртуальной сети virtualbox, где машины могут видеть друг друга.

Выводы

В этой небольшой статье мы рассмотрели как выполняется настройка сети VirtualBox, как видите, это не так уж сложно, как может показаться на первый взгляд, несмотря на операционную систему, которую вы используете. В большинстве случаев достаточно сети NAT, но иногда может понадобиться виртуальный адаптер хоста, все же остальные режимы используются намного реже.

Оцените статью:

Загрузка...

losst.ru

Полезные настройки VirtualBox

Большинство пользователей, которые впервые работают с VirtualBox, по первому взгляду решают. что данная программа простая и малофункциональная. На деле такое мнение можно считать вполне объективным в том случае, если пользователь уже ранее работал с программами для виртуализации операционных систем, например, одной из таких программ является  VMware.

 

 

Возможно и справедливо считать, что VirtualBox, по сравнению с VMware, стоит на втором месте, но несмотря на это VirtualBox не такая и простая программа как может показаться на первый взгляд. В большинстве случаях пользователи, особенно новички, попросту не видят всех скрытых возможностей и эта не совсем справедливая точка зрения, порождает мнение о “не профессионализме” данной программы, которая не является таковой.

В этом посте, нам бы хотелось переубедить вас по поводу этого заблужения. Помимо этого дадим вам несколько весьма дельных советов по VirtualBox, благодаря этим советам ваша работа с этой программой станет более удобной и комфортной.

Преимущественно большая часть ниже изложенных функций требует Дополнительной гостевой операционной системы. Обратите на это внимание!

Снимки системы

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

Если по каким то причинам от вашей операционной системы останется «мокрое место», всего лишь при помощи одного нажатия кнопки её можно восстановить. Как показывает практика, использование скриншотов гораздо эффективнее точных копий, так как весь процесс восстановления происходит буквально за 3 секунды. Такая функция как создание снимков незаменима при при тестировании нестабильного программного обеспечения, а также при проведении экспериментов с реестром и файловой системой виртуальной ОС.

Режим интеграции дисплея

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

Поддержка 3D

В программе Oracle VM VirtualBox уже есть базовая поддержка технологий 3D. С помощью 3D мы можете осуществлять запуск, на виртуальной машине, не слишком требовательные к системе игры, а так же оценить эффективность Aero. По умолчанию такая функция как 3D не активна. Для того чтобы её установить нужно закрыть виртуальную машину, далее зайти в настройки и в разделе «Дисплей» поставить нужные галочки. После, загрузите виртуальную операционную систему, обязательно в безопасном режиме, установить или переустановить Дополнения гостевой ОС, и при этом нужно не забыть поставить в окне установщика галочку рядом с “Direct3D Support…”. Драйвер поддержки 3D, установить в обычном режиме невозможно, а если вдруг вы попытаетесь то получите предупреждение.

Использование USB-портов

Работая в виртуальной системе, вы имеете возможность работать с физическими портами базового ПК. Для того чтобы получить доступ к имеющимся данным, например на флеш карте или съемном жестком диске, для начала необходимо подключить их к вашему ПК, а уже после в окне виртуальной системы выбрать “Устройства” -> “Устройства USB”, и затем в выданном списке выбрать накопитель который подключен.

Общие папки

Наверно, работу с VirtualBox, трудно определить как удобную, если бы разработчиками не было приведено в действие поддержка общих папок. Отличное решение! Такие папки разрешают получать доступ к одинаковым файлам как из хостовой системы, так и из виртуальной системы. Если скопировать или переместить файл в такую папку на основной машине, вы таким образом делаете его доступным и для виртуальной машины.

Буфер обмена и функция Drag-and-drop

Стоит помнить, что в настройках, буфера обмена, по умолчанию функция  передачи любых данных с одной системы (базовой) на другую систему (виртуальную) находиться в не активном режиме. Для того что бы эту функцию активизировать, нужно включить в общих настройках вирт. системы. Но так же, не следует забывать, что такая функция как  drag-and-drop может работать только в гостевых операционных системах Linux, и вообще только в режиме эксперимента. В гостевых операционных системах Windows, передача данных через буфер обмена работает, но к сожалению лишь «наполовину», т.е. копировать и вставлять можно разве что исключительно текст.

Конечно мы точно не знаем почему наложены такие ограничения, однако как вариант, это может в связи с безопасностью. Использование таких папок как общие, считается вероятной угрозой для хостовой системы, то конечно с той же осторожностью надо относиться и к «каналу» буфера обмена.

Функция клонирования

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

Импорт и экспорт конфигураций

Такая функция, разрешает вам перемещать машину созданную в VirtualBox на другие ПК, если точнее то и на другие системы виртуализации, к примеру на VMware или Microsoft Virtual PC. Для таких целей разработали специальный кроссплатформенный стандарт Open Virtualization Format или OVF. Данный формат считают универсальным, однако не стоит исключать, что в момент переноски вирт. машины на любой другой продукт виртуализации, у пользователя не возникнут некоторые проблемы. При переносе с VirtualBox гостевая операционная система конвертируется в один файл, имеющий формат OVF, который позже может быть развернут на других системах виртуализации.

Итог

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

С одной из них мы уже ознакомились, когда изучали способ расширения вирт. диска имеющим фиксированный размер. А как на счет управления машиной через RDP, консоль, перенос хостовой Windows-системы в виртуальное окружение?

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

Скачать VirtualBox

Добавить комментарий

www.dirfreesoft.ru

Как сжать чрезмерно увеличившийся виртуальный диск VirtualBox

У виртуальных динамических дисков VDI, созданных в программе VirtualBox есть одна особенность, которая при определённых обстоятельствах может доставить пользователю некоторые неудобства. При копировании на них массивов данных динамические виртуальные диски имеют свойство расширяться, но если затем вы удалите с такого диска все файлы, его размер останется прежним. Таким образом виртуальная машина может раздуться до весьма значительных размеров, заняв на физическом носителе неоправданно много места.

Ключ resize, предназначенный для изменения размера виртуального диска VirtualBox в данном случае бесполезен, так как работает он только в одну сторону — в сторону расширения диска. Чтобы сжать виртуальный диск, необходимо использовать другой ключ — compact. Но перед тем как приступать к сжатию, нужно удалить с виртуального диска все ненужные файлы, а затем выполнить его зачистку с помощью утилиты Sdelete, созданной известным программистом Марком Руссиновичем и входящей в пакет средств администрирования Windows Sysinternals. Также необходимо удалить все снимки виртуальной машины, в противном случае вы можете получить ошибку.

Примечание: утилита Sdelete используется для очистки разделов и дисков в ОС Windows, для очистки дисков в Linux следует использовать утилиту ZeroFree.

Sdelete имеет маленький вес и не требует установки.

Поместите её внутри запущенной виртуальной машины в корень системного раздела, а затем, открыв от имени администратора командную строку, выполните такие команды:

cd C:\sdelete.exe -s -z C:

Аналогичным образом зачистите свободное пространство пользовательского раздела.

sdelete.exe -s -z D:

После этого завершите работу виртуальной машины, от имени администратора откройте в базовой системе командную строку и последовательно выполните две этих команды:

cd C:\Program Files\Oracle\VirtualBoxVboxManage.exe modifyhd "D:\Oracle VM VirtualBox\Windows 10 x86 Ent 1607.vdi" --compact

Первой командой мы переходим в расположение утилиты VboxManage.exe, а второй производим сжатие виртуального диска с помощью команды modifyhd и ключа compact. Путь к файлу VDI у вас будет свой, также не забывайте о прямых кавычках, если в пути или имени файла есть пробелы. Процедура сжатия занимает больше времени, чем расширение (на это нужно всего несколько секунд), так как утилите приходится работать с реально занятым дисковым пространством.

А теперь, наверное, самый интересный вопрос. Как и от каких виртуальных разделов будет отнято дисковое пространство?

От обеих, причём забрано будет всё виртуальное пространство, на котором нет файлов, — именно на столько будет сжат файл VDI. Однако визуально в самой виртуальной машине ничего не изменится. Разделы в ней по-прежнему будут иметь «свободное место», а сам размер дисков видимо останется таким же, каким он был до сжатия. Но это все, конечно, пустяки. Главное, что таким образом вы уменьшите размер файла VDI, высвободив тем самым место на физическом жёстком диске.

Утилита Sdelete: technet.microsoft.com/ru-ru/sysinternals/bb897443.aspx

www.white-windows.ru

Установка и настройка VirtualBox - NightDevel

VirtualBox (Oracle VM VirtualBox) — программный продукт виртуализации для операционных систем Microsoft Windows, Linux, FreeBSD, Mac OS X, Solaris/OpenSolaris, ReactOS, DOS и других.

Проще говоря, это виртуальный компьютер, со своим железом, позволяющий Вам установить на него довольно большое разнообразие операционных систем. Виртуальная машина прекрасно подходит для разработки сайтов и приложений. Зачем париться с виртуальной машиной, скажете Вы, когда можно взять тот же Openserver, Denwer и т.д., которые работают под виндой, в которых все уже настроено и работает из коробки?!Причин для выбора виртуальной машины в качестве среды для разработки, на мой взгляд, несколько:

Итак, нам необходимо будет установить VirtualBox, ubuntu, openssh-server, LAMP, drush.

Содержание

Установка VirtualBox

Для начала скачиваем VirtualBox с официального сайта[2].После запуска экзешника будет предложено ввести имя виртуальной машины. Вводим имя, из типа ОС выбираем linux, версия - ubuntu.Далее выбираем объем оперативной памяти. Думаю, не стоит упоминать, что Вы должны выбирать именно оптимальный размер, а не отдавать всю память виртуальной машине - в этом случае и машина может не запуститься и Ваш основной компьютер будет ощущать острую нехватку памяти.Если есть уже созданный диск можно выбрать его, если нет - создаем новый.Оставляем тип диска по умолчанию и жмем Далее.Выбор формата хранения. Для более быстрой работы рекомендуется выбрать фиксированный размер жесткого диска. Если на диске компьютера не так много места, можно выбрать динамический размер - он будет увеличиваться по мере заполнения. В нашем случае выбираем фиксированный.Далее указываем место на диске, где будет храниться образ виртуальной машины и указываем размер виртуального жесткого диска, не менее 8 Гб.Жмем на кнопку Создать и ждем создание образа виртуальной машины.

Настройка VirtualBox

Итак, образ виртуальной машины создан, теперь самое время внести корректировки в железо. Переходим в раздел Файл → Настройки.Одна из первых вкладок - Система. Если Вы после установки памяти на этапе инсталляции решили увеличить (изменить) размер памяти, то именно здесь Вы можете подкорректировать размер оперативной памяти.На горизонтальном табе Процессор выставляем желаемое количество ядер (если же у Вас одно ядро процессора - все оставляем как есть) и предел загрузки.На табе Дисплей увеличиваем видео память и ставим галочку Включить 3D ускорение - это позволит виртуальной машине получить возможности 3D графики от основного компьютера.Вкладки Носители и Аудио не сильно нас интересуют, поэтому сразу переходим на вкладку Сеть. Здесь выбираем тип подключения - сетевой мост, а имя - из доступного в выпадающем списке.Теперь необходимо загрузить в виртуальный привод образ ubuntu. Я использовал версию 12.04. Выбрать подходящую версию и скачать можно также с официального сайта[3].Далее запускаем нашу виртуальную машину и начинаем процесс установки серверной ubuntu.

Установка ubuntu

Останавливаться подробно на процессе установки ubuntu не имеет смысла, в инете полно статей и видео уроков по этому поводу. Единственное, что хочется отметить, на последних шагах установки выберите дополнительную установку Openssh server и LAMP.

Установка drush

Для установки drush, запускаем виртуалку (если она не запущена), логинимся и используем команду

1 sudo apt-get install drush

В следующей статье Установка Drupal на VirtualBox мы настроим ssh доступ и рассмотрим процесс установки Drupal на виртуальную машину.

  1. Версии программных продуктов, используемых в статье: VirtualBox 4.3.4, Ubuntu 12.04
  2. https://www.virtualbox.org/wiki/Downloads - страница загрузки VirtualBox с официального сайта.
  3. http://www.ubuntu.com/download/alternative-downloads - страница загрузки Ubuntu с официального сайта.

nightdevel.ru

VirtualBox: Неочевидные трюки использования виртуальной машины

Если хоть раз попробуешь установить Linux под VirtualBox’ом, может сложиться впечатление, что это очень простой инструмент. Интерфейс виртуальной машины не содержит ничего лишнего, а работа с приложением предельно понятна и прозрачна. На самом же деле под этой простотой скрывается масса дополнительных возможностей, которая нужна далеко не всем. Но эта история не про нас.

Работая с VirtualBox’ом каждый день, открываешь для себя все новые и новые фишки. Например, недавно, когда мне понадобилось отснифать весь трафик виртуальной машины, оказалось, что необязательно использовать сниффер: для этого есть встроенная опция в самой программе. А встроенный API, как оказалось, за последние полтора года сильно шагнул вперед, и я буквально за часик разобрался и сварганил скрипт, который автоматически выполнял нужные мне действия внутри гостевой системы. Сегодня мы решили аккумулировать свой опыт и составить несколько полезных и подчас неочевидных приемов работы с VirtualBox, к которым нам нередко приходится прибегать.

Трик 1. Управляем виртуальными машинами через RDP

Удаленный доступ — это то, что я использую каждый день. С этой стороны особенно приятно, что к любой виртуальной машине VirtualBox можно удаленно подключиться и комфортно работать с ней, используя стандартный протокол RDP (Remode Desktop Protocol). Подойдут любые знакомые клиенты: виндовая утилита mstsc или, например, никсовый FreeRDP (www.freerdp.com). Для каждой виртуальной машины выделяется отдельный порт, поэтому нет никакой проблемы, чтобы запустить на хостовой машине сразу несколько виртуалок и в случае необходимости обращаться к любой из них. Соответственно, все, что нужно для подключения — это указать IP-адрес хостовой машины с нужным портом. Стандартный виндовый клиент вызывается по команде mstsc. Под никсами выполнить подключение не менее просто через rdesktop, который в любом современном дистрибутиве установлен по умолчанию:

rdesktop host_system_ip:port

rdesktop host_system_ip:port

Включить доступ по RDP и назначить порт можно в настройках каждой виртуальной машины на вкладке «Удаленный дисплей». Для виртуалки с виндой можно оставить порт по умолчанию 3389 (имей в виду, что он может быть занят непосредственно серверо м RDP хостовой машины), а для машины с никсами — 3390 и т.д. Если планируется несколько одновременных подключений, необходимо активировать соответствующую опцию. Помимо этого здесь настраиваются параметры авторизации.

Самый небезопасный метод — полностью отключить процедуру аутентификации, но в этом случае доступ к виртуалке получит любой желающий. Вместо этого можно выбрать авторизацию через аккаунты хостовой системы или учетные записи гостевой системы. Для того, чтобы данные было невозможно отснифать, любая RPD-сессия шифруется с помощью симметричного RC4 алгоритма с 128-битным ключом, который меняется каждые 4096 отправленных пакетов.

Трик 2. Устанавливаем веб-морду

Чтобы иметь доступ к виртуальным машинам извне, на домашнем роутере мне приходится пробрасывать порты для каждой из них.Все хорошо ровно до того момента, пока не окажешься в сети, где админ режет весь подозрительный (с его точки зрения) трафик, и попытки подключения по RDP летят в тартарары. К счастью, старый добрый протокол HTTP разрешен везде, и этим фактом нельзя не воспользоваться. Мы уже когда-то рассказывали о веб-интерфейсе для управления виртуальной машиной с помощью VirtualBox Web Console (code.google.com/p/vboxweb). Ныне этот проект не развивается и не поддерживается, но зато он был взят за основу актуального решения phpVirtualBox (code.google.com/p/phpvirtualbox). По сути, это точная копия интерфейса десктопной версии VirtualBox, но реализованная на PHP и AJAX. Получается, что из любого места, имея под рукой лишь браузер, можно обратиться к серверу с установленным phpVirtualBox и получить доступ к свои виртуальным машинам. Блеск.

1. Для работы phpVirtualBox необходим запущенный на хостовой машине демон vboxwebsrv (он распространяется вместе с VirtualBox). На никсовых машинах он, как правило, располагается в папке /usr/bin. Под виндой он находится в папке с VirtualBox, то есть, скорее всего, в C:\Program Files\Oracle\VirtualBox. Важный момент: программа должна быть запущена под тем же пользователем, что и сам VirtualBox. Лучше всего отключить весь вывод программы, в противном случае будет сильно страдать производительность.

"C:\Program Files\Oracle\VirtualBox\vboxwebsrv.exe" >nul

"C:\Program Files\Oracle\VirtualBox\vboxwebsrv.exe" >nul

2. Далее нам понадобится любой работающий веб-сервер с PHPинтерпретатором. Чтобы не париться с настройкой, можно взять готовую сборку XAMP или XAMPPLite (www.apachefriends.org). Файлы из архива phpVirtualBox необходимо разместить в папке htdocs.

3. В завершение необходимо прописать некоторые настройки VirtualBox’а в файле config.php, назначив новые значения для переменных $username, $password, $location. Все. После этого можно попробовать открыть админку (http://<ip-адрес сервера>:<порт>) и убедиться, насколько все здорово работает. На сайте VirtualBox можно скачать SDK разработчика, в котором помимо прочего находятся исходники RDP-клиента, реализованного на Flash’е. Технология называется RDP Web Control и позволяет прямо из вкладки браузера управлять виртуальной машиной так же, как через любой RDP-клиент. Разработчики phpVirtualBox, само собой, встроили RDP Web Control в свою оболочку. Так что через веб-оболочку доступно не только управление настройками виртуальных машин, но и полноценная работа с ними. Это очень круто!

Трик 3. Управляем ВМ через консоль!

Но удаленный доступ — это не все, что нужно для эффективного использования виртуальных машин. Еще одна важная часть — возможность автоматизации. К счастью, в VirtualBox никто не обязывает тебя использовать GUI-интерфейс. Любые действия можно выполнить через консольную утилиту администрирования VBoxManage.exe и использовать ее в любых своих сценариях. Можешь попробовать ввести команду «VBoxManage list vms» — получишь в консоли список всех существующих виртуальных машин, их имена и идентификаторы UUID:

Oracle VM VirtualBox Command Line Management Interface Version 3.2.10 (C) 2005-2010 Oracle Corporation All rights reserved. "MacOS" {5f74df26-8f93-4f18-b120-da107a5e0a9c} "macox" {8385d552-b41e-4ffd-add0-3b8795e53f46} "ubuntu" {09e0b578-3668-4492-92d2-7fa5fb21c911} "vista" {27b526c2-6bca-4cfe-ace8-703b803670a8} "xp" {521f3a25-68c7-44e7-a28f-0c60ee87295e}

Oracle VM VirtualBox Command Line Management Interface Version 3.2.10 (C) 2005-2010 Oracle Corporation All rights reserved.

"MacOS" {5f74df26-8f93-4f18-b120-da107a5e0a9c}

"macox" {8385d552-b41e-4ffd-add0-3b8795e53f46}

"ubuntu" {09e0b578-3668-4492-92d2-7fa5fb21c911}

"vista" {27b526c2-6bca-4cfe-ace8-703b803670a8}

"xp" {521f3a25-68c7-44e7-a28f-0c60ee87295e}

Хочешь запустить одну из них прямо из консоли? Ничего сложного: отдаем соответствующую команду, указав имя нужной виртуалки — «VBoxManage.exe startvm xp». Верный способ получить справку о том, какие команды доступны, и как их использовать — запустить приложение без параметров. Разработчики гарантируют, что консольная версия ничем не уступает GUI-оболочке, и любые действия с виртуальными машинами можно с не меньшим успехом выполнить через VBoxManage. Выше я упоминал SDK для разработчиков, который обновляется с каждой новой версией VirtualBox и выкладывается на официальном сайте.

Программа предоставляет мощнейший API для управления виртуальными машинами. Система встроенных вызовов такова, что использовать ее можно из самых разных языков программирования: существуют привязки (то есть специальные модули) для Java, Python и других языков. В качестве хорошего примера для старта можно взять из SDK vboxshell.py, в котором через API реализовано несколько полезных опций для управления виртуалками. В том числе запуск программы внутри гостевой ОС, создание скриншота с дисплея виртуальной машины, подключение ISO-образа в качестве CD/DVD-диска, проброс портов из хостовой машины в гостевую ОС и т.д. В прошлом году у нас был материал «Прокачиваем виртуальную машину», где мы уже рассматривали API VirtualBox’а. Тогда из-за отсутствия вызовов для управления поведением гостевой системы (например, запуска приложений) нам пришлось использовать API VMware с более продвинутыми возможностями. Сейчас же API VirtualBox сделала два шага вперед, и мы вполне могли обойтись без использования платной VMware.

Трик 4. Снифаем весь трафик виртуальной машины

Недаром во время установки VirtualBox под винду выводятся предупреждения, что все сетевые подключения будут на небольшое количество времени отключены. Программа устанавливает в систему дополнительные сетевые драйвера и виртуальные сетевые адаптеры. Их можно найти через диспетчер устройств: «VirtualBox Host-Only Ethernet Adapter» — то, о чем я говорю. Весь трафик гостевой системы, конечно же, проходит через эти вспомогательные элементы. И вот за что разработчикам хочется в очередной раз сказать «Спасибо», так это за возможность записать весь трафик напрямую в pcap-файл. Да, для перехвата пакетов можно было воспользоваться и обычным сниффером (причем как под гостевой, так и под хостовой системой), но используя эту встроенную возможность VirtualBox, ты получаешь в распоряжение лог абсолютно всех пакетов, который отправила или получила гостевая ОС. Для включения записи сетевого трафика достаточно двух команд:

VBoxManage modifyvm [your-vm] --nictrace[adapternumber] on --nictracefile[adapter-number] file.pcap VirtualBox -startvm [your-vm] Например, так: VBoxManage modifyvm "ubuntu" --nictrace1 on --nictracefile1 file.pcap VirtualBox -startvm "ubuntu"

VBoxManage modifyvm [your-vm] --nictrace[adapternumber]

on --nictracefile[adapter-number] file.pcap

VirtualBox -startvm [your-vm]

Например, так:

VBoxManage modifyvm "ubuntu" --nictrace1 on

--nictracefile1 file.pcap

VirtualBox -startvm "ubuntu"

В результате в файле file.pcap будет полный дамп трафика, который можно изучить с помощью любого анализатора, например, Wireshark. Важно после всех экспериментов не забыть отключить логирование, иначе pcap-файлы будут разрастаться на диске (особенно если ты решишь скачать под гостевой ОС какие-то тяжелые файлы).

Трик 5. Переносим существующую Windows-систему в виртуальное окружение

Под виртуальной машиной не всегда удобно устанавливать систему с нуля.Избежать геморроя с установкой и настройкой дополнительного софта можно, если перенести под VirtualBox свою существующую систему. Этот процесс называется миграцией, или P2V (Physical-to-Virtual). В отличие от Linux’а, перенести Windows с одного железа на другое — не такая простая задача. Виной тому ядро и драйверы, которые сильно завязаны на текущее оборудование. Каждый, наверное, сталкивался с ситуацией, когда после подключения системного диска с виндой к другому компьютеру система вместо нормального запуска вываливалась в BSOD. В случае с миграцией на виртуальную машину — ровно такая же ситуация. Разработчики VirtualBox не предлагают специальной утилиты для P2V-миграции, но процесс можно проделать вручную. Итак, пошаговая инструкция:

1. Первым делом понадобится вспомогательная тулза MergeIDE (http://bit.ly/Merge_IDE). По какой-то странной причине Windows запоминает, на каком IDE/ATA-контроллере она была установлена, и вылетает, если контроллер меняется (а под виртуальной машиной он, само собой, будет другим). Проблему можно исправить, поковырявшись в реестре, но чтобы не заниматься этим вручную, достаточно просто запустить BAT-файл MergeIDE.

2. Выключаем компьютер. Теперь наша задача — сделать полный образ жесткого диска. Как вариант — можно загрузиться с LiveCDдистрибутива и воспользоваться любой низкоуровневой утилитой для работы с образами. Идеально подойдет dd.

3. Полученный образ необходимо преобразовать в VDI-образ, который далее мы сможем подключить к VirtualBox. Воспользуемся уже знакомой нам программой VBoxManage:

VBoxManage convertfromraw ImageFile.dd OutputFile.vdi

VBoxManage convertfromraw ImageFile.dd OutputFile.vdi

Все, этот образ можно и нужно подключить к VirtualBox’у с помощью менеджера виртуальных носителей (вызывается хоткеем <Ctrl+D>).

4. Теперь необходимо создать виртуальную машину и подготовить ее к имплантации сложного пациента :). В качестве диска необходимо выбрать только что созданный VDI-образ. Еще один обязательный момент — активация в настройках виртуалки опции «Включить IO APIC».

5. Пробуем загрузить систему. Здесь два варианта: либо все сразу заработает, либо система сразу уйдет в BSOD. Если все пошло по удачному сценарию, можно смело устанавливать Guest Editions и приступать к работе.

6. В противном случае необходимо выключить виртуалку и загружаться с установочного диска Windows. Проходим до места, где указывается раздел для установки, и выбираем вместо полной инсталляции пункт «repair». Установщик сам доставит все необходимые файлы и отконфигурирует винду под новое железо.

Трик 6. Подготовка DualBoot

Но если реальную систему можно подогнать под работу в виртуальном окружении, не получится ли создать универсальный вариант? Чтобы система могла грузиться сама по себе, а в случае необходимости — под виртуальной машиной. Возможно ли такое? Да! Правда, для этого виртуалке необходим доступ «наружу», то есть напрямую к жестким дискам компьютера. В VirtualBox такая возможность называется «raw hard disk access» и предлагается разработчиками с массой предупреждений о том, что это верный способ убить систему. И, кстати, они не шутят :). Еще бы, ведь нарушается целостность понятия изолированной виртуальной системы — она получает доступ вовне. И всетаки, как включить raw hard disk access?

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

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk \\.\ PhysicalDrive0 -register

VBoxManage internalcommands createrawvmdk

-filename /path/to/file.vmdk -rawdisk \\.\

PhysicalDrive0 -register

Это пример для винды. Под линуксом путь к физическому диску, конечно же, будет другим, например, /dev/sda. Создание образа предполагает, что у тебя есть доступ для записи и чтения с указанного девайса. Те же права потребуются для обращения к файлам из виртуальной машины. После создания VMDK-файла остается подключить его к виртуальной машине:

VBoxManage storageattach WindowsXP --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /path/to/ file.vmdk

VBoxManage storageattach WindowsXP

--storagectl "IDE Controller" --port 0

--device 0 --type hdd --medium /path/to/

file.vmdk

Если все сделано правильно, виртуальная машина будет грузиться с указанного физического диска. Но это лишь часть работы. Чтобы система работала и под виртуальной машиной, и без нее, придется немного поковыряться. Подробнейшие пошаговые инструкции доступны на форуме VirtualBox: для Windows XP (http://bit.ly/dualbox_xp) и Windows 7 (http://bit.ly/dualboot_w7). Повторяться не будем.

Трик 7. Wi-Fi и вардрайвинг под виртуальной машиной

Используя виртуальную машину, на которой установлен Linux, я не раз сталкивался с ограничениями из-за отсутствия прямого доступа к Wi-Fi-адаптору. Да, сделать инет в гостевой системе через хостовую ОС — не проблема, но использовать беспроводной адаптер со специальными приложениями просто не выйдет.

Поэтому всякий раз, когда была необходимость поэкспериментировать с беспроводными сетями с помощью aircrack’а и kismeta, чтобы послушать эфир или оценить защиту хотспота, приходилось запускать линукс с загрузочной флешки. Проблема эта, как оказалось, легко решаема благодаря возможности VirtualBox обращаться к USB-устройствам напрямую. Другими словами, можно купить за $20 USB’шный Wi-Fi-адаптер (причем сразу на правильном чипсете и с возможностью использовать внешнюю антенну) и сделать так, чтобы гостевая система думала, что он подключен к ней. Конечно, после подключения устройства к компьютеру/ноутбуку девайс определяется и устанавливается в основной системе (в моем случае — Windows). Но если зайти в свойства виртуальной машины и найти там раздел USB, то любое из устройств можно «примонтировать» к гостевой ОС. Для этого нажимаем на кнопку «Добавить новый фильтр» и из контекстного меню выбираем наш USB’шный адаптер. Все, устройство отключится от хостовой ОС и станет доступным в виртуальной машине. Пробуем запустить под Backtrack’ом aircrack и убеждаемся, что все работает. Наконец-то все это стало возможным без перезагрузки в Linux.

Напоследок еще один маленький секрет. VirtualBox, хотя и прочно устанавливается в системе, вполне работоспособен при запуске с флешки. Умельцы заморочились и сделали Portable-версию виртуальной машины и предлагают загрузить ее всем желающим с сайта www.vbox.me.

Джерело: https://xakep.ru/2011/04/20/55217/

corp2.info


Prostoy-Site | Все права защищены © 2018 | Карта сайта