Поддерживается ли usb в Bash в Ubuntu в Windows 10?
- У меня нет файлов или путей про USB на dev/
- Когда я подключаю флэш-диск, ничего не появляется на dev/ или mnt/ или media/ об этом.
sudo lsusb
возвращает:unable to initialize libusb: -99
Что я должен сделать, чтобы включить доступ USB на Bash?
3 ответа
Хорошая новость: теперь возможно подключить USB-носители (включая FAT-форматированные) и сетевые папки с помощью drvfs в Windows 10:
Смонтируйте съемный носитель: (например, D:)
$ sudo mkdir /mnt/d
$ sudo mount -t drvfs D: /mnt/d
Для безопасного демонтажа
$ sudo umount /mnt/d
Вы также можете подключить сетевые ресурсы без smbfs:
$ sudo mount -t drvfs '\\server\share' /mnt/share
Вам нужно как минимум Build 16176, поэтому вам, возможно, придется подключиться к программе Windows Insider, а затем обновить Windows. Источник: https://blogs.msdn.microsoft.com/wsl/2017/04/18/file-system-improvements-to-the-windows-subsystem-for-linux/
Редактировать:
Согласно сообщению в блоге от Microsoft, эта функция теперь исправлена в сборке 16176 и выше.
На данный момент нет поддержки USB. Только фиксированные диски будут монтироваться (автоматически) в / mnt.
Также не поддерживаются другие хранилища (кроме автоматически монтируемых фиксированных дисков), в том числе приводы CD-ROM, устройства обратной связи и общие сетевые ресурсы.
Вот ссылка на страницу обратной связи с разработчиком: Невозможно получить доступ к USB-устройствам из bash.
Хотя с помощью WSL 2 можно подключить диск, поддержка подключения USB-устройств к WSL, таких как флэш-накопитель или устройство чтения SD-карт, изначально не поддерживается в WSL.
Однако подключение USB-устройств к WSL IS теперь поддерживается с помощью проекта с открытым исходным кодом USBIPD-WIN . Чтобы подключить USB-устройство к дистрибутиву Linux, работающему через WSL 2:
- Установите проект USBIPD-WIN (скачайте и запустите установочный файл usbipd-win_x.msi).
- Установите инструменты USBIP и базу данных оборудования, открыв свой дистрибутив (например, Ubuntu) и запустив
sudo apt install linux-tools-5.4.0-77-generic hwdata
. - Отредактируйте файл /etc/sudoers, связанный с вашим дистрибутивом Linux, чтобы разрешить разрешение:
sudo visudo
а затем найтиsecure_path
раздел, в начале раздела пути добавьте расположение инструментов:/usr/lib/linux-tools/5.4.0-77-generic
. - Убедитесь, что командная строка WSL открыта (поэтому виртуальная машина активна) и подключите USB-устройство.
- Откройте PowerShell и выведите список USB-устройств, подключенных к вашему компьютеру с Windows, с помощью команды:
usbipd wsl list
. - Выберите идентификатор шины устройства, которое вы хотите подключить к WSL, и выполните следующую команду:
usbipd wsl attach --busid <busid>
. - Откройте Ubuntu (или предпочтительную командную строку WSL) и перечислите подключенные USB-устройства:
lsusb
.
Вы должны увидеть только что подключенное устройство и иметь возможность взаимодействовать с ним с помощью обычных инструментов Linux. В зависимости от вашего приложения вам может потребоваться настроить правила udev, чтобы разрешить пользователям без полномочий root доступ к устройству.