Виртуальная машина используется приложением на компьютере узла что делать

Обновлено: 04.07.2024

Виртуальная машина, это такой компьютер внутри компьютера. Если быть точнее, то это программа, которая умеет прикидываться компьютером. А раз так, то на неё можно "установить" операционную систему. Например, Windows 7 или Windows 10. То есть получить ещё один, два, три компьютера внутри основного. Чтобы установить, разумеется понадобится дистрибутив Windows и ключ активации.

Зачем это может быть нужно?

  • можно запускать Windows в среде Mas OS;
  • можно запускать другой Windows на своём компьютере с Windows и экспериментировать с программами;
  • можно запускать серверные операционные системы, для экспериментов или обучения;
  • можно не бояться вирусов, потому что заразится только виртуальный компьютер, его в случае чего можно просто "удалить";
  • можно перенести виртуальную машину на другой компьютер и запускать там;
  • можно записывать учебные видео, не устанавливая в свой основной компьютер программы, о которых записываются видео;
  • можно вернуть виртуальную машину в начальное состояние, одним щелчком мыши;

Это всего лишь некоторые задачи, которые решает виртуальная машина установленная на вашем ПК. И это мы не берём серверные виртуалки, так называемые VDI (Virtual Desktop Infrastructure) - давно известные решения для компаний разного размера. При использовании таких виртуальных рабочих столов, можно стандартизировать рабочее место, уменьшить мощность клиентского компьютера (поставить "тонкий клиент") и сократить затраты на поддержку.

Кстати, большинство серверов, к которым вы подключаетесь на работе или дома - тоже виртуальные :)

Расскажу о программах виртуальных машин, которые доступны либо бесплатно, либо за небольшие деньги.

Virtual Box

Это продукт компании Oracle. Бесплатный и очень простой. Ну, и довольно малофункциональный. Но для большинства случаев подойдёт. Есть версии и для Windows и для Mac OS.

Разработчики вирусного ПО и просто разработчики, не желающие, чтобы их программу пытались реверсить, на этапе запуска или установки проводят проверки на виртуальную машину, и в случае её обнаружения отказываются работать, а то и вовсе самоликвидируются. Под катом описан способ, как можно попробовать решить эту проблему.

Я использовал VMWare Fusion для Mac, однако с тем же успехом способ работает и в Workstation для Win.

1) Для работы необходима заново установленная система, как внести изменения в уже существующую — не нашёл.

Готовите виртуальный диск, указываете систему, как это обычно делаете, и в настройках к устанавливаемой машине, у меня этот пункт назван Isolation, выключаете любой обмен данными с хостовой ОС.

2) Далее надо найти конфигурационный VMX файл, создаваемый на этапе создания машины в VMWare, и в конец добавить строки:

isolation.tools.getPtrLocation.disable = «TRUE»
isolation.tools.setPtrLocation.disable = «TRUE»
isolation.tools.setVersion.disable = «TRUE»
isolation.tools.getVersion.disable = «TRUE»
monitor_control.disable_directexec = «TRUE»
monitor_control.disable_chksimd = «TRUE»
monitor_control.disable_ntreloc = «TRUE»
monitor_control.disable_selfmod = «TRUE»
monitor_control.disable_reloc = «TRUE»
monitor_control.disable_btinout = «TRUE»
monitor_control.disable_btmemspace = «TRUE»
monitor_control.disable_btpriv = «TRUE»
monitor_control.disable_btseg = «TRUE»

Эти опции предотвращают детектирование программами виртуального окружения через такие сложные проверки, как отслеживание адресного пространства памяти, счётчиков.

Важно! Если на этапе настройки установки будет опция вроде «Express install», «Быстрая установка» — выключайте их. Также не стоит устанавливать VMWare Tools в установленную систему, т.к. некоторое ПО в проверку включает и наличие этого пакета.

3) Сохраняем файл, указываем для загрузки ISO с установщиком системы, устанавливаем ОС как обычно.

4) Несмотря на то, что подавляющее большинство программ, не любящих виртуальной среды, не заходят дальше проверок, которые мы отсекли на 2 шаге, некоторые особо упорные всё же идут дальше и пытаются искать, к примеру, всё, что похоже на название контроллеров виртуальных дисков.

Чтобы победить и их в Windows, идём в редактор реестра в ветку HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum. Как видите, там есть вполне явная отсылка к тому, что диск — виртуальный.


Нам нужно изменить его, убрав из параметра VMware, Virtual, Ven, итп, и сохранить её так.

Также имеет смысл заменить в реестре поиском по VMware/Virtual на какой-нибудь Intel или IBM всё, что меняется, а не только дисковые переменные.

После пробуйте запускать ваш упрямый объект экспериментов — в процентах 70 случаев описанные шаги помогут пройти проверки на виртуальное окружение.

Важно! Значение в HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum перезаписывается после каждой перезагрузки, так что его нужно менять после каждого нового запуска системы.

Естественно, это не исчерпывающее руководство, некоторое ПО также может пытаться определять виртуальную систему следующими методами:

1) Проверками диапазона MAC адресов (просто подменяется в настройках виртуального сетевого адаптера до запускa виртуальной машины)
2) Через WinAPI опросом конфигурации ОС и прочей системной информации (FirmwareTable)
3) Низкоуровневыми трюками.

Проверить, насколько вы обезопасили себя от обнаружения, а также ознакомиться с другими популярными у разработчиков средствами обнаружения песочниц и виртуалок можно средством Pafish.


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

Как видно, улучшить скрытность можно также выделив виртульной машине больше системных ресурсов. Что касается памяти, выбирать стоит значения, кратные 1024.

Спасибо всем, кто осилил статью и помог в дополнении её толковыми комментариями!

Это содержимое применимо к Виртуальному рабочему столу Azure с объектами Azure Resource Manager для Виртуального рабочего стола Azure. Если вы используете Виртуальный рабочий стол Azure (классический) без объектов Azure Resource Manager, см. эту статью.

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

Отзывы

Посетите техническое сообщество Виртуального рабочего стола Azure, чтобы обсудить службу "Виртуальный рабочий стол Azure" с группой разработчиков и активными членами сообщества.

Виртуальные машины не присоединены к домену

Следуйте этим инструкциям, если у вас возникли проблемы с присоединением виртуальных машин к домену.

Ошибка: неправильные учетные данные

Причина. При вводе учетных данных в исправлениях интерфейса шаблона Azure Resource Manager допущена ошибка.

Исправление. Для решения проблемы выполните одно из следующих действий.

  • Вручную добавьте виртуальные машины в домен.
  • Повторно разверните шаблон после подтверждения учетных данных. См. статью Создание пула узлов с помощью PowerShell.
  • Присоедините виртуальные машины к домену с помощью шаблона, следуя инструкциям на странице Присоединение имеющейся виртуальной машины Windows к домену AD.

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

Причина. Возможно, для учетной записи, используемой для завершения присоединения к домену, включена многофакторная проверка подлинности (MFA).

Исправление. Для решения проблемы выполните одно из следующих действий.

  • Временно отключите MFA для учетной записи.
  • Используйте учетную запись службы.

Ошибка. Учетная запись, используемая во время подготовки, не имеет разрешений для завершения операции

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

Исправление. Для решения проблемы выполните одно из следующих действий.

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

Ошибка. Доменное имя не разрешается

Причина 1. Виртуальные машины находятся в виртуальной сети, не связанной с виртуальной сетью, в которой находится домен.

Причина 2. При использовании доменных служб Azure Active Directory (Azure AD DS) параметры DNS-сервера в виртуальной сети не обновлены и не указывают на управляемые контроллеры домена.

Исправление 2. Сведения об обновлении параметров DNS для виртуальной сети, содержащей Azure AD DS, см. в разделе Обновление настроек DNS для виртуальной сети Azure.

Причина 3. Параметры DNS-сервера сетевого интерфейса не указывают на соответствующий DNS-сервер в виртуальной сети.

Исправление 3. Выполните одно из следующих действий, чтобы устранить проблему, в соответствии с инструкциями, описанными в разделе "Изменение DNS-серверов".

  • Измените параметры DNS-сервера сетевого интерфейса на Настраиваемые, выполнив действия из раздела Изменение DNS-серверов, и укажите частные IP-адреса DNS-серверов в виртуальной сети.
  • Измените параметры DNS-сервера сетевого интерфейса, выбрав вариант Унаследовать от виртуальной сети и выполнив действия, описанные в разделе Изменение DNS-серверов. Затем измените параметры DNS-сервера виртуальной сети, как описано в разделе Изменение DNS-серверов.

Не установлены агент и загрузчик Виртуального рабочего стола Azure

Для подготовки виртуальных машин к работе мы рекомендуем использовать шаблон создания на портале Azure. Шаблон автоматически устанавливает агент и загрузчик агента Виртуального рабочего стола.

Ошибка. Отсутствуют агент и загрузчик агента Виртуального рабочего стола Azure, а также файл C:\Windows\Temp\ScriptLog.log

Причина 1. Учетные данные, предоставленные во время ввода информации для шаблона Azure Resource Manager, неправильные, или имеющихся разрешений недостаточно.

Способ исправления 1. Вручную добавьте недостающие компоненты на виртуальные машины, как описано в статье Создание пула узлов с помощью PowerShell.

Причина 2. Платформу DSC PowerShell удалось запустить и выполнить, однако завершить ее работу не удалось, так как она не может войти в службу "Виртуальный рабочий стол Azure" и получить необходимые сведения.

Способ исправления 2. Выполните проверку по пунктам приведенного ниже списка.

  • Убедитесь, что для учетной записи не включена многофакторная проверка подлинности.
  • Убедитесь, что имя пула узлов указано правильно и этот пул узлов существует в службе Виртуального рабочего стола Azure.
  • Убедитесь, что учетная запись имеет по меньшей мере права участника в подписке Azure или группе ресурсов.

Ошибка. Сбой проверки подлинности, ошибка в файле C:\Windows\Temp\ScriptLog.log

Причина. Платформу DSC PowerShell удалось выполнить, но ей не удалось подключиться к Виртуальному рабочему столу Azure.

Способ исправления. Выполните проверку по пунктам приведенного ниже списка.

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

Агент Виртуального рабочего стола Azure не регистрируется в службе "Виртуальный рабочий стол Azure"

При первой установке агента Виртуального рабочего стола Azure на виртуальных машинах узла сеансов (вручную или с помощью шаблона Azure Resource Manager и DSC PowerShell), он предоставляет маркер регистрации. В следующем разделе рассматриваются проблемы, связанные с агентом Виртуального рабочего стола Azure и маркером.

Ошибка. В поле состояния командлета Get-AzWvdSessionHost отображается состояние "Недоступно"

В командлете Get-AzWvdSessionHost отображается состояние "Недоступно".

Причина. Агенту не удается обновиться до новой версии.

Исправление. Выполните эти инструкции, чтобы вручную обновить агент.

  1. Скачайте новую версию агента на виртуальной машине узла сеансов.
  2. Запустите диспетчер задач. На вкладке "Служба" остановите службу RDAgentBootLoader.
  3. Запустите установщик для новой версии агента Виртуального рабочего стола Azure.
  4. При появлении запроса на ввод маркера регистрации удалите запись INVALID_TOKEN и нажмите кнопку "Далее" (новый маркер не требуется).
  5. Завершите работу мастера установки.
  6. Откройте диспетчер задач и запустите службу RDAgentBootLoader.

Ошибка. Для записи реестра IsRegistered агента Виртуального рабочего стола Azure отображается значение 0

Причина: Срок действия маркера регистрации истек.

  1. Если маркер регистрации уже существует, удалите его с помощью Remove-AzWvdRegistrationInfo.
  2. Выполните командлет New-AzWvdRegistrationInfo, чтобы создать новый маркер.
  3. Убедитесь, что в качестве значения для параметра -ExpriationTime задано три дня.

Ошибка. Агент Виртуального рабочего стола Azure не сообщает о пульсе при запуске Get-AzWvdSessionHost

Причина 1. Служба RDAgentBootLoader остановлена.

Исправление 1. Запустите диспетчер задач и, если на вкладке "Служба" сообщается, что служба RDAgentBootLoader находится в остановленном состоянии, запустите эту службу.

Причина 2. Возможно, закрыт порт 443.

Исправление 2. Выполните эти инструкции, чтобы открыть порт 443.

Убедитесь, что порт 443 открыт, загрузив средство PSPing со страницы средств Sysinternal.

Установите PSPing на виртуальной машине узла сеансов, где запущен агент.

Откройте командную строку от имени администратора и выполните следующую команду:

Убедитесь, что средство PSPing получило сведения от RDBroker.

Устранение неполадок с параллельным стеком Виртуального рабочего стола Azure

параллельный стек виртуальных рабочих столов Azure автоматически устанавливается с Windows Server 2019 и более поздними версиями. Для установки параллельного стека на Microsoft Windows Server 2016 или Windows Server 2012 R2 используйте установщик Майкрософт (MSI). Для Microsoft Windows 10 параллельный стек Виртуального рабочего стола Azure включается с помощью enablesxstackrs.ps1.

Параллельный стек можно установить или включить на виртуальных машинах пула узлов сеансов тремя основными способами:

  • с помощью шаблона создания на портале Azure;
  • путем добавления и включения в главном образе;
  • путем установки или включения вручную на каждой виртуальной машине (либо с помощью расширений или PowerShell).

Если у вас возникли проблемы с параллельным стеком Виртуального рабочего стола Azure, в командной строке введите команду qwinsta и убедитесь, что параллельный стек установлен или включен.

Если параллельный стек установлен и включен, в списке выходных данных qwinsta будет запись rdp-sxs.

В выходных данных qwinsta содержится запись rdp-sxs, указывающая на то, что параллельный стек установлен или включен.

Проверьте указанные ниже записи реестра и убедитесь, что их значения именно такие. Если разделы реестра отсутствуют или значения в них не совпадают, убедитесь, что используется поддерживаемая операционная система. Если это так, выполните инструкции из статьи Создание пула узлов с помощью PowerShell, чтобы переустановить стек с параллельным размещением.

Ошибка. O_REVERSE_CONNECT_STACK_FAILURE

Код ошибки O_REVERSE_CONNECT_STACK_FAILURE.

Причина. Параллельный стек не установлен на виртуальной машине узла сеансов.

Исправление. Выполните эти инструкции, чтобы установить параллельный стек на виртуальной машине узла сеансов.

  1. Для непосредственного перехода к виртуальной машине узла сеансов в качестве локального администратора используйте протокол удаленного рабочего стола (RDP).
  2. Установите параллельный стек, следуя инструкциям из статьи Создание пула узлов с помощью PowerShell.

Устранение неполадок с неисправным параллельным стеком Виртуального рабочего стола Azure

Параллельный стек может оказаться неисправным в таких известных обстоятельствах:

  • несоблюдение правильного порядка действий при включении параллельного стека;
  • автоматическое обновление до расширенного универсального диска (EVD) Windows 10;
  • отсутствие роли узла сеансов Удаленного рабочего стола (RDSH);
  • многократный запуск enablesxsstackrc.ps1;
  • запуск enablesxsstackrc.ps1 в учетной записи без прав локального администратора.

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

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

Подключитесь к виртуальной машине, с которой будет установлено исправление, используя стандартный протокол удаленного рабочего стола (RDP).

Распакуйте скачанные файлы.

Откройте командную строку от имени локального администратора.

Перейдите к папке, в которую распаковано средство PsExec.

В командной строке выполните следующую команду:

VMname — это имя компьютера виртуальной машины с неисправным параллельным стеком.

Примите условия лицензионного соглашения для PsExec, нажав кнопку "Принимаю".

Снимок экрана: лицензионное соглашение для программного обеспечения.

Это диалоговое окно будет отображаться только при первом запуске PsExec.

После открытия сеанса командной строки на виртуальной машине с неисправным параллельным стеком запустите qwinsta и убедитесь в наличии записи с именем rdp-sxs. Если ее нет, на виртуальной машине отсутствует параллельный стек, так что эта ошибка с ним не связана.

Командная строка, запущенная от имени администратора

Выполните следующую команду, которая выведет список компонентов Майкрософт, установленных на виртуальной машине с неисправным параллельным стеком.

Выполните приведенную ниже команду, используя имена продуктов из предыдущего шага.

Удалите все продукты, название которых начинается с Remote Desktop (Удаленный рабочий стол).

После удаления всех компонентов Виртуального рабочего стола Azure следуйте инструкциям для своей операционной системы:

Если используется операционная система Windows Server, перезапустите виртуальную машину с неисправным параллельным стеком (с помощью портала Azure или средства PsExec).

Если ваша операционная система — Microsoft Windows 10, следуйте приведенным ниже инструкциям:

На виртуальной машине, где запущено средство PsExec, откройте проводник и скопируйте disablesxsstackrc.ps1 на системный диск виртуальной машины с неисправным параллельным стеком.

VMname — это имя компьютера виртуальной машины с неисправным параллельным стеком.

Рекомендуем выполнить такой процесс: в средстве PsExec запустите PowerShell, перейдите к папке из предыдущего шага и запустите disablesxsstackrc.ps1. Кроме того, можно выполнить следующий командлет:

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

Не настроен режим лицензирования удаленного рабочего стола

При входе в Windows 10 Корпоративная с поддержкой нескольких сеансов с помощью учетной записи администратора может появиться такое уведомление: "Режим лицензирования удаленного рабочего стола не настроен. Службы удаленных рабочих столов прекратят работать через X дн. На сервере посредника подключений к удаленному рабочему столу укажите режим лицензирования удаленных рабочих столов".

Если пул узлов содержит узлы сеансов Windows Server, Виртуальному рабочему столу Azure требуется только клиентская лицензия (CAL) для RDS. Дополнительные сведения о настройке клиентских лицензий для RDS см. в статье Лицензирование развертывания служб удаленных рабочих столов с клиентскими лицензиями (CAL).

Отключение параметра групповой политики для режима лицензирования удаленных рабочих столов

Проверьте параметр групповой политики. Для этого откройте редактор групповой политики на виртуальной машине и последовательно выберите Административные шаблоны > Компоненты Windows > Службы удаленных рабочих столов > Узел сеансов удаленных рабочих столов > Лицензирование > Задать режим лицензирования узла сеансов удаленных рабочих столов. Если параметр групповой политики включен, отключите его. Если он уже отключен, оставьте все как есть.

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

Определение используемой версии Windows 10 Корпоративная с поддержкой нескольких сеансов

Чтобы проверить, какая версия Windows 10 Корпоративная с поддержкой нескольких сеансов используется, выполните следующие действия:

Войдите со своей учетной записью администратора.

Введите "О" в строке поиска рядом с меню "Пуск".

Выберите О компьютере.

Проверьте номер рядом с текстом "Версия". Это должно быть значение "1809" или "1903", как показано на следующем рисунке.

Снимок экрана: окно спецификации Windows. Номер версии выделен красным цветом.

Теперь, когда вы знаете номер версии, переходите к соответствующему разделу.

Версия 1809

Если номер версии — 1809, установите обновление KB4516077.

Версия 1903

Повторно разверните операционную систему узла, используя последнюю версию образа Windows 10 версии 1903 из коллекции Azure.

Не удалось соединиться с удаленным ПК из-за ошибки безопасности

Я не могу развернуть "золотой" образ

"Золотые" образы не должны содержать агент Виртуального рабочего стола Azure. Вы можете установить этот агент только после развертывания "золотого" образа.

Виртуальные машины. Как сделать компьютер в компьютере

В одном обычном компьютере можно создать сразу несколько виртуальных, чтобы познакомиться с возможностями Linux или другими экзотическими ОС, запустить очень старую и сегодня неподдерживаемую программу, пройти заново игру детства на современном железе. Или же запустить Windows Vista внутри Windows 7 внутри Windows 8 внутри Windows 10. Просто потому, что захотелось.

Что такое виртуальные машины

Виртуальная машина — это эмулятор компьютера в самом широком смысле. Это почти как эмулятор игровой приставки или Android-устройства, только настраивается гораздо гибче.

Например, на эмуляторе Sony PlayStation не получится запустить игру под Nintendo GameBoy. А эмулятор DOSbox — это очень условный, специализированный виртуальный компьютер с эмуляцией определенного списка старого оборудования и со встроенной системой DOS, так что запустить там Windows 10 не получится.

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

Зачем нужны виртуальные машины

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

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

Или, например, есть очень важная и нужная программа, которая запускается только под WindowsXP конкретной версии и сборки. Причем эта программа откажется запускаться, если оперативной памяти больше 128 мегабайт. Можно отпилить часть микросхем от современного модуля на 16 гигабайт, но что-то вам подсказывает, что так делать не нужно. А вот виртуальная машина поможет запустить капризный софт, эмулируя компьютер с нужным объемом памяти.

А вот, допустим, игра двадцатилетней давности, которую вы нашли на антресолях и пытаетесь установить в приступе ностальгии. Игра отказывается верить в существование восьмиядерного процессора и вылетает с ошибкой «так не бывает». Виртуальная машина с нужными характеристиками поможет вспомнить былые времена и запустить игру.


Часто виртуальная машина используется в качестве «песочницы» — маленькой игровой площадки для программы, которая вызывает у вас подозрения. Чтобы не рисковать, вы запускаете сомнительную программу внутри виртуальной машины, а не на настоящем компьютере: софт честно делает свою работу, потом шифрует все файлы и требует денег, например. Но в виртуальной системе, в той самой «песочнице» не было никаких ценных данных, поэтому вы можете спокойно удалить виртуальную машину с наглой программой внутри. Здорово же!

Наконец, приверженцы техники Apple или убежденные Linux-пользователи тоже могут использовать виртуальную машину, чтобы запустить какой-то специфический софт, который работает только под Windows.

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

Основные термины и их понимание

Гость (guest, гест, гостевая система, таргет) — это виртуальный компьютер, один или несколько, который запускается на хосте.

Хост — это основной компьютер, на котором запускаются виртуальные машины. Производительность хоста должна быть достаточной, чтобы тянуть и собственную систему, и гостевую. Для запуска одной виртуальной машины вполне достаточно возможностей любого современного компьютера. Но для нормальной работы нескольких систем одновременно лучше иметь не меньше шестнадцати гигабайт оперативной памяти, а образы компьютеров создавать на скоростном SSD-накопителе. По очевидным причинам, у вас не получится создать виртуальную машину с характеристиками выше, чем у самого хоста — если на основном компьютере всего 8 гигабайт оперативной памяти, то создать таргет с 16 ГБ не выйдет.

Гипервизор — специализированная программа для создания виртуальных машин и управления ими. Для домашнего пользования есть бесплатные программы-гипервизоры с минимальным количеством настроек и функций. В бизнес-сфере используются более продвинутые решения, а некоторые гипервизоры и вовсе устанавливаются вместо операционной системы, чтобы сразу несколько мощных компьютеров можно было объединить в большой виртуальный хост. Это называется «консолидация серверов». Дорогое удовольствие, как по затратам на железо, так и на гипервизор.

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

Установка

Начиная с шестой версии в VirtualBox убрали поддержку 32-битных хост-систем, но пятая версия до сих пор доступна для скачивания. В любом случае, можно скачать обе версии. Для более комфортной работы потребуется еще и набор расширений — ExtensionPack.

Устанавливается VirtualBox довольно просто, достаточно последовательно соглашаться со всеми предложениями. Перед установкой появится большое предупреждение о том, что компьютер будет отключен от сети, на время установки виртуальных сетевых карт — это нормально. А в ходе установки появится несколько подтверждающих окон — это устанавливается эмулятор USB, сетевых карт и других устройств.

Ну а после установки появится основное окно гипервизора на родном русском языке.


Первым же делом желательно установить пакет расширений — он добавляет поддержку USB 2.0, подключение по протоколу RDP, поддержку накопителей с NVMe и прочие полезные вещи. В стандартной установке все эти возможности отсутствуют из-за различных лицензий: сам гипервизор бесплатный во все стороны, а расширения бесплатны только для личного пользования и ознакомления.

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


Как работает виртуальная машина

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

Процессор виртуализируется как минимум одним ядром. Для старых систем лучше не использовать многоядерность — не поймут, испугаются и будут глючить. А новым больше двух ядер нужно выдавать только при реальной необходимости.

Подключенные к хосту USB-устройства можно пробросить внутрь виртуальной машины. Достаточно выбрать для конкретной машины нужный пункт из меню «Устройства — USB». При этом, например, флэшка исчезнет из списка накопителей в хост-системе и станет видна в виртуальной машине. Также можно поступить с любым другим USB-устройством, но не забудьте сначала установить Extensionpack, иначе скорость USB 1.1 вас огорчит.


Чтобы файлы на основной системе были доступны в виртуальной ОС можно воспользоваться общими папками: они монтируются как сетевые пути, но удобнее автоматически их монтировать как сетевой диск — он будет подключаться при загрузке системы. Подробности разберем на этапе настройки.

Создаем виртуальный компьютер

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


Несмотря на то, что в списке поддерживаемых систем есть даже Windows 3.1, лучше всего виртуализируются относительно свежие системы, начиная хотя бы с Windows 2000. С win9x немного сложнее: сначала нужно загрузить DOS из образа дискеты, а уже потом запускать установщик — в те времена загрузочные CD не делали, потому что оптические носители только-только появлялись.

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

После создания виртуальной машины необходимо открыть ее настройки и подключить образ загрузочного компакт-диска на вкладке «носители». И теперь можно запускать виртуальный компьютер.


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

Дополнения — это диск с драйверами, который загружается в виртуальный привод оптических дисков. В Windows-системах достаточно запустить файл autorun с диска, а под Linux — соответствующий скрипт. Главная выгода от установки гостевых драйверов — возможность произвольно менять размеры окна виртуальной машины, а разрешение экрана автоматически подстроится. А, ну и цвета станут повеселее: не 16 базовых, а 32 миллиона оттенков.


Настраиваем взаимодействие с хостом и сеть

Виртуальная машина с настройками «по умолчанию» получает доступ в интернет, но не имеет никакой связи с основным компьютером. А иногда эта связь нужна…


В настройках можно включить двусторонний буфер обмена. Он, правда, работает только с текстовой информацией, но упрощает ввод интернет-адресов и консольных команд. Для приема-передачи файлов можно настроить сетевые папки. Любая папка на хосте может быть подключена в виде сетевой папки в гостевой системе. Дополнительно можно выдать права гостевой системе на запись в эту папку и автоматически подключать папку в качестве диска при загрузке системы. Так, например, папка Downloads на хост-системе может быть доступна из гостевой системы через сетевое окружение по адресу //vboxsvr/Downloads или автоматически подключаться как сетевой диск.


Для экспериментов с Linux-системами и виртуальными серверами часто требуется доступ из хоста к веб-серверу, который запускается на гостевой ОС. Для этого нужно переключить режим сетевой карты с «NAT» на «виртуальный адаптер хоста» или же «Virtualbox Host-only Ethernet Adapter». В последнем случае у гостевой системы не будет личного доступа в интернет, но она сможет общаться с основным компьютером. Так, например, с хоста можно постучаться на файловый сервер, который работает на виртуальной машине.


В данном случае это специализированный linux-дистрибутив openmediavault для создания сетевого хранилища, который запущен в виртуальной машине с типом сетевого адаптера «только хост».

Проблемы с виртуализацией

Главная проблема — отсутствие вменяемой поддержки видеоадаптера и 3D-ускорения. На обычной хост-системе вы можете пользоваться новейшей видеокартой, но все ее преимущества в виртуальной машине будут недоступны. Впрочем, старые игры не особо требовательны к видео — в большинстве случаев справится и встроенный видеоадаптер процессора.

Второй момент — поддержка современного интернета старыми системами. Открыть любой сайт в системе, которая устарела лет на 10–20, может быть проблематично. Либо страница загрузится не полностью, либо не загрузится вовсе.


Виртуализируй это!

Виртуальные машины позволят вам изучить экзотические ОС на современном компьютере. Помимо множества современных Linux-дистрибутивов, это может быть:

  • ReactOS — система с открытым кодом, которая пытается быть совместимой с WinXP
  • BeOS (нынче HaikuOS) — самая дружелюбная к пользователю система из 90х
  • OS/2 — нерушимая и надежная система от IBM, которая использовалась в 90х
  • MacOSX — самая капризная в плане виртуализации система, которая хорошо работает только на компьютерах от Apple.

Также можно установить старую версию Windows и попробовать покорить современный интернет. Во времена технологии Active Desktop в windows98 интернет был очень другим.

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

Что такое виртуальная машина и зачем она нужна

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

Что такое виртуальная машина?

Виртуальная машина (ВМ, VM) – это виртуальная среда, работающая как настоящий компьютер, но внутри другого компьютера. Если выражаться проще, то это приложение, которое имитирует компьютер с полноценной операционной системой и аппаратным обеспечением.

Ubuntu, запущенная в виртуальной машине на Windows

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

Как работают виртуальные машины?

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

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

Типы виртуальных машин

По типу ВМ делятся на виртуализацию процесса и виртуализацию ОС. В первом случае виртуальная машина отвечает только за работу конкретного приложения/процесса. По такому принципу работает язык программирования Java. Утилиты, написанные на нем, запускаются только в специальных виртуальных машинах – «прослойках» между аппаратной частью ПК и непосредственно приложением. Во втором случае речь идет об эмуляции полноценной системы.

Также ВМ иногда делят на категории по типу виртуализации:

Аппаратная виртуализация. Когда ВМ взаимодействует с физическим оборудованием ПК.

Программная. Когда виртуальная машина генерирует «новый ПК» на уровне ПО и использует его для запуска других систем.

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

Зачем нужны ВМ?

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

Интерфейс программы VirtualBox

Некоторые разработчики используют ВМ в утилитарных целях, чтобы проверять работоспособность своих проектов. А кто-то таким образом знакомится с новыми для себя операционными системами. Впрочем, обо всем подробнее.

Тестирование ПО

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

Можно запустить на одном ПК несколько ВМ параллельно и запускать в них разрабатываемое приложение. С помощью виртуальных машин можно создать несколько «цифровых компьютеров» с различными характеристиками, чтобы узнать, как ваша программа/сервис будет работать на более слабых устройствах.

Разработка в безопасной среде

Иногда вести разработку на хостовой операционной системе небезопасно. Из-за прямого подключения к корпоративной сети, из-за активности других приложений либо из-за непредсказуемого поведения написанного кода.

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

Виртуальную машину можно лишить доступа к некоторым компонентам ПК или к сети.

Знакомство и работа с новыми ОС

Используя ВМ, можно из праздного интереса установить на ПК какой-нибудь дистрибутив Linux или другую ОС. Неплохой вариант для тех, кто ничем кроме Windows не пользовался и хочет узнать, как там поживают пользователи Linux.

Еще один распространенный сценарий – установка Windows параллельно с macOS в качестве виртуальной машины, чтобы пользоваться эксклюзивными для системы Microsoft продуктами.

Развертывание дополнительных инстансов приложения

Виртуальные машины можно использовать для параллельного запуска нескольких инстансов (то есть действующих копий) одной программы. Это может быть полезно как на этапах тестирования, так и после запуска какого-либо онлайн-сервиса. По такому принципу (если говорить совсем уж обобщенно и абстрактно) работают контейнеры Docker.

Размещение ПО на удаленных серверах

Технологии виртуализации используются на хостинговых платформах. Например, VDS (или VPS) – это Virtual Dedicated Server, то есть виртуальный сервер, имитирующий реальное железо.

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

VDS Timeweb арендовать

Преимущества ВМ

Исходя из описанных выше сценариев применения, можно вывести три основных преимущества виртуальных машин над реальным аппаратным обеспечением:

Несколько виртуальных машин, запущенных параллельно

ВМ можно установить на любой компьютер. ВМ поддерживают любые ОС, поэтому можно сэкономить окружающее пространство, деньги на покупку дополнительного оборудования и время на установку и настройку компьютеров.

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

ВМ легче перезапустить/перенастроить и заново вернуть к работе в случае форс-мажора.

Недостатки ВМ

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

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

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

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

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

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

Лучшие программы для создания и настройки ВМ

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

Их довольно много, но мы рассмотрим лишь несколько ключевых, использующихся чаще всего.

VirtualBox

Бесплатный продукт компании Oracle, позволяющий создавать ВМ на Windows, macOS и Linux. VirtualBox не обладает высокой производительностью и функционально отстает от конкурентов, но это та цена, которую необходимо заплатить за безвозмездное использование программы.

Ограничений по выбору ОС для запуска в VirtualBox почти нет. Можно найти образ практически любой операционной системы и спокойной установить ее в ВМ. Это касается даже проприетарных разработок компании Apple (но не всех; некоторые современные версии macOS все еще не поддерживаются).

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

VMWare Workstation

Продвинутое решение для профессионалов, нуждающихся в удобном и эффективном рабочем пространстве для виртуализации.

Из важных преимуществ VMWare Workstation стоит выделить поддержку Windows Hyper-V и кластеров Kubernetes. Первое позитивно сказывается на совместимости различных видов оборудования с системами, установленными в ВМ. Второе – позволяет создавать контейнеры и управлять ими из командной строки Windows и Linux.

Стандартная версия VMWare Workstation обойдется примерно в 15 тысяч рублей. Есть бесплатный тестовый период. Можно опробовать все функции утилиты в течение 30 дней.

Parallels Desktop

Лучшая утилита для создания и настройки ВМ на компьютерах Apple. Parallels Desktop – самый быстрый и эффективный способ запустить Windows или отдельные приложения для Windows в macOS.

Из важных плюсов PD стоит выделить тесную интеграцию с компонентами Windows. Можно запускать отдельные win-приложения в графической среде macOS, будто это нативные программы, а не утилиты из виртуальной машины.

В Parallels Desktop есть функция автоматической загрузки, установки и настройки ВМ. Нужно просто указать нужную ОС (на выбор есть Windows, Debian, Fedora, Ubuntu, Android и т.п.) и нажать на кнопку «Установить».

Базовая лицензия Parallels Desktop стоит 4788 рублей.

Microsoft Hyper-V

Microsoft Hyper-V – это встроенная в Windows технология виртуализации, объединенная с одноименным приложением для создания новых ВМ и работы с ними.

Для активации Hyper-V нужно установить последнюю версию Windows 10 Pro, а затем прописать в консоли Power Shell команду для активации технологии виртуализации.

Здесь, как и в случае с Parallels, есть функция быстрого создания виртуальных машин. Можно выбрать одну из предложенных систем (Windows, Ubuntu) или установить систему на выбор, загрузив подходящий образ из сети.

Виртуальная машина с Windows 10

Плюсы Hyper-V кроются в тесной интеграции оного с другими компонентами Windows и аппаратным обеспечением компьютера. Это положительно сказывается на стабильности и производительности виртуальных машин.

Кроссплатформенный и быстрый эмулятор для запуска виртуальных машин. С помощью QEMU можно запускать Windows параллельно с Ubuntu или Fedora параллельно с macOS.

Также QEMU можно задействовать для виртуализации на серверных ПК. Поддерживается KVM-виртуализация для развертывания на удаленном компьютере сразу нескольких VDS.

Главное преимущество QEMU – высокая производительность. Разработчики обещают скорость работы гостевых ОС на уровне хост-систем.

Как настроить виртуальную машину?

Процесс настройки зависит от выбранного инструмента для создания ВМ. Почти всегда процесс упирается в выбор образа гостевой системы и установку параметров аппаратного обеспечения. Многие инструменты предлагают опции для быстрого запуска ВМ. Такие есть в VMWare Workstation, Parallels и Hyper-V.

Немного сложнее устроена программа QEMU. О том, как ее настроить, мы писали ранее.

Самый простой способ:

Заходим на сайт Oracle.

Скачиваем и устанавливаем VirtualBox.

Загружаем образ системы, которую нужно установить в ВМ (в формате ISO).

Запускаем VirtualBox и нажимаем кнопку «Создать новую…».

Указываем путь до ISO-файла с системой и жмем «Установить…».

Теперь с виртуальной системой можно работать, как с настоящей.

Вместо заключения

На этом все. Теперь вы знаете, что такое виртуальная машина и какие задачи она помогает решить. Но что еще важнее, теперь вы можете сами создать ВМ!

Читайте также: