Різниця по суті полягає в тому, що між віртуалізацією на рівні операційної системи та віртуалізацією на основі гіпервізора.
Після запуску bash
з меню «Пуск Windows» ви отримуєте текстове вікно з доступом до повного середовища командного рядка Ubuntu, звідки ви можете встановити будь-який пакет Ubuntu користувача.
На відміну від того, що ви отримаєте з традиційною VM, немає ядра Linux для завантаження або запуску, тому запустити набагато швидше і легше запустити. Народні бінарні файли Ubuntu просто виконуються ядром Windows (саме новою його підсистемою). Ще одна відмінність полягає в тому, що немає графічної інтеграції поза коробкою. За допомогою VM ви маєте доступ до віконного (або повного екрану) зображення текстової та графічної консолі віртуальної апаратури, але з Windows bash, це більше схоже, якщо ви віддалено підключитесь до сервера з емулятора терміналу Windows. Ви все-таки можете запустити графічні програми Linux, якщо запуститиX11
сервер під Windows. Оскільки ядро Linux не задіяне, ви не можете використовувати модулі / драйвери Linux для доступу до обладнання, до нього зможуть скористатися рідні Windows. Це має багато наслідків, наприклад, зараз немає підтримки для посилань та проблем із довгими іменами файлів та регістром імен файлів, не застосовується. Немає послідовності завантаження, як у справжньої машини або традиційного VM, це означає, що при запуску послуги не запускаються автоматично bash
. Він трохи схожий на запуск Docker bash
.
Нарешті, це незавершена робота, тому є багато можливостей для вдосконалення. Ви можете мати уявлення про те, про що найбільше повідомляють користувачі на цьому веб- сайті https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windows
Перегляньте також поширені запитання: https://msdn.microsoft.com/en-us/commandline/wsl/faq
Зверніть увагу, що перший запит користувача "Давайте запустимо процеси Windows з Bash" - це те, чого ви не можете зробити ні з VM Linux, що працює в Windows.