34

Есть ли способ получить доступ к съемным носителям (например, флэш-накопителям или SD-картам) из Bash в Windows?

Bash в Windows использует DriveF для монтирования фиксированных дисков в папке /mnt , но не монтирует съемные носители автоматически. И не похоже, что они помещаются в /dev :

Aaron@MYPC:/$ ls /dev
block  fd  kmsg  lxss  null  ptmx  pts  random  shm  stderr  stdin  stdout  tty  tty0  tty1  urandom  zero

Есть ли способ монтировать съемные диски? Есть ли способ получить доступ к базовому блочному устройству?

3 ответа3

42

Хорошая новость: теперь возможно подключить 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/

11

Есть ли способ получить доступ к съемным носителям из Bash в Windows?

Обновить:

По-видимому, теперь это возможно, начиная с Windows 10 Build 16176.

См. Https://superuser.com/a/1209701/337631.


Нет.

На данный момент существуют ограничения на то, какие диски монтируются:

Чтобы диск отображался в /mnt /, он должен соответствовать следующим критериям:

  1. Диск должен быть фиксированным
  2. Диск должен быть отформатирован в NTFS.

Это было поднято как проблема: Диски кроме C: не смонтированы в /mnt # 1079. Он по-прежнему помечен как "Открытый".

Чтобы облегчить взаимодействие с Windows, WSL использует файловую систему DrvFs. WSL автоматически монтирует все жесткие диски с поддерживаемыми файловыми системами в каталоге /mnt, например /mnt /c, /mnt /d и т.д. В настоящее время поддерживаются только тома NTFS и ReFS.

Поддержка исходной файловой системы WSL


Дальнейшее чтение

0

Если устройство не находится в /dev , вероятно, ваша установка даже не обнаруживает диск.

Команда lsblk должна перечислить все подключенные блочные устройства (диски). Если его нет в этом списке, лучше всего попробовать подключить устройство перед запуском bash.

Я не вижу в вашем вопросе упоминания о том, какой метод использования bash для окон вы нашли, но для большинства не должно быть слишком сложно перезапустить bash.

Если lsblk действительно показывает ваш диск, найдите путь, который он перечисляет, и введите mount <path shown by lsblk> <path you want the drive to be mounted to>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .