Показать статистику
0 голосов
от (310 баллов)
Есть практическая задача на работе - установить Linux в качестве экспериментальной системы для софта по учету трафика. Решено было использовать Hyper-V и все это дело крутить под Windows 10. Кто поделится соображениями на этот счет? Подробная инструкция очень бы пригодилась. Спасибо заранее!
27.4тыс. просмотров 1 ответов

1 Ответ

+6 голосов
от (3.8тыс. баллов)

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

Вместо предисловия

Компания Microsoft не особо заботится об улучшении классического функционала Windows 10, предпочитая вкладывать усилили в будущее платформы UWP, но иногда кое-что из старого арсенала пополняет новыми возможностями. В числе такого арсенала - встроенный в редакции системы, начиная с Pro, штатный гипервизор Hyper-V, в своё время доставшийся Windows 8.1 по наследству от серверной линейки Windows. Относительно недавно в нём появилась упрощённая возможность создания виртуальной машины с Ubuntu 18.04 LTS. Причём с предустановленным сервером XRDP для поддержки расширенного подключения по протоколу RDP. Не всё, увы, в этой истории гладко, есть нюансы. Но, обо всём подробнее ниже.

Поддержка Linux

Hyper-V давно поддерживает Linux, причём отдельные дистрибутивы типа Ubuntu могут быть установлены на виртуальные машины 2-го поколения. Такие отдельные дистрибутивы устанавливаются так же, как и Windows, никакой принципиальной разницы в настройках самой виртуальной машины нет. Разве что в параметрах машин 2-го поколения перед их запуском необходимо отключать функцию безопасной загрузки.

Единственный, но немаловажный нюанс, который делает Hyper-V в плане поддержки Linux неконкурентоспособным гипервизором по сравнению с VirtualBox и VMware – доступ к виртуальной машине даже 2-го поколения только в рамках обычного ограниченного подключения. В терминологии самого Hyper-V - базового сеанса. Тогда как VirtualBox и VMware в среде хостовой Windows позволяют полноценно взаимодействовать с гостевой Linux за счёт внедрения в неё дополнений.

Расширенное подключение по протоколу RDP

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

  • Разрешение экрана машины только 1024х768, его нельзя изменить, можно только масштабировать с потерей качества изображения;
  • Отсутствие звука;
  • Односторонний буфер обмена для текста, работающий по направлению из хост-системы в гостевую.

Расширенное подключение к виртуальной машине (расширенный сеанс) осуществляется посредством протокола Microsoft RDP для подключения к удалённому рабочему столу. И вот он уже предлагает полноценное взаимодействие с гостевой ОС:

  • Выбор любого разрешения экрана, включая поддерживаемое монитором в среде хост-системы;
  • Поддержку двух и более мониторов; 
  • Двусторонний буфер обмена текстом и файлами;
  • Поддержку звука, принтеров, разделов диска и внешних носителей, прочих устройств, отображаемых в хост-системе.

Использовать расширенное подключение можно только для машин с гостевыми Windows 8.1 и 10. Для Windows 7 (в редакциях не ниже Pro) необходимо внутри гостевой ОС разрешать удалённые подключения.

И подключаться к ней по RDP из среды хост-системы.

По этому же принципу можно подключаться по протоколу RDP к гостевым Linux. Только в таковые предварительно необходимо внедрить сервер, поддерживающий протокол Microsoft RDP. Таким сервером является программное обеспечение XRDP. Внедрить его в пару кликов юзабильным способом не получится, без годного мануала здесь не обойтись никак. И вот Microsoft берёт на себя все эти хлопоты: компания предлагает нам готовое решение - установку Ubuntu со встроенным сервером XRDP. С помощью которого можно полноценно работать с гостевой Ubuntu в расширенном сеансе. Более того, такое готовое решение предлагается в рамках упрощённого формата создания виртуальных машин.

Упрощённый формат создания виртуальных машин

Упрощённый формат создания виртуальных машин появился в Hyper-V после того, как «Десятка» обновилась до версии 1709. Изначально этот процесс предусматривал просто упрощённую процедуру создания машин с гостевыми Windows - лишённую пошагового мастера с детализацией параметров. В упрощённом формате виртуальные компоненты задаются автоматически, исходя из оптимального распределения физических ресурсов компьютера. В этом формате Hyper-V даже научился автоматически создавать виртуальный коммутатор, он же сетевой адаптер. Позже Microsoft, очевидно, позаимствовав идею у Parallels Desktop, добавила в такой упрощённый формат ещё и поставку дистрибутива гостевой ОС.

Удобно ведь: в едином процессе и дистрибутив с Интернета подгружается, и машина с оптимальными настройками создаётся. Правда, платить за такое удобство придётся захламлённостью папки «Temp» в каталоге «AppData» - именно туда без вариантов Hyper-V качает файлы установки гостевых ОС. И таких гостевых ОС на данный момент две:

  • Среда разработки Windows 10 – ознакомительная 90-дневная редакция Enterprise с предустановленными компонентами для разработчиков;
  • Linux Ubuntu 18.04.1 LTS – стабильная версия с долгосрочной поддержкой (в течение 5 лет с даты релиза).

Ну а теперь к делу. В консоли Hyper-V жмём «Быстро создать».

Выбираем Ubuntu 18.04.1 LTS. Можем заглянуть в дополнительные параметры.

Здесь по умолчанию заданы имя виртуальной машины и коммутатор (сетевой адаптер). И только их можно изменить. Путь размещения файлов машины на диске в упрощённом формате выбрать нельзя, будет тот, что указан в общих настройках Hyper-V. Но после создания машины при необходимости её можно будет перенести в указанное место. В итоге жмём «Создать виртуальную машину».

Ожидаем, пока скачается дистрибутив Ubuntu.

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

Убирать галочку с безопасной загрузки, кстати, не нужно. Она должна быть убрана по умолчанию, Microsoft этот момент учла. При желании можем переместить файлы машины куда нужно на диске.

И, собственно, можем включать.

Установка Ubuntu

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

Далее - раскладку клавиатуры.

Локацию.

Создаём профиль. В графу «Your Name» вводим своё имя. Имя компьютера и имя пользователя в графе «Pic a username» подтянутся автоматически, но последнее можно подкорректировать и установить минимальное значение. Поскольку его вместе с паролем придётся постоянно вводить вручную при подключении по RDP. В расчёте на работу с RDP нельзя выбирать автоматический вход в систему – «Log in automatically». Необходимо оставить значение по умолчанию и каждый раз авторизоваться.

Далее пару минут система будет настраиваться.

И как только всё будет готово, окно расширенного подключения по RDP само появится.

Подключение по RDP

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

Вводим имя пользователя и пароль в форму авторизации XRDP.

Важно: окно авторизации XRDP не предусматривает возможность смены раскладки клавиатуры. Англоязычная раскладка, которая нужна для ввода данных авторизации латиницей, должна быть установлена (!) в хост-системе.

И переключиться на английскую раскладку необходимо до запуска окна XRDP. Если в хост-системе установлена русская раскладка, в форме авторизации XRDP жмём «Cancel». Меняем раскладку на английскую. Повторно подключаемся.

Ну и сможем уже работать с Ubuntu.

Русификация Ubuntu

Дистрибутив Ubuntu со встроенным XRDP Microsoft поставляет только с англоязычной локализацией. Потому в настройках системы необходимо внедрить русскоязычный пакет локализации. Как это делается, подробно описано на официальном сайте системы, это сразу же первая позиция выдачи в поисковиках по запросу «Ubuntu русификация».

Проблемы

Реализация поставки компанией Microsoft дистрибутива Ubuntu со встроенным XRDP для Hyper-V – молодой проект, соответственно, сырой. Гостевая Ubuntu на данный момент не поддерживает звук, возможны проблемы с подключением сети и доступом по RDP. С жалобами пользователей и реакцией на них сотрудников Microsoft можно ознакомиться на официальном блоге компании:

https://blogs.windows.com/buildingapps/2018/09/17/run-ubuntu-virtual-machines-made-even-easier-with-hyper-v-quick-create/

...