Использование режима Enhanced session mode в менеджере Microsoft Hyper-V является более удобным способом управления виртуальными машинами, чем базовый режим сеанса в VMConnect. Режим Enhanced session mode использует протокол удаленного рабочего стола (RDP), чтобы позволить вам подключать ресурсы хост-машины (диски, USB-устройства, принтеры и т. д.) к виртуальным машинам. При использовании этого режима вам становятся доступны определенные действия, такие как возможность изменения размера экрана виртуальной машины, копирование и вставка текста из хоста в гостя и наоборот и т. д.
Включение Enhanced session mode просто на Windows, работающей в качестве гостевой ОС на Hyper-V, поскольку Windows поставляется с функцией удаленного рабочего стола. Однако для дистрибутивов Linux, работающих в качестве гостевых операционных систем на Hyper-V, удаленный рабочий стол не предварительно настроен. Ubuntu 20.04 LTS, которая в наши дни довольно популярна, часто развертывается на виртуальных машинах Hyper-V, в частности, когда нельзя установить Linux в качестве хост-ОС. Продолжайте чтение, чтобы узнать, как использовать Hyper-V в режиме улучшенного сеанса для запуска Ubuntu на Windows.
Создание и настройка виртуальной машины
Давайте посмотрим, как создать и настроить виртуальную машину Ubuntu 20.04 с нуля в Hyper-V. В этом блог-посте я использую Windows 10 Pro версии 20H2 с установленным Hyper-V. Имя хоста моей машины под управлением Windows 10 – home-pc. Прежде чем запустить виртуальную машину Ubuntu, вам необходимо включить Hyper-V. Если у вас нет установленного Hyper-V на вашем хосте под управлением Windows, прочтите, как установить Hyper-V на Windows 10 и Windows Server 2019.
Чтобы создать новую виртуальную машину в Hyper-V, откройте Менеджер Hyper-V, щелкните правой кнопкой мыши по имени вашего хост-компьютера и в контекстном меню выберите Новый > Виртуальная машина.
Откроется Мастер новой виртуальной машины. Вы можете пропустить шаг Перед началом.
Укажите имя и расположение. Введите имя виртуальной машины, например, Ubuntu Hyper-V. Выберите флажок Хранить виртуальную машину в другом месте и выберите папку, в которой хотите хранить файлы VM, например, E:\VMs\. Нажимайте Далее на каждом шаге мастера, чтобы продолжить.
Укажите поколение. Выберите поколение новой ВМ. Лучше выбрать Поколение 2, потому что доступны больше функций и уровни выше. ВМ Поколения 2 используют UEFI. Узнайте больше о ВМ Поколения 1 и Поколения 2 в Hyper-V.
Назначьте память. Укажите количество доступной памяти для ВМ. Я выбираю 4096 МБ, что достаточно для запуска Ubuntu без выполнения тяжелых задач. Установите флажок Использовать динамическую память для этой виртуальной машины. Чем больше памяти вы назначите для ВМ, тем удобнее будет работать. Не назначайте всю память вашего компьютера для ВМ; оставьте память для хост-операционной системы. Если вы запускаете другие ВМ одновременно с этой ВМ Linux, помните, что и другим ВМ также требуется память.
Настройка сети. Выберите виртуальный коммутатор, к которому будет подключен виртуальный сетевой адаптер виртуальной машины. Если вы еще не создали виртуальные коммутаторы, вы можете сделать это позже и отредактировать конфигурацию виртуальной машины.
Подключение виртуального жесткого диска. Нажмите Создать виртуальный жесткий диск. Введите имя виртуального диска, например, Ubuntu Hyper-V.vhdx. Укажите расположение файла виртуального диска. Вы должны выбрать местоположение в каталоге, используемом для хранения виртуальных машин Hyper-V. В моем случае выбранный каталог – E:\VMs\Ubuntu Hyper-V\Virtual Hard Disks\. Установите размер виртуального диска. Я выбираю 15 ГБ для моей виртуальной машины Ubuntu 20.04, используемой для тестирования.
Параметры установки. Выберите Установить операционную систему из образа загрузочного файла. Нажмите Обзор и выберите расположение образа установочного ISO-файла Ubuntu 20.04. Версия Ubuntu, которую я собираюсь установить, – 20.04.2. Вы можете загрузить образ установки с официального сайта Ubuntu website.
Сводка. Проверьте сводку конфигурации и нажмите Завершить, чтобы завершить создание новой виртуальной машины.
Откройте настройки виртуальной машины Ubuntu Hyper-V, которую вы уже создали. Щелкните правой кнопкой мыши на виртуальной машине Ubuntu Hyper-V в Менеджере Hyper-V и в контекстном меню выберите Настройки.
В навигационной панели выберите Безопасность в разделе Аппаратное обеспечение и снимите флажок с Включить защищенную загрузку. Защищенная загрузка не требуется для этой виртуальной машины. Вы можете проверить и изменить другие настройки ВМ при необходимости. Нажмите ОК, чтобы сохранить настройки и закрыть это окно.
Установка Ubuntu 20.04 на ВМ
После создания новой виртуальной машины следует установить Ubuntu 20.04 в качестве гостевой операционной системы на этой ВМ. Включите ВМ, установщик Ubuntu 20.04 должен загрузиться с прикрепленного образа установки ISO. Процесс установки Ubuntu Linux подробно описан в блоге о установке Linux на Hyper-V.
I’ll focus on two installations steps only. In this example, I select Normal installation with the option to Download updates while installing Ubuntu 20.04.
Важная опция, которую следует выбрать, – требовать пароль для входа на шаге “Кто вы?” установки. Использование улучшенного режима сеанса для ВМ Ubuntu в Hyper-V недоступно, если выбрана опция Автоматически входить.
Службы интеграции Ubuntu Hyper-V являются частью дистрибутива Linux, и вам не нужно устанавливать загружаемый пакет, предоставленный Microsoft, вручную.
Постустановочная настройка в Ubuntu
После установки Ubuntu 20.04 необходимо выполнить важные действия. Вам нужно загрузить и запустить скрипт для настройки Ubuntu 20.04, установленного на виртуальной машине Hyper-V в качестве гостевой ОС, чтобы заработал улучшенный режим сеанса.
Откройте консоль (терминал) в Ubuntu 20.04.
Перейдите в каталог Downloads:
cd ~/Downloads/
Скачать обновленный скрипт для Ubuntu 20.04:
wget https://raw.githubusercontent.com/Hinara/linux-vm-tools/ubuntu20-04/ubuntu/20.04/install.sh
Добавьте разрешения на выполнение для загруженного файла скрипта install.sh:
sudo chmod +x install.sh
Запустите скрипт с привилегиями root:
sudo ./install.sh
После завершения выполнения скрипта вам будет предложено перезагрузить Ubuntu 20.04 и запустить скрипт снова после перезагрузки.
Перезагрузите машину Linux:
init 6
После перезагрузки откройте терминал, перейдите в каталог, где находится скрипт, и запустите его еще раз:
cd ~/Downloads/
sudo ./install.sh
Перезагрузите свою виртуальную машину Ubuntu после завершения выполнения скрипта.
Настройка хостовой машины Windows, работающей под управлением Hyper-V
Вам необходимо разрешить режим улучшенной сессии в общих настройках Hyper-V. В противном случае значок режима улучшенной сессии будет неактивным в окне ВМ. Откройте диспетчер Hyper-V, щелкните правой кнопкой мыши имя своей хостовой машины Windows, на которой установлен Hyper-V, и, в контекстном меню, нажмите Настройки Hyper-V.
Выберите Политику улучшенного режима сеанса в панели навигации, а затем выберите флажок Разрешить улучшенный режим сеанса. Нажмите ОК, чтобы сохранить настройки Hyper-V и закрыть окно.
Теперь вам следует настроить Hyper-V для включения улучшенного режима сеанса с использованием HvSocket для виртуальной машины “Ubuntu Hyper-V”, на которой установлена Ubuntu 20.04.
Выполните следующую команду в PowerShell (с правами администратора) на хостовой машине Windows, на которой работает Hyper-V:
Set-VM -VMName <your_vm_name> -EnhancedSessionTransportType HvSocket
Используйте двойные кавычки, если имя ВМ содержит пробелы. В моем случае команда выглядит следующим образом:
Set-VM -VMName “Ubuntu Hyper-V” -EnhancedSessionTransportType HvSocket
Возможно, вы увидите следующую ошибку:
Set-VM : Параметр, соответствующий имени параметра ‘EnhancedSessionTransportType’, не найден.
На строке:1 символ:30
+ Set-VM -VMName “Ubuntu20-04” -EnhancedSessionTransportType HvSocket
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-VM], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.HyperV.PowerShell.Commands.SetVM
Эта ошибка может возникнуть, если вы используете старую версию PowerShell, которая не поддерживает новые командлеты и параметры.
В этом случае следуйте этому рекомендации: Попробуйте обновить хост Windows операционную систему до Windows Server 2019, Windows 10 1803 или новее. Если вы не можете обновить операционную систему, обновите Windows PowerShell до более новой версии, которая включает необходимые командлеты и функции.
Вам может понадобиться перезагрузить хост Hyper-V (не забудьте запустить последную команду для включения режима улучшенной сессии для Ubuntu 20.04 для Hyper-V в PowerShell). Остановить и запустить Linux ВМ. Когда Ubuntu загрузится, вы должны увидеть окно с конфигурацией отображения ВМ и другими опциями режима улучшенной сессии. Нажмите Показать опции, и выберите нужные ресурсы на вкладке Местные ресурсы для подключения ресурсов хоста к гостевой ОС (Ubuntu 20.04 в нашем случае) ВМ. Рекомендуется снять флажок с принтеров в первый раз, чтобы снизить вероятность проблем.
Введите имя пользователя и пароль вашего пользователя Ubuntu в окне входа Xorg. Обратите внимание, что кнопка режима улучшенной сессии теперь активна в окне виртуальной машины.
Теперь вы должны увидеть GUI (графический пользовательский интерфейс) и Рабочий стол Ubuntu 20.04. Попробуйте использовать общий буфер обмена и другие функции совместного использования, а также изменение разрешения экрана в ВМ.
Если после ввода учетных данных вы видите черный экран, причина может быть следующей: Пользователь уже вошел в рабочий сеанс рабочего стола Ubuntu. Выйдите из учетной записи пользователя и завершите этот сеанс. Затем попробуйте подключиться к Ubuntu, используя режим улучшенной сессии и Xrdp в Hyper-V. Вы можете перезагрузить ВМ Ubuntu и подключиться к Ubuntu с использованием режима улучшенной сессии.
Если опция улучшенной сессии недоступна для гостевой Ubuntu 20.04 в Hyper-V, попробуйте отредактировать конфигурационный файл xrdp.ini, расположенный в /etc/xrdp. Вы должны отредактировать файл с привилегиями root. Отредактируйте две строки в файле xrdp.ini.
Измените эти параметры:
port=3389 на port=vsock://-1:3389
use_vsock=true на use_vsock=false
Эта проблема должна быть исправлена для Ubuntu 20.04.1.
Также прочитайте блог о настройке RDP на Linux, чтобы узнать больше о ручной настройке.
Вывод
Ubuntu Linux – отличная операционная система, которая удобна, надежна и широко используется по всему миру. Если вы используете Windows, установленный на вашем компьютере в качестве хост-ОС, вы можете запустить Ubuntu на виртуальной машине Hyper-V. В этом посте блога объясняется, как включить режим улучшенной сессии для виртуальной машины с Ubuntu 20.04 в Hyper-V. В этом учебнике используется Windows 10 20H2 в качестве хост-машины. Вы можете выполнить ту же конфигурацию в Windows Server 2019. Режим улучшенной сессии предоставляет вам дополнительные функции для работы с ВМ более удобно. Главный момент конфигурации – запуск сценария конфигурации в госте Ubuntu.
Если вы используете ВМ Hyper-V, не забудьте выполнить резервное копирование Hyper-V для защиты данных ваших виртуальных машин. Загрузите бесплатную версию NAKIVO Backup & Replication и резервируйте ВМ на ваших хостах Hyper-V.
Source:
https://www.nakivo.com/blog/install-ubuntu-20-04-on-hyper-v-with-enhanced-session/