как узнать имя виртуальной машины
Где посмотреть логин/пароль от гостевой ОС?
Логин по умолчанию: для операционных систем семейства Linux – root, для Windows – Administrator.
Для виртуальных машин с Debian, Fedora, FreeBSD
Если для шаблона отсутствует возможность кастомизации гостевой ОС, то пароль можно посмотреть в описании шаблона (Description).
1. В разделе Compute в пункте Virtual Machines выбираем необходимую и нажимаем Details.
2. Пароль будет указан во вкладке General, в поле Descriptions.
Для остальных шаблонов виртуальных машин
Если гостевую ОС в шаблоне можно кастомизировать (изменить настройки ОС виртуальной машины в соответствии с заданными в панели управления vCloud Director: имя ВМ, настройки сети, пароль администратора и пр.).
1. Полностью выключите виртуальную машину. В разделе Compute в пункте Virtual Machines выбираем необходимую, нажимаем Actions. Если операционная система еще не остановлена, нажимаем Shut Down Guest OS. Затем нажимаем Power Off.
2. Нажмите кнопку Details.
3. Перейдите на вкладку Guest OS Customization. Поставьте галку в поле Enable guest customization, выберите опцию автоматической генерации пароля (Auto Generate Password) или установите пароль самостоятельно (Specify Password). Нажмите Save.
Важно: пароль должен отвечать следующим требованиям:
4. После этого в разделе Compute в пункте Virtual Machines выберите данную ВМ, нажмите Actions и затем Power On and Force Recustomization.
5. После запуска ВМ можете выполнить автоматическую перезагрузку для применения изменений. Откройте консоль ВМ (из меню Actions или кликнув на изображение монитора) и введите учетные данные.
6. После того, как вы успешного залогинились, рекомендуем отключить кастомизацию ОС, для этого деактивируйте флаг Enable guest customization в свойствах ВМ.
Детектим виртуальную машину на C#: 1 уровень
Одним жуть каким прохладным январским утром от знакомого прилетел вопрос как на C# определить, не запущена ли программа в ОС (оконное приложение в ОС Windows 7 или новее) на виртуальной машине.
Требования к такому детектору были достаточно жёсткими:
Под катом описание реализованного детектора на C# (в следующей части с некоторыми элементами C++) и приличным количеством неприличного кода с использованием Visual Studio 2015 Community.
Структура публикации
1 уровень. Изучение матчасти и существующих решений
Немного теории касательно виртуализации
Прежде, чем пытаться писать детектор сферического коня в вакууме виртуальной машины, следует кратко обозначить, как в рамках задачи мы понимаем термин «виртуальная машина».
Понятие виртуализации можно поделить на две категории (1):
Во второй категории сразу введём два термина: система, предоставляющая аппаратные ресурсы и ПО для виртуализации (хостовая система, host) и эмулируемая система (гостевая система, guest).
При этом в реальности в роли «гостевой системы» могут выступать:
Итог сего экскурса: в рамках статьи и создания детектора виртуальной машины нас будут интересовать только нативная виртуализация платформ (то есть проверять мы будем только запуск в окружении Hyper-V, VirtualBox или других программ, использующих нативную виртуализацию). При этом далее термин «виртуальная машина» мы будем трактовать согласно определению с сайта VMWare: «это строго изолированный контейнер ПО, содержащий операционную систему и приложения» (2).
Реализация проверки ВМ с помощью данных из Windows Management Instrumentation (WMI)
После того, как цель (определение факта работы программы в окружении с частичной эмуляцией) была более-менее уточнена, найдём самые известные виртуальные машины этого типа (далее для краткости ВМ) и способы отличить запуск ОС на реальном железе от запуска в окружении этих ВМ.
Прочитав замечательно свёрстанные рекламные страницы разработчиков популярных программ виртуализации, в голове вырисовывается некая общая схема их работы (разумеется схема работы программ, а не разработчиков):
Вот только на практике почти в каждом гипервизоре имеется возможность установить «гостевые дополнения» (guest additions) специальный набор программ и драйверов, дающих гипервизору
расширенный контроль за функциями гостевой ОС (проверка, а не зависла ли гостевая ОС, динамическое изменение доступной ОС оперативной памяти, «общая» мышка для хостовой и гостевой ОС). Однако, как же реализуют такое действо, если, согласно рекламе, «ВМ это строго изолированный контейнер ПО»?
Получается, что гостевые дополнения, устанавливаемые на гостевую ОС, каким-то строго определённым образом взаимодействуют напрямую с гипервизором, запущенным в хостовой ОС. То есть если программа определения ВМ сможет воспользоваться таким взаимодействием она докажет, что ОС запущена на ВМ! Правда, по условиям задачи доказательство надо проводить из-под User-Mode без использования собственных драйверов.
Сразу вырисовываются следующие места для проверки:
Наиболее полное описание различных критериев проверки было найдено в статье 2013 года в журнале Хакер (3), возьмём статью за основу. А для получения соответствующих данных об оборудовании и процессах ОС воспользуемся механизмом Windows Management Instrumentation (WMI) дословно «инструментарием управления Windows». В частности, через WMI можно несложно, быстро и без прав администратора получить большое количество информации об оборудовании, которое видит ОС.
Для получения данных через WMI нам понадобится построить запрос на языке WQL (WMI Query Language), который по сути является сильно упрощённым SQL. Например, если мы хотим получить через WMI имеющуюся в ОС информацию о процессорах, требуется выполнить следующий запрос:
Ответ на этот запрос набор объектов типа Win32_Processor с заранее известными названиями полей (подробный список доступных полей и классов см. в 4). Разумеется, если нам не требуются все-все поля, вместо * можно перечислить через запятую только необходимые. В WQL-операторе SELECT, по аналогии с SQL, также поддерживается условие WHERE, позволяющее делать выборку только по объектам, значения в полях которых удовлетворяют указанным условиям.
Для «затравки» научимся получать следующие данные из WMI-объектов следующих типов (данные и ожидаемые в ВМ значения взяты из 3):
WMI-объект и его свойства | Условие на WQL-запрос объектов | Как использовать | |
---|---|---|---|
Win32_Processor | |||
Manufacturer | В случае VirtualBox равен ‘VBoxVBoxVBox’, в случае VMWare ‘VMwareVMware’, в случае Parallels ‘prl hyperv ‘. | ||
Win32_BaseBoard | |||
Manufacturer | В случае Hyper-V равен ‘Microsoft Corporation’ при том, что Microsoft материнские платы не выпускает (интересно, а что показывает этот параметр на планшетах Microsoft Surface?). | ||
Win32_DiskDrive | |||
PNPDeviceID | В случае VirtualBox содержит ‘VBOX_HARDDISK’, в случае VMWare содержит ‘VEN_VMWARE’. | ||
Win32_NetworkAdapter | |||
MACAddress | PhysicalAdapter=1 | Известно, что по трём старшим байтам MAC-адреса можно определить производителя и производители виртуальных машин не исключение (то есть если адаптер с признаком PhysicalAdapter=1 но имеет MAC-адрес из пула VMWare то с высокой вероятностью программа была запущена на ВМ). | |
Win32_Process | |||
Name | При установке гостевых дополнений на ВМ в системе появляются дополнительные процессы с известными именами. |
Реализуем получение данных об оборудовании через WMI в отдельном проекте в виде библиотеки TTC.Utils.Environment.
Структурируем проект следующим образом:
Хочется, чтобы пользователь данной библиотеки мог написать примерно такой код:
и не волновался по поводу механизма взаимодействия с WMI, построения запроса или преобразования ответа в строго типизированный класс языка C#.
Что ж, реализовать такое на самом деле не очень сложно.
Теперь установим как будут выглядеть сущности в нашем проекте. Предположим для детектирования нам потребуются следующие поля из WMI-объектов типа Win32_BaseBoard:
Воспользуемся главным свойством любого программиста (ленью) и вместо создания полноценной DTO просто отметим атрибутом каждое свойство следующим атрибутом, позволяющим связать свойство и поле результата WML-запроса:
Разметив свойства сущности указанными атрибутами, получим:
Осталось разобраться с объектом, который будет хранить запрос. Уверен, вы обратили внимание, что в предыдущем примере кода названия полей WQL-результатов запроса вынесены в internal-константы. Это было сделано специально чтобы не дублировать их в классе запроса. Кстати, получился интересный побочный эффект с использованием такой модели вы не сможете прочесть из WMI данные поля некоторого WMI-объекта пока не укажете, в какое свойство какой сущности он должен извлекаться.
При такой структуре классов *Query есть только одна неприятность: неудобно формировать параметры WHERE-части WML-запроса внутри класса. Приходится действовать по старинке и ручками формировать строку в зависимости от параметров:
Хорошо: данные по сущностям раскидали, запросы писать с грехом-пополам научились, осталось только разобраться как будет выглядеть сервис, работающий с указанными классами:
Пара слов касательно метода WmiService.Extract
У объектов WMI обычно достаточно большое количество свойств (причем многие поля могут иметь значение NULL). В предположении, что в рамках задачи выгружать из WMI мы будем только небольшое количество свойств объектов, логично начать маппинг данных с перебора свойств результирующей сущности. Далее, при наличии у свойства атрибута WmiResultAttribute мы считываем из объекта результата запроса значение свойства с указанным в атрибуте именем и выполняем преобразование типов. При этом, если свойство сущности имеет тип, с которым стандартный метод Convert.ChangeType не справится или преобразует тип не так, как нам хочется, мы легко можем передать управление на своё преобразование (как это сделано для типов System.DateTime и System.Guid).
Кстати, было бы ещё лучше разделить Extract на два метода: первый извлекает информацию из типа класса, второй заполняет экземпляры (иначе метод QueryAll для второго и последующих элементов выходной коллекции делает ненужную работу по повторному изучению структуры его типа). Но конкретно для целей детектирования виртуалки мы вряд ли будет ожидать более 10 объектов за один запрос, поэтому предлагаю списать эту задачу с пометкой «не реализовано, ибо природная лень». Но если у кого-то дойдут руки до такой модификации с радостью приму вашу доработку.
Послесловие
Чтобы не заканчивать эту часть статьи только библиотекой, сделаем самое простое приложение, использующее возможности данной библиотеки для детектирования нескольких самых популярных виртуальных машин фирм VMWare, Microsoft, Parallels и Oracle на осове вышеизложенных критериев.
Создадим отдельный проект консольное приложение TTC.Utils.VMDetect и создадим в нём такой класс DemoTrivialVmDetector:
Весь код, включая библиотеку и простейшее тестовое приложение, выложен в репозитории на github, отзывы и комментарии приветствуются.
В следующей части мы чутка структурируем работу с известными ВМ и с помощью ассемблерной инструкции CPUID попробуем детектировать уже неизвестные ВМ.
Детектим виртуалки
Определяем факт запуска приложения в VirtualBox, VMware Workstation, Virtual PC и Parallels Workstation
Не каждому хочется, чтобы его, кхм, новый текстовый редактор какие-нибудь неприятные дядьки исследовали под виртуальной машиной. Детект виртуалок — обязательный функционал определенного рода софта, и поэтому наша рубрика ну совершенно никак не может обойтись без обзора соответствующих способов!
Как распознать виртуальную машину?
Во-первых, любая виртуальная машина несет на своем борту какое-нибудь специфическое оборудование. Это касается видеоадаптера, жесткого диска, идентификатора процессора, версии BIOS, MAC-адреса сетевой карты.
Во-вторых, виртуальные машины оставляют следы в системе в виде запущенных вспомогательных процессов, драйверов и других специфических объектов.
В-третьих, если как следует покопаться в реестре виртуальной машины, там можно найти много всяких интересных ключей, характерных только для виртуальных машин.
Ну и в-четвертых, некоторые производители специально оставляют возможности, позволяющие обнаружить их продукты.
Что же касается общих признаков наличия виртуальной машины, предложенных в свое время госпожой Рутковской (характерное расположение таблиц IDT, GDT и LDT, а также время выполнения операций процессором), то в настоящий момент все эти признаки трудно поддаются анализу и приведению к какому-нибудь общему знаменателю, главным образом из-за многоядерности и многоликости современных процессоров.
Анализируем оборудование
Начнем, пожалуй, с жесткого диска. Если посмотреть идентификатор жесткого диска в диспетчере устройств на виртуальной машине, то в его составе можно увидеть интересные строчки:
Самый простой способ узнать наименование жесткого диска — прочитать значение ключа с именем «0» в ветке реестра HKLMHARDWARESYSTEMCurrentControlSetServicesDiskEnum.
В этом месте перечисляются все дисковые накопители в системе, и первым, как раз в ключе с именем «0», будет тот диск, с которого произошла загрузка системы.
Идентификатор жесткого диска VirtualBox в реестре
Хакер #174. Собираем квадрокоптер
Как читать реестр, я думаю, ты знаешь. Используем сначала API RegOpenKeyEx для открытия нужного ключа, далее с помощью RegQueryValueEx читаем значение. Выглядеть это должно примерно вот так:
Далее все просто — используем strstr для поиска нужных нам строк в считанном значении и, в зависимости от результата сравнения, делаем вывод. Версия BIOS содержится в ключе «SystemProductName» в ветке HKLMHARDWAREDESCRIPTIONSystemBIOS. К примеру, для VMware там будет лежать строка «VMware Virtual Platform», а для VirtualBox — «VBOX –1».
Прочитать это все можно с помощью все тех же API — RegOpenKeyEx и RegQueryValueEx.
Версия BIOS Parallels Workstation в реестре
Данные о видеоадаптере можно подглядеть в HKLMSystemCarrentControlSetEnumPCI. В этой ветке перечислено все, что подключено к шине PCI, в том числе и видеокарта. Для VirtualPC это строчка вида VEN_5333&DEV_8811&SUBSYS_00000000&REV_00, которая определяет видеоадаптер S3 Trio 32/64, эмулируемый виртуалкой от Microsoft — на реальном железе такое оборудование нынче днем с огнем не сыскать (а у меня такая была в конце прошлого века. — Прим. ред.). Для VirtualBox видеокарта описана последовательностью VEN_80EE&DEV_BEEF&SUBSYS_00000000&REV_00, что расшифровывается как «VirtualBox Display», а у Parallels Workstation — строка VEN_1AB8&DEV_4005&SUBSYS_04001AB8&REV_00 определяет видеоадаптер «Parallels Display».
Помимо этого, в VirtualBox можно найти строку VEN_80EE&DEV_CAFE&SUBSYS_00000000&REV_00, определяющую некий «VirtualBox Device», а у Parallels Workstation строки VEN_1AB8&DEV_4000&SUBSYS_04001AB8&REV_00 и VEN_1AB8&DEV_4006&SUBSYS_04061AB8&REV_00, определяющие «Parallels Tools Device» и «Parallels Memory Controller» соответственно.
Алгоритм действий следующий: пытаемся открыть нужный нам ключ, и если он открывается успешно, то оборудование, описанное этим ключом, в наличии и можно делать вывод о присутствии какой-либо виртуальной машины:
Идентификатор процессора определяется с помощью команды cpuid. Благодаря ей можно получить много всякой полезной информации об установленном процессоре. Вид выдаваемой этой командой информации зависит от содержимого регистра EAX. Результат работы команды записывается в регистры EBX, ECX и EDX. Подробно про эту команду можно почитать в любой книге по программированию на ассемблере. Для наших целей мы будем использовать эту инструкцию, предварительно положив в регистр EAX значение 0x40000000:
После выполнения этого кода на VMware Workstation в переменных ID_1, ID_2 и ID_3 будут записаны значения 0x61774d56, 0x4d566572 и 0x65726177 соответственно (в символьном представлении это не что иное, как «VMwareVMware»), на VirtualBox в ID_1 и в ID_2 будет лежать значение 0x00000340, а на Parallels Workstation в ID_1 0x70726c20, в ID_2 — 0x68797065 и в ID_3 — 0x72762020 (что соответствует строке «prl hyperv»).
Использование MAC-адреса для идентификации производителя сетевой карты, конечно, не самый надежный способ (ибо MAC-адрес довольно-таки просто поменять), но тем не менее его вполне можно применить для детекта виртуальных машин в качестве дополнительной проверки.
Ты наверняка знаешь, что первые три байта MAC-адреса сетевой карты определяют ее производителя. Производители виртуальных машин в этом плане не исключение:
Вытащить эти первые три байта из MAC-адреса нам поможет API-функция GetAdaptersInfo:
Вспомогательные процессы, окна и другие «подозрительные» объекты
Для нормальной работы практически все виртуальные машины требуют установки дополнений к гостевой операционной системе, например VBoxGuestAddition для VirtualBox или Parallels Tools для Parallels Workstation. Без этих дополнений работа с виртуальной машиной несколько затруднительна (ни тебе нормального разрешения экрана и полноэкранного режима, ни взаимодействия с USB-девайсами, ни нормальной настройки сетевых подключений). В общем, все производители виртуалок не рекомендуют использовать их без этих дополнений. А эти самые дополнения оставляют очень заметный след в виде запущенных процессов:
Для поиска процесса по имени мы воспользуемся функциями CreateToolhelp32Snapshot, Process32First и Process32Next:
Помимо непосредственно самих процессов, демаскирующим признаком могут стать окна, открытые этими процессами. Окон в каждой из рассматриваемых виртуальных машин может быть довольно много, и все их мы перечислять не будем, а ограничимся одним или двумя. Итак:
Открытые окна для VMware (красным выделено окно класса VMSwitchUserControlClass)
Найти окно по имени класса очень просто — для этого есть функция FindWindow:
Помимо процессов и окон, указывающих на наличие ВМ, можно найти и другие «подозрительные» объекты — например, если покопаться в гостевой ОС виртуальной машины утилитой WinObj или какой-нибудь аналогичной, то можно найти вот такие объекты:
«Подозрительные» объекты в VirtualBox
Проверить наличие «подозрительного» объекта очень просто, достаточно попытаться открыть его с помощью CreateFile:
Что еще «подозрительного» можно найти в реестре?
Помимо признаков наличия специфического оборудования, в реестре можно увидеть и другие следы, оставляемые виртуальными машинами. Некоторые из них базируются в ветке HKLMHARDWAREACPIDSDT. Достаточно в этом месте проверить наличие таких вот ключей:
Проверку реализуем так же, как мы проверяли наличие определенного оборудования. Просто делаем попытку открыть нужный нам ключ и, в случае успеха, делаем вывод о наличии ВМ.
Ключ PRLS__ в реестре Parallels Workstation
Возможности, заложенные производителем
Некоторые производители (в частности, VMware и Microsoft) специально реализуют возможности управления своими продуктами, которые можно использовать для наших целей.
В Virtual PC используются инвалидные (не «инвалидные», а «альтернативно одаренные». И вообще-то они «недействительные». — Прим. ред.) команды процессора с опкодами 0x0F, 0x3F, 0x07 и 0x0B, попытка выполнения которых на реальном процессоре вызовет исключение, в то время как на Virtual PC все пройдет нормально. С помощью этих команд можно достаточно просто задетектить виртуалку от Microsoft:
В VMware Workstation для взаимодействия гостевой и основной ОС реализован небольшой бэкдор в виде порта с номером 0x5658. Для его использования необходимо в EAX положить «магическое» число 0x564d5868 (в символьном представлении — «VMXh»), а в ECX записать одну из команд взаимодействия гостевой и основной ОС (например, команда 0x0A возвращает версию установленной VMware Workstation). Короче, выглядит все это приблизительно так:
Заключение
Как видишь, признаков, характерных для виртуальных машин, предостаточно, и для того, чтобы их увидеть, сильно глубоко копать совсем не нужно.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Руководство по VirtualBox (часть 4): Настройка виртуальной машины
Оглавление
Когда вы в окне Менеджера выберете виртуальную машину из списка, вы увидите сводку настроек этого виртуального компьютера.
Нажав кнопку «Настройки» на панели инструментов вверху, вы увидите подробное окно, в котором вы можете настроить многие свойства выбранной виртуальной машины. Но будьте осторожны: несмотря на то, что после установки гостевой операционной системы можно изменить все настройки виртуальной машины, некоторые изменения могут помешать правильной работе гостевой операционной системы, если это будет сделано после установки.
Примечание: Кнопка «Настройки» отключена, когда виртуальная машина находится в «запущенном» или «сохраненном» состоянии. Это просто потому, что в диалоговом окне настроек вы можете изменить основные характеристики виртуального компьютера, созданного для вашей гостевой операционной системы, и эта операционная система может не очень хорошо справиться, когда, например, половина ее памяти уйдёт у неё из под ног. В результате, если кнопка «Настройки» отключена, сначала выключите текущую виртуальную машину, а затем вы сможете выполнить желаемые настройки.
VirtualBox предоставляет множество параметров, которые можно изменить для виртуальной машины. Еще больше параметров доступно с интерфейсом командной строки VirtualBox.
Общие настройки
В окне «Настройки» в разделе «Общие» вы можете настроить наиболее фундаментальные аспекты виртуальной машины, такие как память и необходимое аппаратное обеспечение. Есть четыре вкладки: «Основные», «Дополнительно», «Описание» и «Шифрование».
Вкладка «Основные»
На вкладке «Основные» категории «Общие» вы можете найти следующие настройки:
Это то имя, с которым виртуальная машина отображается в списке виртуальных машин в главном окне. Под этим именем VirtualBox также сохраняет файлы конфигурации виртуальной машины. Изменяя имя, VirtualBox также переименовывает эти файлы. В результате вы можете использовать только те символы, которые разрешены в именах файлов вашей операционной системы хоста.
Обратите внимание, что внутри VirtualBox использует уникальные идентификаторы (UUID) для идентификации виртуальных машин. Вы можете отобразить их с помощью VBoxManage.
Операционная система / версия
Тип гостевой операционной системы, которая установлена (или будет) в виртуальной машине. Это тот же параметр, который был указан в мастере «Новая виртуальная машина», как описано в разделе «Создание вашей первой виртуальной машины».
В то время как в мастере создания новой виртуальной машины настройки по умолчанию для вновь созданной виртуальной машины зависят от выбранного типа операционной системы, дальнейшее изменение типа не влияет на настройки виртуальной машины; это значение что настройки в данной панели является чисто информационными и декоративными.
Вкладка «Дополнительно»
Папка для снимков
По умолчанию VirtualBox сохраняет данные моментального снимка вместе с другими данными конфигурации VirtualBox. С помощью этого параметра вы можете указать любую другую папку для каждой виртуальной машины.
Общий буфер обмена
Здесь вы можете выбрать, должен ли совместно с вашим хостом использоваться общий доступ к буферу гостевой операционной системы. Если вы выберете «Двунаправленный», то VirtualBox всегда будет следить за тем, чтобы оба буфера обмена содержали одни и те же данные. Если вы выберете «Из основной в гостевую ОС» или «Из гостевой в основную ОС», то VirtualBox будет копировать данные буфера обмена только в одном направлении.
Для совместного использования буфера обмена необходимо установить гостевые дополнения VirtualBox. В противном случае эта настройка не имеет никакого эффекта.
Общий буфер обмена по умолчанию отключен. Этот параметр можно изменить в любое время, используя пункт меню «Общий буфер обмена» в меню «Устройства» виртуальной машины.
Функция Drag and Drop (Перетаскивание)
Этот параметр позволяет включить поддержку перетаскивания: выберите объект (например, файл) с хоста или гостя и непосредственно скопируйте или откройте его на гостевой или хост-машине. Несколько режимов перетаскивания по каждой виртуальной машине позволяют ограничить доступ в любом направлении.
Для работы перетаскивания на гостевом компьютере должны быть установлены гостевые дополнения.
Примечание: По умолчанию перетаскивание отключено. Этот параметр можно изменить в любое время, используя пункт меню «Drag and Drop» в меню «Устройства» виртуальной машины.
Вкладка «Описание»
Здесь вы можете, если хотите, ввести любое описание своей виртуальной машины. Это не влияет на функциональность компьютера, но вы можете найти это пространство полезным, чтобы отметить такие вещи как конфигурация виртуальной машины и программного обеспечения, которое было установлено в неё.
Чтобы вставить разрыв строки в текстовое поле описания, нажмите Shift+Enter.
Вкладка «Шифрование»
Если стоит галочка, эта виртуальная машина будет зашифрована. Вам нужно выбрать алгоритм, которым будут зашифрованы диски виртуальной машины, а также ввести, а затем подтвердить пароль шифрования.
Системные настройки
Группа «Система» объединяет различные параметры, связанные с основным оборудованием, которое представлено виртуальной машине.
Примечание: Поскольку механизм активации Microsoft Windows чувствителен к изменениям в аппаратном обеспечении, если вы меняете настройки оборудования для гостя Windows, некоторые из этих изменений могут инициировать запрос на активацию в Microsoft.
Вкладка «Материнская плата»
На вкладке «Материнская плата» вы можете влиять на виртуальное оборудование, которое обычно находится на материнской плате реального компьютера.
Основная память
Эта опция устанавливает объем ОЗУ, который выделяется и передается виртуальной машине при ее запуске. Указанный объем памяти на время работы виртуальной машины будет забираться у физического компьютера и передаваться виртуальному. Следовательно, в момент работы виртуальной машины у вашего основного компьютера количество оперативной памяти уменьшиться на эту величину. Это тот же параметр, который был указан в мастере «Новая виртуальная машина», как описано выше в разделе «Создание вашей первой виртуальной машины».
Изменение памяти не должно вызвать проблем в гостевой машины, конечно, если вы не установите слишком маленькое значение, при котором она не будет загружаться.
Порядок загрузки
Этот параметр определяет порядок, в котором гостевая операционная система будет пытаться загружаться с различных виртуальных загрузочных устройств. Аналогично настройке BIOS реального ПК, VirtualBox может сообщить гостевой ОС, что она запускается с виртуальной дискеты, виртуального CD/DVD-привода, виртуального жесткого диска (каждый из них определяется другими настройками VM), сети или ни с кого из них.
Если вы выберете «Сеть», виртуальная машина попытается загрузить из сети через механизм PXE, который должен быть настроен.
Чипсет
Здесь вы можете выбрать, какой набор микросхем будет представлен виртуальной машине. До VirtualBox 4.0 PIIX3 был единственным доступным вариантом. Для современных гостевых операционных систем, таких как Mac OS X, этот старый набор микросхем больше не поддерживается. В результате VirtualBox 4.0 представил эмуляцию более современного набора микросхем ICH9, который поддерживает PCI Express, три шины PCI, мосты PCI-to-PCI и сообщения с сигналами прерывания (MSI). Это позволяет современным операционным системам адресовать больше устройств PCI и больше не требует обмена IRQ. Используя чипсет ICH9, также можно настроить до 36 сетевых карт (до 8 сетевых адаптеров с PIIX3). Обратите внимание, что поддержка ICH9 является экспериментальной и не рекомендуется для гостевых операционных систем, которые ее не требуют.
Манипулятор курсора
По умолчанию виртуальные указательные устройства для древних гостей – это традиционная мышь PS/2. Если этот параметр установлен на планшет USB, VirtualBox сообщает виртуальной машине, что устройство планшета USB присутствует, и передает события мыши на виртуальную машину с помощью этого устройства. Третья настройка — USB Multi-Touch планшет, которая подходит для последних гостей Windows.
Использование виртуального USB-планшета имеет то преимущество, что движения сообщаются в абсолютных координатах (вместо относительных изменений положения), что позволяет VirtualBox транслировать события мыши над окном VM в события планшета без необходимости «захвата» мыши в гостевой системе как описанный в разделе «Захват и высвобождение клавиатуры и мыши». Это делает использование VM менее утомительным, даже если гостевые дополнения не установлены.
Включить APIC I/O APIC
Расширенные программируемые контроллеры прерываний (APIC) – это новейшая аппаратная функция x86, которая в последние годы заменила программируемые контроллеры прерываний старого типа (ПОС). С APIC ввода-вывода операционные системы могут использовать более 16 запросов прерываний (IRQ) и, следовательно, избегать обмена IRQ для повышения надежности.
Примечание: Включение I/O APIC требуется для 64-разрядных гостевых операционных систем, особенно Windows Vista; это также необходимо, если вы хотите использовать более одного виртуального процессора на виртуальной машине.
Однако поддержка программного обеспечения для APIC I/O была ненадежной с некоторыми операционными системами, отличными от Windows. Кроме того, использование APIC ввода-вывода немного увеличивает накладные расходы на виртуализацию и, следовательно, немного замедляет гостевую ОС.
Предупреждение : Все операционные системы Windows, начиная с Windows 2000, устанавливают разные ядра в зависимости от того, доступен ли APIC I/O. Как и в случае с ACPI, APIC I/O APEC не следует отключать после установки гостевой ОС Windows. Включение его после установки не будет иметь никакого эффекта.
Включить EFI
Это позволяет использовать Extensible Firmware Interface (EFI), который заменяет устаревший BIOS и может быть полезен для некоторых расширенных вариантов использования.
Часы в системе UTC
Если галочка стоит, часы вашего хоста отобразят время по шкале всемирного координирования времени (UTC), иначе будет отображено локальное время хоста. Unix-подобные системы обычно придерживаются системы UTC.
Если флажок установлен, VirtualBox сообщит гостю системное временя в формате UTC вместо локального (хоста) времени. Это влияет на работу виртуальных часов реального времени (RTC) и может быть полезно для Unix-подобных гостевых операционных систем, которые обычно ожидают, что аппаратные часы будут установлены на UTC.
Кроме того, вы можете отключить интерфейс расширенной конфигурации и мощности (ACPI), который VirtualBox представляет гостевой операционной системе по умолчанию. ACPI – это текущий отраслевой стандарт, позволяющий операционным системам распознавать оборудование, настраивать материнские платы и другие устройства и управлять ими. Поскольку все современные ПК содержат эту функцию, а Windows и Linux уже много лет поддерживают ее, она также включена по умолчанию в VirtualBox. Её можно отключить только в командной строке.
Предупреждение : Все операционные системы Windows, начиная с Windows 2000, устанавливают разные ядра в зависимости от того, доступен ли ACPI, поэтому ACPI нельзя отключать после установки гостевой ОС Windows. Включение его после установки не будет иметь никакого эффекта.
Вкладка «Процессор»
На вкладке «Процессор» вы можете указать, сколько виртуальных ядер процессора должны видеть гостевые операционные системы. Начиная с версии 3.0, VirtualBox поддерживает симметричную многопроцессорность (SMP) и может представлять до 32 виртуальных ядер процессора для каждой виртуальной машины.
Однако вам не следует настраивать виртуальные машины для использования большего количества ядер процессора, чем у вас есть физически (реальные ядра, без гиперпотоков).
На этой вкладке вы также можете установить «Предел загрузки ЦПУ». Этот параметр ограничивает время, затрачиваемое процессором хоста для эмуляции виртуального процессора. Значение по умолчанию 100% означает, что ограничений нет. Параметр 50% подразумевает, что один виртуальный процессор может использовать до 50% одного центрального процессора. Обратите внимание, что ограничение времени выполнения виртуальных процессоров может вызвать проблемы с гостями.
Кроме того, параметр «Включить PAE/NX» определяет, будут ли возможности PAE и NX центрального процессора находиться на виртуальной машине. PAE означает «расширение физического адреса». Обычно, если он включен и поддерживается операционной системой, тогда даже 32-разрядный процессор x86 может получить доступ к более 4 ГБ ОЗУ. Это стало возможным благодаря добавлению ещё 4 бит в адреса памяти, так что с 36 битами можно использовать до 64 ГБ. Некоторые операционные системы (например, Ubuntu Server) требуют поддержки PAE от CPU и не могут без неё работать в виртуальной машине.
Если вы используете 32-битный образ Kali Linux, включите PAE/NX или образ Kali не загрузится, поскольку дефолтный вариант ядра, используемый Kali для i386 (“686-pae”), скомпилирован таким образом, который требует поддержки «расширения физического адреса» (PAE) в CPU.
С виртуальными машинами, работающими на современных серверных операционных системах, VirtualBox также поддерживает горячее подключение CPU.
Вкладка «Ускорение»
На этой странице вы можете определить, должен ли VirtualBox использовать аппаратные расширения виртуализации, которые может поддерживать ваш хост-процессор. Это относится к большинству процессоров, построенных после 2006 года.
Вы можете выбрать для каждой виртуальной машины индивидуально, нужно ли VirtualBox использовать виртуализацию программного обеспечения или оборудования.
В большинстве случаев настройки по умолчанию будут прекрасными; VirtualBox будет выбирать разумные значения по умолчанию в зависимости от операционной системы, которую вы выбрали при создании виртуальной машины. Однако в некоторых ситуациях вы можете изменить эти предварительно настроенные значения по умолчанию.
Если процессор вашего хоста поддерживает функции вложенного пейджинга (AMD-V) или EPT (Intel VT-x), вы можете ожидать значительного увеличения производительности за счет включения вложенного пейджинга в дополнение к аппаратной виртуализации.
Начиная с версии 5.0, VirtualBox предоставляет интерфейсы паравиртуализации, чтобы улучшить точность и производительность гостевых операционных систем.
Дисплей (Настройки отображения)
Вкладка «Экран»
Размер видеопамяти
Это задает размер памяти, предоставляемой виртуальной видеокартой, доступной гостю, в МБ. Как и в основной памяти, указанная сумма будет выделена из резидентной памяти хоста. На основе количества видеопамяти могут быть доступны более высокие разрешения и глубина цвета.
GUI покажет предупреждение, если объем видеопамяти слишком мал чтобы переключить виртуальную машину в полноэкранный режим. Минимальное значение зависит от количества виртуальных мониторов, разрешения экрана и глубины цвета дисплея хоста, а также от активации 3D-ускорения и ускорения 2D-видео. Грубая оценка: (глубина цвета / 8) x вертикальные пиксели x горизонтальные пиксели x количество экранов = количество байтов. Как указано выше, может потребоваться дополнительная память для любой активированной настройки ускорения дисплея.
Количество мониторов
С помощью этого параметра VirtualBox может предоставить более одного виртуального монитора виртуальной машине. Если гостевая операционная система (например, Windows) поддерживает несколько подключенных мониторов, VirtualBox может притворяться, что присутствуют несколько виртуальных мониторов. Поддерживается до 8 таких виртуальных мониторов.
Вывод нескольких мониторов будет отображаться на хосте в нескольких окнах VM, которые работают бок о бок.
Однако в полноэкранном и режиме интеграции экрана будут использоваться доступные физические мониторы, подключенные к хосту. В результате для работы в полноэкранном режиме и режиме интеграции экрана с несколькими мониторами вам понадобится как минимум столько же физических мониторов, сколько у вас настроенных виртуальных мониторов, или VirtualBox сообщит об ошибке. Вы можете настроить связь между гостевыми и хост-мониторами с помощью меню просмотра, нажав сочетание «Хост» + «HOME», когда вы находитесь в полноэкранном или режиме интеграции экрана.
Включить 3D-ускорение
Если на виртуальной машине установлены гостевые дополнения, вы можете выбрать здесь, должен ли гость поддерживать ускоренную 3D-графику.
Включить 2D-видео ускорение
Если на виртуальной машине с Microsoft Windows установлены гостевые дополнения, вы можете выбрать здесь, должен ли гость поддерживать ускоренную 2D-графику.
Вкладка «Удалённый доступ»
Удаленный дисплей
На вкладке «Дистанционный доступ», если установлено расширение виртуального дисплея VirtualBox (VRDE), вы можете включить сервер VRDP, встроенный в VirtualBox. Это позволяет удаленно подключаться к консоли виртуальной машины с помощью любого стандартного средства просмотра RDP, такого как mstsc.exe, который поставляется с Microsoft Windows. В системах Linux и Solaris вы можете использовать стандартную программу rdesktop с открытым исходным кодом.
Вкладка «Захват видео»
На вкладке «Захват видео» вы можете включить видеозахват для этой виртуальной машины. Обратите внимание, что эта функция также может быть включена/отключена во время выполнения виртуальной машины.
Настройки Носителей
Категория «Носители» в настройках виртуальной машины позволяет подключать к виртуальной машине виртуальный жесткий диск, CD/DVD, дискету и диски.
На реальном ПК так называемые «контроллеры хранения» подключают физические диски к остальной части компьютера. Аналогично, VirtualBox предоставляет виртуальные контроллеры виртуальной машины на виртуальную машину. Под каждым контроллером отображаются виртуальные устройства (жесткие диски, CD/DVD или флоппи-дисководы), подключенные к контроллеру.
Примечание: Если вы использовали мастер «Создать виртуальную машину» для создания машины, вы обычно увидите что-то вроде следующего:
В зависимости от типа гостевой операционной системы, который вы выбрали при создании виртуальной машины, типичная компоновка устройств хранения в новой виртуальной машине выглядит следующим образом:
Если вы создали свою виртуальную машину с более старой версией VirtualBox, макет хранилища по умолчанию может отличаться. Тогда у вас может быть только IDE-контроллер, к которому подключены CD/DVD-привод и жесткие диски. Это может также применяться, если вы выбрали более старый тип операционной системы при создании виртуальной машины. Поскольку более старые операционные системы не поддерживают SATA без дополнительных драйверов, VirtualBox будет следить за тем, чтобы такие устройства не присутствовали первоначально.
VirtualBox также предоставляет гибкий контроллер, который является особенным: вы не можете добавлять к нему устройства, отличные от флоппи-дисководов. Виртуальные флоппи-дисководы, такие как виртуальные CD/DVD-приводы, могут быть подключены либо к дисководным дискам (если они есть), либо к образу диска, который в этом случае должен быть в формате RAW.
Вы можете свободно изменять эти прикрепления. Например, если вы хотите скопировать некоторые файлы с другого созданного виртуального диска, вы можете подключить этот диск в качестве второго жесткого диска. Вы также можете добавить второй виртуальный CD/DVD-привод или изменить куда эти элементы прикреплены. Доступны следующие параметры:
В правой части окна вы можете установить следующее:
Для виртуальных CD/DVD-приводов доступны следующие дополнительные опции:
Если вы хотите записать (прожечь) компакт-диски или DVD-диски с помощью главного диска, вам также необходимо включить опцию «Passthrough».
Съемные носители (CD/DVD и дискеты) могут быть изменены во время работы гостя. Поскольку в это время диалоговое окно «Настройки» недоступно, вы также можете получить доступ к этим настройкам из меню «Устройства» в окне вашей виртуальной машины.
Настройки звука
Раздел «Аудио» в окне «Настройки» виртуальной машины определяет, будет ли виртуальная машина видеть подключенную звуковую карту и должен ли звуковой вовод быть слышен в главной системе.
Если для гостя включен звук, вы можете выбрать эмуляцию контроллера Intel AC’97, контроллера Intel HD Audio или карты SoundBlaster 16. В любом случае вы можете выбрать, какой аудио-драйвер VirtualBox будет использоваться на хосте.
На хосте Linux в зависимости от конфигурации вашего хоста вы также можете выбрать между OSS, ALSA или подсистемой PulseAudio. В более новых дистрибутивах Linux предпочтительнее подсистема PulseAudio.
Поскольку на хостах Solaris в VirtualBox 5.0 поддерживается только OSS – аудиосистема «Solaris Audio» больше не поддерживается хостами Solaris.
Настройки сети
Раздел «Сеть» в окне «Настройки» виртуальной машины позволяет вам настроить, как VirtualBox представляет виртуальные сетевые карты для вашей виртуальной машины и как они работают.
Когда вы сначала создаете виртуальную машину, VirtualBox по умолчанию включает одну виртуальную сетевую карту и выбирает для нее режим «Трансляция сетевых адресов» (NAT). Таким образом, гость может подключаться к внешнему миру с использованием сети хоста, а внешний мир может подключаться к услугам на гостевом компьютере, который вы сделали видимыми за пределами виртуальной машины.
Эта настройка по умолчанию хороша для, вероятно, 95% пользователей VirtualBox. Тем не менее, VirtualBox чрезвычайно гибкий в том, как он может виртуализировать сеть. Он поддерживает множество виртуальных сетевых карт на виртуальную машину, первые четыре из которых могут быть подробно настроены в окне «Менеджера». Дополнительные сетевые карты можно настроить в командной строке с помощью VBoxManage.
Введение в сетевые режимы
Каждый из восьми сетевых адаптеров может быть сконфигурирован отдельно для работы в одном из следующих режимов:
Не подключён
В этом режиме VirtualBox сообщает гостю, что присутствует сетевая карта, но нет соединения – как будто в карту не вставлен кабель Ethernet. Таким образом, можно «вытащить» виртуальный кабель Ethernet и нарушить соединение, что может быть полезно для информирования гостевой операционной системы о невозможности подключения к сети и обеспечения реконфигурации.
Трансляция сетевых адресов (NAT)
Если вы хотите только просматривать веб-страницы, загружать файлы и просматривать электронную почту внутри гостя, тогда этого режима по умолчанию вам будет достаточно, и вы можете спокойно пропустить оставшуюся часть этого раздела. Обратите внимание, что при использовании совместного использования файлов Windows существуют определенные ограничения.
Сеть NAT
Сеть NAT — это новый вариант NAT, внедренный в VirtualBox 4.3. Служба трансляции сетевых адресов (NAT) работает аналогично домашнему маршрутизатору, группируя системы, использующие его в сети, и не позволяет системам за пределами этой сети напрямую обращаться к системам внутри нее, но позволяет системам внутри взаимодействовать друг с другом и с системами снаружи, используя TCP и UDP через IPv4 и IPv6.
Сетевой мост
Это для более сложных сетевых задач, таких как сетевое моделирование и запуск серверов в гостевой системе. Когда включено, VirtualBox подключается к одной из установленных сетевых карт и обменивается сетевыми пакетами напрямую, обходя сетевой стек вашей операционной системы.
Внутренняя сеть
Это можно использовать для создания другой сети на основе программного обеспечения, которая видна для выбранных виртуальных машин, но не для приложений, работающих на хосте или во внешнем мире.
Виртуальный адаптер хоста
Это можно использовать для создания сети, содержащей хост и набор виртуальных машин, без необходимости физического сетевого интерфейса хоста. Вместо этого на хосте создается виртуальный сетевой интерфейс (похожий на интерфейс loopback), обеспечивающий взаимодействие между виртуальными машинами и хостом.
Универсальный драйвер
Редко используемые режимы используют один и тот же общий сетевой интерфейс, позволяя пользователю выбирать драйвер, который может быть включен в VirtualBox или распространен в пакете расширения.
На данный момент есть потенциально два доступных под-режима:
UDP-туннель
Это можно использовать для непосредственного, простого и прозрачного взаимодействия виртуальных машин, работающих на разных компьютерах, с существующей сетевой инфраструктурой.
Сеть VDE (виртуальный распределенный Ethernet)
Этот параметр можно использовать для подключения к коммутатору Virtual Distributed Ethernet на Linux или хосте FreeBSD. На данный момент это требует компиляции VirtualBox из источников, поскольку пакеты Oracle не включают его.
В следующей таблице приведен краткий обзор наиболее важных сетевых режимов:
VM ↔ Host | VM1 ↔ VM2 | VM → Internet | VM ← Internet | |
---|---|---|---|---|
Виртуальный адаптер хоста | + | + | – | – |
Внутренняя сеть | – | + | – | – |
Сетевой мост | + | + | + | + |
Трансляция сетевых адресов (NAT) | – | – | + | Переадресация портов |
Сеть NAT | – | + | + | Переадресация портов |
4.6.2 Виртуальные машины в одной сети, изолированные от других сетей
Как изолировать виртуальные машины от внешних сетей, но при этом сохранить возможность находится для виртуальных машин в одной сети и взаимодействовать по локальным IP? Рассмотрим как создать локальную сеть виртуальных машин без доступа в Интернет.
Задача: создать между виртуальными машинами локальную сеть, в которой они могут обращаться друг к другу по IP адресам, но чтобы из реальной локальной сети к этим машинам не было доступа, а также не было доступа от виртуальных машин в реальную локальную сеть. Нужно чтобы виртуальные машины НЕ имели доступ в Интернет.
Последовательность действий следующая:
В этом случае виртуальные машине НЕ будут иметь доступ в Интернет. Чтобы был доступ в Интернет, нужно добавить второй адаптер с NAT + может понадобиться дополнительная настройка сетевых интерфейсов или использовать правила iptables внутри виртуальных машин.
При данной настройке в ХОСТе будет создан новый виртуальный сетевой интерфейс. В Linux этот интерфейс можно увидеть командой:
Именем по умолчанию для этого интерфейса является vboxnet0. Это системная настройка и если вы запускаете несколько экземпляров VirtualBox (виртуальных машин) от разных пользователей, то все они могут подключаться к данному виртуальному адаптеру.
4.6.3 Как изолировать виртуальные машины от локальной сети с сохранением доступа в Интернет
Аналогичная задача: создать между виртуальными машинами локальную сеть, в которой они могут обращаться друг к другу по IP адресам, но чтобы из реальной локальной сети к этим машинам не было доступа, а также не было доступа от виртуальных машин в реальную локальную сеть. Нужно чтобы виртуальные машины ИМЕЛИ доступ в Интернет.
Последовательность действий следующая:
Создание виртуальных сетей происходит на уровне VirtualBox для данного пользователя. То есть если вы запустите VirtualBox от другого пользователя (например, с sudo), то данный экземпляр будет иметь свои собственные настройки и не увидеть сети, созданные данным образом. Следовательно, виртуальные машины, запущенные от разных пользователей, не могут быть объеденины в одну виртуальную сеть этим способом.
COM-порты (серийный порты)
VirtualBox простым способом полностью поддерживает виртуальные последовательные порты на виртуальной машине.
Настройки USB
Поддержка USB
Раздел «USB» в окне «Настройки» виртуальной машины позволяет вам настроить сложную USB-поддержку VirtualBox.
VirtualBox позволяет виртуальным машинам напрямую обращаться к устройствам USB на вашем хосте. Для этого VirtualBox представляет гостевую операционную систему с виртуальным USB-контроллером. Как только гостевая система начнет использовать USB-устройство, оно будет недоступно на хосте.
Примечание:
В дополнение к разрешению доступа гостя к вашим локальным USB-устройствам VirtualBox позволяет даже вашим абонентам подключаться к удаленным USB-устройствам с помощью VirtualBox Remote Desktop Extension (VRDE).
В диалоговом окне «Настройки» вы можете сначала настроить, доступен ли USB в гостевой системе, а затем выбрать уровень поддержки USB: OHCI для USB 1.1, EHCI (который также включит OHCI) для USB 2.0 или xHCI для всей USB скорости.
Примечание: Контроллеры xHCI и EHCI поставляются в виде пакета расширения VirtualBox, который должен устанавливаться отдельно. Дополнительную информацию см. в разделе «Установка VirtualBox и пакетов расширений».
Когда поддержка USB включена для виртуальной машины, вы можете подробно определить, какие устройства будут автоматически подключены к гостю. Для этого вы можете создать так называемые «фильтры», указав определенные свойства устройства USB. USB-устройства с соответствующим фильтром будут автоматически передаваться гостю после их присоединения к хосту. USB-устройства без соответствующего фильтра могут передаваться вручную гостю, например, с помощью меню Устройства/USB-устройства.
Щелчок по кнопке «+» справа от окна «Фильтры устройств USB» создает новый фильтр. Вы можете дать фильтру имя (для ссылки на него позже) и указать критерии фильтра. Чем больше критериев вы укажете, тем точнее будут выбраны устройства. Например, если вы укажете только идентификатор поставщика 046d, все устройства, созданные Logitech, будут доступны гостю. С другой стороны, если вы заполните все поля, фильтр будет применяться только к определенной модели устройства от конкретного поставщика, а не к другим устройствам того же типа с другой версией и серийным номером.
В свойствах USB-фильтра доступны следующие критерии:
Кроме того, вы также можете указать «Производитель» и «Продукт» по имени.
Чтобы перечислить все USB-устройства, подключенные к вашей машине с соответствующими идентификаторами поставщиков и продуктов, вы можете использовать следующую команду:
В Windows вы также можете увидеть все USB-устройства, подключенные к вашей системе в диспетчере устройств. В Linux вы можете использовать команду lsusb.
На хосте Windows вам необходимо отключить и снова подключить USB-устройство, чтобы использовать его после создания фильтра для него.
Например, вы можете создать новый USB-фильтр и указать идентификатор поставщика 046d (Logitech, Inc), индекс производителя 1 и «не удален». Затем любые гостевые системы USB-устройства, созданные Logitech, Inc с индексом производителя 1, будут видны гостевой системе.
Несколько фильтров могут выбирать одно устройство – например, фильтр, который выбирает все устройства Logitech, и тот, который выбирает конкретную веб-камеру.
Вы можете деактивировать фильтры, не удаляя их, щелкнув флажок рядом с именем фильтра.
Общие папки
Общие папки позволяют легко обмениваться данными между виртуальной машиной и вашим хостом. Эта функция требует, чтобы были установлены гостевые дополнения VirtualBox на виртуальной машине. Она будет более подробно описана в части, посвящённым гостевым дополнениям, в разделе «Общие папки».
Пользовательский интерфейс
Раздел «Пользовательский интерфейс» позволяет вам изменить некоторые аспекты пользовательского интерфейса этой виртуальной машины.
Строка меню
Этот виджет позволяет вам отключить определенные меню (щелкнуть по пункту меню, чтобы высвободить его), некоторые записи меню (снимите флажок в элементе для его отключения) и полностью панель меню (снимите флажок справа).
Мини-тулбар
В полноэкранном или режиме интеграции экрана VirtualBox может отображать небольшую панель инструментов, содержащую некоторые элементы, которые обычно доступны в строке меню виртуальной машины. Эта панель инструментов сводится к небольшой серой линии пока вы не нажмете на нее мышью. С помощью панели инструментов вы можете вернуться из полноэкранного или режима интеграции экрана, выполнить управление машиной или включить определенные устройства. Если вы не хотите видеть панель инструментов, отключите этот параметр.
Вторая настройка позволяет отображать панель инструментов в верхней части экрана, а не показывать ее внизу.
Статус бар
Этот виджет позволяет отключить определенные значки в строке состояния (снимите флажок со значка, чтобы отключить его), чтобы поменять местами значки (для этого перетащите значок) и полностью отключить строку состояния (снимите флажок слева).
Связанные статьи:
Рекомендуется Вам:
22 комментария to Руководство по VirtualBox (часть 4): Настройка виртуальной машины
Алексей здравствуй! Подскажи пожалуйста из-за чего не видно из сети гостевой машины (CentOC), хоть IP адрес ей назначен при этом (ifconfig показывает eth0 адрес такой то).
Зайдите в Настройки виртуальной машины, далее Сеть. Там посмотрите Тип подключения. Если стоит NAT, значит поэтому и не видно.
Ещё можно делать проброску портов, но это подходит только для доступа к отдельным службам (например, к веб-серверу) виртуальной машины. Гораздо проще выбрать Сетевой мост и она будет как будто бы в вашей локальной сети.
У меня по видимо настройки брандмауэра мешают. Я подключал сетевой мост, и какие только варианты не пробовал)) Сейчас установил всё тоже самое на другой комп и всё работает. Буду настройки брандмауэра ковырять. Жму руку с благодарностью за Вашу работу!
А если у меня видеокарта 1070TI и я хочу выделить 4ГБ видеопамяти на машину. Как это сделать?
Если коротко: никак.
Если более подробно: это бессмысленно, поскольку виртуальная машина не имеет прямого доступа к видеокарте. Чтобы система работала, для неё эмулируется ненастоящая, виртуальная карта, с которой взаимодействует гостевая ОС.
Вот у меня возник вопрос: если видеокарта эмулируется, то как бы можно было бы выделить ей побольше памяти, а не максимум 128 Мб, который доступен в настройках?
Здравствуйте! Эмулируется одна из следующих видеокарт (её можно выбрать настройками на вкладке «Дисплей» → «Экран»):
То есть там внутри виртуальной машины нет привычных нам карт NVidia и AMD. А для виртуальных видео карт, видимо, выделять больше памяти не имеет смысла — они всё равно не будут её использовать.
Установить количество памяти для видео карты больше чем 128 мегабайт можно, но в любом случае, больше 256 мегабайт не получится задать значение.
1 й способ:
Настройки всех виртуальных машин хранятся в XML-файлах — их можно открыт и отредактировать любым текстовым редактором. Для этого найдите папка с настройками виртуальных машин, на Linux это
/VirtualBox VMs, на Windows тоже где-то в домашней директории пользователя папка с похожим названием.
Допустим мне нужно отредактировать настройки виртуальной машины с именем Tails, тогда я открываю файл
Нахожу там примерно такие строки:
И меняю значение VRAMSize. Здесь можно записать и больше 256, но всё равно не будет потреблено больше этого значения.
2 й способ:
Имеется утилита командной строки для создания и настроек виртуальных машин. Она называется VBoxManage и в данном случае нужно использовать подпрограмму modifyvm следующим образом:
Вместо нужно указать идентификатор виртуальной машины или её имя. А вместо нужно указать размер памяти, выделяемый виртуальной машине, в диапазоне от 0 до 256.
Например, следующей командой для виртуальной машины Tails я выделяю 256 мегабайт видеопамяти:
Ставлю «сетевой мост» (выбираю там физический адаптер Realtek), в неразборчивый режим ставлю «Разрешать всё». Хост (Windows 10 x64, сетевая Realtek) получает адрес по DHCP от маршрутизатора. ВМ не получает.
Почему, где подкрутить?
Если сразу не заработало, то просто выберите NAT в качестве типа подключения и не устанавливайте другие настройки.
Этот пункт я переосмысли и поправлю в инструкции: сетевой мост большинству пользователей не нужен, лучше если там будет NAT.
Мне нужен Интернет на ВМ и мне нужен доступ к ВМ (по rdp) с физического компьютера, который в одной локальной сети с хостом.
Самый простой вариант с сетевым мостом. Есть еще варианты?
Отмена вопроса про «сетевой мост». Дело было в Брандмауэре dr Web на хосте. Отключил его, пошло. Т.е. понятно, где разбираться.
Добрый день, мне нужно объеденить во внутренню сеть несколько гостевых виртуалок с win и linux. win между собой пингуются (чипсет PIIX3, в тип адаптера MT Desktop ), на linux не хочет видеть. Менял тип адаптера, ставил PCnet-FAST III и PCnet-PCI II, все равно не работало. поставил дополнение Extension, думал как вариант может сработать, тоже не помогло, менял чипсет на ICH9, тоже не сработало, как объеденить в одну подсеть? (подозреваю решение через Виртуальный адаптер хоста или Сеть NAT, но это не совсем то решение которое нужно)
Приветствую! Если для всех виртуальных машин в качестве «Типа подключения» выбрать «Сетевой мост», то они окажутся в одной локальной сети, в той же самой где роутер и хостовая машина.
Это было бы слишком просто )) вся суть сделать изолированную сеть, с 3-4 виртуалками, нельзя их пускать в физическую сеть
Тогда почему вы не хотите вариант с Виртуальным адаптером хоста? Он именно для этого и сделан — создавать виртуальные сети среди машин без доступа к другим сетям.
Допустим, задача такая: создать между виртуальными машинами локальную сеть, в которой они могут обращаться друг к другу по IP адресам, но чтобы из реальной локальной сети к этим машинам не было доступа, а также не было доступа от виртуальных машин в реальную локальную сеть. Нужно чтобы обе машины НЕ имели доступ в Интернет.
Тогда последовательность действий следующая:
1. В меню VirtualBox перейдите в Файл → Менеджер сетей хоста. Там нажмите иконку «Создать».
2. В настройках виртуальных машин, которые должны быть подключены в этой виртуальной сети, в качестве «Типа подключения» выберите «Виртуальный адаптер хоста», а там где «Имя» выберите имя той сети, которую только что создали в Менеджере сетей хоста.
3. Повторите пункт 2 для каждой виртуальной машине, чтобы подключить её к этой сети.
В этом случае виртуальные машине НЕ будут иметь доступ в Интернет. Чтобы был доступ в Интернет, нужно добавить второй адаптер с NAT + может понадобиться дополнительная настройка сетевых интерфейсов или использовать правила iptables.
Аналогичная задача: создать между виртуальными машинами локальную сеть, в которой они могут обращаться друг к другу по IP адресам, но чтобы из реальной локальной сети к этим машинам не было доступа, а также не было доступа от виртуальных машин в реальную локальную сеть. Нужно чтобы обе машины ИМЕЛИ доступ в Интернет.
Тогда последовательность действий следующая:
1. В меню VirtualBox перейдите в Файл → Настройки → Сеть. Там нажмите иконку «Создать».
2. В настройках виртуальных машин, которые должны быть подключены в этой виртуальной сети, в качестве «Типа подключения» выберите «Сеть NAT», а там где «Имя» выберите имя той сети, которую только что создали.
3. Повторите пункт 2 для каждой виртуальной машины, чтобы подключить её к этой сети.
Спасибо, этими методами получилось. Спасибо за быструю и своевременную помощь.