Запуск Ubuntu Pro на Windows: все, що потрібно знати

Чому варто запускати Ubuntu на Windows? Це дозволяє отримати найкраще з обох світів. Багато організацій спираються на Windows-додатки, корпоративне програмне забезпечення та налаштування політики. Але для розробників і системних адміністраторів інструменти командного рядка, менеджери пакетів і серверні середовища Ubuntu є безцінними. Також, з його широкою екосистемою інструментів і бібліотек машинного навчання, а також оптимізаціями для процесорів, Ubuntu ідеально підходить для AI-робочих навантажень.

Щоб розглянути більш конкретний приклад: для розробників в регульованих галузях, де існують суворі привілеї, створення застосунків за допомогою Node.js, Python та інших інструментів може привести до труднощів у розробці на Windows. Навігація у відмінностях привілеїв та контролю доступу вимагає спеціальних навичок і може змінити терміни розробки. Встановивши Ubuntu на Windows, організації можуть уникнути цієї складності. Інструменти управління Microsoft і Canonical доповнюють одне одного, надаючи комплексний набір можливостей для дотримання стандартів, аудиту, зміцнення та безпеки.

Ця екосистема прекрасна тим, що немає одного “правильного” способу зробити це, оскільки різні користувачі мають різні потреби. Від простого виконання сценаріїв до локальної симуляції виробничих середовищ, існує кілька способів з’єднати Windows і Ubuntu. Кожне рішення віртуалізації Ubuntu у Windows має різні рівні централізованого управління та можливостей зниження ризиків. У цій статті я досліджу найкращі способи запуску Ubuntu на Windows, розглянувши, як працює кожен метод, щоб ви могли вибрати саме те налаштування для свого робочого процесу.

Створення відтворюваних середовищ

Ручна переналаштування нової віртуальної машини забирає багато часу: потрібно запускати команди для встановлення пакетів, чекати закінчення встановлення, а потім налаштовувати їх. Віртуальні машини, що використовуються для розробки, потребують додаткових налаштувань, таких як SSH-ключі для взаємодії з репозиторіями git, налаштування AI-асистентів та створення робочих простірів, де відбувається кодування та прототипування. Усі ці трудомісткі процеси можна автоматизувати за допомогою cloud-init, що підтримується всіма згаданими рішеннями віртуалізації у цій статті. Створення відтворюваних середовищ за допомогою cloud-init є стандартною практикою в індустрії для налаштування віртуальних машин. Multipass і Ubuntu на WSL підтримують cloud-init нативно, а Hyper-V і VirtualBox підтримують cloud-init через NoCloud.

Метод NoCloud полягає у створенні ISO, що містить файли конфігурацій cloud-init. Щоб згенерувати образ ISO NoCloud на Ubuntu, дотримуйтесь цих кроків:

  1. Створіть два файли конфігурації виконання: user-data та meta-data. Вміст файлу user-data має бути дійсним YAML для cloud-init. Файл meta-data може бути порожнім.
  2. Встановіть пакет genoisoimage на Ubuntu на WSL:
    apt install genoisoimage
  3. Створіть невеликий ISO файл (позначений cidata), що містить файли конфігурації user-data та meta-data:
    mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data

Ubuntu на Hyper-V

Hyper-V є рідною технологією гіпервізора Microsoft, що дозволяє апаратну віртуалізацію, дозволяючи створювати та управляти кількома віртуальними машинами (VM) на одному фізичному хостингу Windows. Це гіпервізор типу 1 – тобто він працює безпосередньо на фізичному обладнанні – зазвичай використовується для віртуалізації серверів у дата-центрах та запуску ізольованих віртуальних середовищ на Windows 10 або 11. Hyper-V є частиною версій Windows Pro та Enterprise.

Якщо вам потрібна глибока ізоляція між середовищем Linux та файловою системою Windows і ви хочете запускати ядра Ubuntu від Canonical у ваших віртуальних машинах, Hyper-V є нативним рішенням Windows. Віртуальні машини можна встановити на Hyper-V з ISO Ubuntu. Альтернативно, можна використовувати образ диска vhdx, а Ubuntu можна налаштувати з cloud-init:

  1. Перейдіть до офіційного репозиторію Canonical: cloud-images.ubuntu.com і завантажте файл, що закінчується на .img для вашої архітектури.
  2. Встановіть пакет qemu-utils на Ubuntu:
    apt install qemu-utils
  3. Використовуйте qemu-utils для конвертації зображення vmdk у формат vhdx для Hyper-V:
    qemu-img convert -f vmdk -O vhdx ubuntu-26.04-server-cloudimg-amd64.vmdk ubuntu-26.04-server-cloudimg-amd64.vhdx
  4. Створіть нову віртуальну машину в Hyper-V і виберіть результатний файл vhdx під “Підключити віртуальний диск”.
  5. Перед першим завантаженням підключіть цей ISO до віртуального DVD-приводу ВМ.
  6. Віртуальна машина Ubuntu у Hyper-V виявить файл ISO у віртуальному DVD-приводі, коли вона запуститься, і виконає ваше налаштування.

Ubuntu на VirtualBox

Oracle VirtualBox є універсальним програмним забезпеченням для повної віртуалізації, яке працює на комп’ютерах з процесорами x86_64 та arm. Воно зазвичай використовується на ноутбуках, настільних комп’ютерах і серверах. VirtualBox є додатком, що працює поверх Windows, що робить його гіпервізором типу 2. Він покладається на Windows для управління апаратними ресурсами, такими як ЦП, ОПП та мережа. VirtualBox забезпечує підтримку USB через паралельне з’єднання, але може мати обмежену продуктивність для вводу-виводу диска або завдань, що вимагають потужності ЦП, а також не має можливостей високої продуктивності для GPU. Це означає, що VirtualBox не оптимізований для AI-робочих навантажень. Існує функція PCI passthrough, яка дозволяє VirtualBox ВМ повністю контролювати фізичний GPU, але доступ до GPU буде обмежено лише однією віртуальною машиною.

Віртуальні машини можна встановлювати на VirtualBox з ISO Ubuntu. Альтернативно, можна використовувати образ диска vmdk, а Ubuntu можна налаштувати з cloud-init за допомогою методу NoCloud, і seed.iso, як описано вище.

Хоча можна використовувати як Hyper-V, так і VirtualBox як самостійні рішення для запуску Ubuntu на Windows, ви також можете використовувати WSL або Multipass від Canonical, щоб зробити віртуалізовані екземпляри більш доступними та керованими.

Multipass

Multipass є міні-хмарою для вашого робочого місця на Windows, macOS або Linux. На Windows він може використовувати або VirtualBox, або Hyper-V в фоновому режимі. Ви можете керувати всім через простий CLI та UI Multipass, що робить його найшвидшим способом створювання епхемірних або тривалих екземплярів Ubuntu, які можуть працювати як фонові служби. Daemon Multipass (multipassd) настроєний на автоматичний запуск при завантаженні системи і відновить постійні екземпляри Ubuntu після перезавантаження. Це відбувається на рівні служби/демона, без вимоги входу користувача.

При запуску Multipass VM можна передати user-data, додавши параметр --cloud-init з відповідним YAML-файлом, що містить user-data. Multipass підтримує cloud-init нативно й не вимагає методу NoCloud.

Ubuntu на WSL

Усі версії Windows (крім Windows 10 і 11 S режиму або певних застарілих IoT-версій) включають WSL, який використовує спеціалізований підмнож Hyper-V для господарювання високопродуктивної Linux VM.

WSL є функцією операційної системи Windows, яка дозволяє запускати файлову систему Linux разом з інструментами командного рядка Linux та GUI-додатками безпосередньо на Windows, поряд з класичним робочим столом і додатками Windows. WSL використовує компонент Virtual Machine Platform у Hyper-V для запуску ядра Linux. Він забезпечує повну сумісність із викликами системи Linux з високою продуктивністю. Виклик системи (syscall) – це спосіб, у який програма запитує ядро операційної системи виконати щось, наприклад, відкрити файл або почати мережеве з’єднання. Це означає, що ваші бінарні файли Linux більше не покладаються на трансляційний шар для спілкування з Windows; це різниця між використанням перекладача і розмовою на рідній мові. Із доступним ядром Linux всередині легковагової утиліти VM, коли додаток виконує syscall, воно спілкується з реальним Linux-двигуном, що забезпечує практично 100% сумісність із програмним забезпеченням Linux. Оскільки ядро Linux управляє своїм власним віртуальним жорстким диском (ext4), такі операції, як git clone, npm install або компіляція великих кодових баз, відбуваються на швидкостях, порівнянних з нативним Linux.

WSL використовує технологію, звану GPU Paravirtualization (vGPU). Замість того, щоб ядро Linux змагалося з Windows за контроль над графічною картою, Windows ділить GPU. Драйвер dxgkrnl проектує віртуальну абстракцію GPU в екземпляр WSL. Для завдань, що використовують NVIDIA CUDA, продуктивність на WSL2 може бути порівнянною з нативним Linux (в межах 1%) для великих, тривалих навантажень. Ця сумісність дозволяє запускати GUI-додатки Linux через Windows Subsystem for Linux GUI (WSLg) з апаратним прискоренням, що робить їх плавними, а не затримками. Хоча доступ до GPU чудовий, прямий доступ до таких речей, як власницькі USB-пристрої або спеціалізовані послідовні порти, може вимагати налагодження в порівнянні з нативним Linux.

Ubuntu на WSL підтримує cloud-init нативно:

  1. Створіть директорію на %USERPROFILE%\.cloud-init\
  2. Створіть файл з назвою <DistroName>.user-data (наприклад, Ubuntu-26.04.user-data).

Коли ви вперше запустите wsl --install Ubuntu-26.04, WSL візьме цей файл і автоматизує ваше налаштування.

Увімкнення Ubuntu Pro для WSL з Microsoft Intune

Microsoft Intune є хмарним рішенням для управління кінцевими точками, яке може управляти конфігураціями комп’ютерів Windows. Microsoft Intune може виконувати команди в екземплярі WSL, використовуючи скрипти PowerShell, які взаємодіють з виконуваним файлом wsl.exe. Ви можете увімкнути та керувати WSL за допомогою Microsoft Intune, використовуючи “Каталог налаштувань”, щоб налаштувати параметри або шляхом розгортання MSI-додатка WSL.

Canonical Landscape виходить за межі простого виконання команд у екземплярах WSL і надає функції для конфігурації, дотримання стандартів, зміцнення, аудиту, патчування, звітності та інвентаризації користувачів і програм. Поєднуючи Microsoft Intune з Ubuntu та використовуючи Landscape для управління WSL у великому масштабі, розробники можуть прискорити свої робочі процеси навіть у найбільш регульованих середовищах.

Ubuntu Pro для WSL – це програмне забезпечення Windows, яке забезпечує готовий до використання захист безпеки та корпоративну підтримку для Ubuntu 24.04 LTS та Ubuntu 26.04 LTS WSL екземплярів в Windows. Програмне забезпечення Ubuntu Pro для WSL працює з безкоштовними та платними підписками Ubuntu Pro. Встановлення Ubuntu Pro для WSL забезпечує, що кожен, хто використовує Ubuntu на WSL, завжди захищений, а також дозволяє отримувати комплексне управління та аналітику через Landscape, рішення Canonical для управління системами Ubuntu.

Програмне забезпечення Ubuntu Pro для WSL упаковане як додаток MSI. Встановлення та налаштування MSI-пакетів підтримується нативно Microsoft Intune та Active Directory. Най простіший спосіб встановлення Ubuntu Pro для WSL за допомогою Microsoft Intune – це розгорнути його як додаток бізнес-процесів (LOB). У регульованому середовищі, де WSL увімкнений, файл Ubuntu Pro для WSL .msi слід вибрати як обов’язковий (автоматично встановлений) пакет у Microsoft Intune. Найбезпечніше місце для зберігання конфігурацій агента Ubuntu Pro для WSL – це реєстр Windows. Скрипти виправлення можуть використовуватися у Microsoft Intune, де скрипт виявлення перевіряє необхідні ключі та значення, а скрипт виправлення може встановити відсутні або відхилені значення, забеспечуючи безперервну відповідність стандартам.

Це відео демонструє, як можна встановити програмне забезпечення Ubuntu Pro для WSL на комп’ютер з Windows

Перейдіть до порталу адміністратора Microsoft Intune, а потім виберіть: Пристрої > Профілі налаштувань > Створити > Нова політика > Windows 10 та пізніші версії > Каталог налаштувань. Введіть назву для нової політики і знайдіть “Windows Subsystem for Linux”, щоб переглянути та додати весь доступний список параметрів. Важливі налаштування для WSL включають:

  • Дозволити вбудовану версію Windows Subsystem for Linux: Увімкнено, якщо ви хочете самостійно розміщувати зображення WSL всередині, а не завантажувати їх з Microsoft Store.
  • Дозволити WSL1: Вимкнено, оскільки можливості підприємницького управління Landscape для WSL доступні лише в WSL2.

Ubuntu Pro для WSL у контрольованих середовищах

Ubuntu Pro для Windows містить конфігурації користувачів, які визначають привілеї root (sudo та su) у cloud-init.yaml. Microsoft нещодавно інтегрувала рідну Entra ID безпосередньо в WSL, щоб захистити запуск екземплярів WSL, і ця інтеграція управлінська через Microsoft Intune. Ця комбінація забезпечує контроль над тим, хто може використовувати Ubuntu на WSL, і якщо привілеї root надаються в Ubuntu на WSL. При використанні входу Entra ID для розширення Linux VM в Azure, Entra ID контролює, хто може запускати Ubuntu на WSL. Це відбувається через контроль доступу на основі ролей Azure (RBAC). Журнали входу Entra ID покажуть вам, коли користувач аутентифікувався до Linux-машини, але на цьому зупиниться. Вони не реєструватимуть команди, які набирають після успішної сесії.

Фактичний моніторинг sudo та su виконується самою операційною системою Linux. Щоразу, коли користувач підвищує привілеї, Ubuntu реєструє цю діяльність у своїх локальних системних журналах за адресою /var/log/auth.log. Щоб відстежувати цю діяльність централізовано, потрібно з’єднати локальні журнали Linux з вашою хмарною середовищем. Встановіть агент моніторингу Azure (AMA), налаштуйте правило збору даних (DCR) в Azure, щоб вказати AMA збирати лог файли authpriv (які містять події sudo та su) та надсилайте ці журнали в Azure Log Analytics Workspace. Підключіть вашу робоче простір а лог-аналітики до Microsoft Sentinel (SIEM Microsoft). Тепер ви можете писати запити KQL (Kusto Query Language), щоб сповіщати вашу команду безпеки щоразу, коли хтось успішно або невдало виконує sudo або su.

Між контролями, доступними в Microsoft Intune та Landscape, можна централізовано надати екземпляри WSL для користувачів. Користувачі можуть самостійно створювати нові, відповідні екземпляри, а адміністратори можуть опитувати Windows-інфраструктуру щодо дотримання стандартів усередині екземплярів WSL. Ubuntu Pro для WSL забезпечує Розширене обслуговування з безпеки (ESM), що забезпечує патчі безпеки CVE, які можуть бути застосовані згідно з адміністративною політикою. Canonical пропонує до 15 років патчів безпеки CVE для програмного забезпечення, упакованого та опублікованого через репозиторії Ubuntu. Підписки Ubuntu Pro також охоплюють обслуговування безпеки для популярних інструментальних ланцюгів на WSL, таких як Python, Go, Rust та інших. Це готове рішення забезпечує швидке та надійне виправлення вразливостей безпеки, що робить WSL життєздатним вибором для підприємств.

Це відео демонструє, як ви можете використовувати Landscape для надання та управління екземплярами WSL на робочих станціях Windows

Наступні кроки

  1. Перегляньте вебінар: Ubuntu на WSL в підприємстві
  2. Завантажте Ubuntu Pro для WSL
  3. Прочитайте документацію Ubuntu Pro для WSL

Зв’яжіться з нами сьогодні

Цікавитеся запуском Ubuntu у вашій організації?