Подсистема Windows для Linux представляет собой сложный слой совместимости и у подсистемы есть некоторые ограничения. Первоначальная реализация даже не использовала полноценное ядро Linux, поэтому некоторые приложения столкнулись с проблемами совместимости. Версия WSL 2 внесла множество улучшений, но кое-чего по-прежнему не хватало: поддержки подключения физических USB-устройств.
Если вы являетесь активным пользователем подсистемы Windows для Linux и хотите получить доступ к USB-устройствам прямо из операционной системы Linux, работающей под WSL, то вам будет приятно узнать, что в этом направлении достигнут значительный прогресс. Благодаря вкладу Microsoft в открытый исходный код проекта usbipd-win, был разработан сквозной доступ к USB-устройствам в WSL.
Пример использования USB-устройств в подсистеме WSL 2 в Windows 11
Теперь пользователи могут выполнять такие задачи, как перепрошивка Android-устройств в подсистеме Windows для Linux.
Пример использования инструмента ADB / Fastboot
Что такое usbipd-win?
Проект usbipd-win направлен на создание решения для совместного использования подключенных локально USB-устройств к другим машинам, включая гостевые системы Hyper-V и WSL2. Однако официальное ядро WSL 2 Linux раньше не поддерживало протокол USB/IP, что требовало от пользователей самостоятельной сборки ядра.
Начиная с версии ядра Linux 5.10.60.1, необходимые параметры настраиваются «из коробки», поэтому ручная перекомпиляция не требуется. Microsoft также внесла в проект интерфейс командной строки, чтобы обеспечить совместное использование USB-устройств в Windows и легко подключить его из WSL.
Установка WSL 2 в Windows 11
Установим подсистему Windows для Linux в Windows 11. В качестве операционной системы будем использовать Ubuntu 20.04 LTS, которая предлагается по умолчанию, а также установим графическое приложение - файловый менеджер Nautilus.
Установка WSL 2 в Windows 11:
- Откройте Командную строку от имени Администратора (cmd.exe) или Терминал Windows (Администратор), нажав правой кнопкой мыши по меню Пуск и выбрав соответствующее приложение.
- Выполните команду для установки дистрибутива Ubuntu 20.04 LTS:
wsl --install -d Ubuntu
- Перезагрузите систему.
- После перезагрузки откроется командная строка для продолжения установки и настройки системы. Укажите имя пользователя и пароль. В случае возникновения ошибки закройте командную строку и откройте приложение Ubuntu из меню Пуск.
- Вы можете перейти в командную строку для работы с Ubuntu, открыв приложение Ubuntu из меню Пуск, либо открыв Терминал Windows и введя туда команду.
ubuntu
Установка графических приложений в WSL 2 в Windows 11
Установка графических приложений необязательна, однако краткая инструкция может быть полезна новым пользователям. В качестве примера установим файловый менеджер Nautilus.
- Обновим систему следующими двумя командами:
sudo apt update && sudo apt dist-upgrade -y
- Установим файловый менеджер Nautilus:
sudo apt install nautilus -y
Установленный Nautilus доступен в списке установленных программ меню Пуск Windows 11. Файловый менеджер отображается в виде названия Files.
Подключаем USB-устройства в подсистеме Windows для Linux
Перед тем как мы начнем процедуру подключения USB-устройств в WSL 2 в Windows 11, нужно убедится, что у вас установлены все обновления WSL 2.
Для обновления подсистемы WSL выполните следующие команды:
wsl --shutdown wsl --update
- Перейдите в командную строку Ubuntu. Мне удобнее работать в Терминале Windows, введя команду для перехода к управлению системой Ubuntu).
ubuntu
Версия ядра Linux должна быть не ниже версии 5.10.60.1, в нашем случае подходящая версия – 5.10.60.1. Версию ядра можно узнать при обновлении подсистемы WSL, как показано выше, либо следующей командой из командной строки Ubuntu:
uname -a
- Перейдите в репозиторий проекта usbipd-win на GitHub. Скачайте и установите последнюю версию приложения. Последняя версия usbipd-win поддерживает автоматическую установку драйверов благодаря сертифицированным драйверам Windows Hardware Compatibility Program. Программа также поддерживает сборки инсайдерской программы тестирования Windows 11, канала Dev.
- Помимо страницы релизов программы usbipd-win на GitHub, вы можете установить и обновить приложение с помощью интерфейса командной строки Windows Package Manager (также известного как winget):
winget install --interactive --exact dorssel.usbipd-win
- После установки программы usbipd-win перейдите в командную строку Ubuntu и выполните следующую команду:
sudo apt install linux-tools-5.4.0-77-generic hwdata
- Теперь нам нужно изменить параметры sudo, чтобы пользователь root мог найти команды usbip. Для этого нам нужно отредактировать файл /etc/sudoers. Выполняем следующие команды:
sudo visudo /etc/sudoers
В строке, в которой присутствует secure_path добавляем в начало запись
/usr/lib/linux-tools/5.4.0-77-generic:
Отредактированная строка будет выглядеть следующим образом:
Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:..."
- Комбинацией клавиш CTRL+O сохраните изменения и комбинацией CTRL+X заройте редактор.
- Откройте командную строку от Администратора (cmd.exe) и введите следующую команду, чтобы вывести список всех USB-устройств, подключенных к Windows:
usbipd wsl list
- Запишите значение BUSID USB-устройства, которое вы хотите подключить к WSL. Затем выполните следующую команду, чтобы начать процесс подключения. WSL предложит вам ввести пароль для запуска команды sudo:
usbipd wsl attach --busid <busid>
Например, в данном случае мы подключаем USB-флешку. Её значение BUSID 2-3.
- Теперь откройте новый экземпляр WSL 2 (из меню Пуск или с помощью Терминала Windows) и запустите команду , для отображения подключенных USB-устройств:
lsusb
- Флешка подключена к подсистеме WSL 2.
- Отсоединить USB-устройство можно следующей командой:
usbipd wsl detach --busid <busid>
Где <busid> равно значению BUSID подключенного устройства.
Последние статьи #Windows
• Microsoft PowerToys 0.87.1: исправление проблем стабильности в Windows 10, ошибок .NET 9 и Расширенной вставки
• Microsoft тестирует перевод в режиме реального времени на Copilot+ ПК с процессорами Intel и AMD
• Microsoft рассказала об эксклюзивных функциях Windows 11 для игр. Стоит ли обновляться с Windows 10?
• Microsoft блокирует обновление до Windows 11, версия 24H2 на ПК с включенной функцией Auto HDR из-за проблем с играми
• Microsoft подтвердила проблему с выводом звука в Windows 11, версия 24H2
• GitHub открыл бесплатный доступ к ИИ-инструменту Copilot в VS Code – с поддержкой GPT-4o и Claude 3.5