Монтирование DrvF

Монтирование DrvF

У меня есть диск Samba, который смонтирован на моем локальном компьютере с Windows.

У меня есть /mnt/cдиск в WLS (Windows 10 Bash), но нет /mnt/z.

Есть ли способ как-то получить к нему доступ? Могу ли я перемонтировать его в WSL?

решение1

[Обновлять --видимоэта функция доступна всборка 16176. Я еще не пробовал.]

Нет, хотя может быть есть какой-то трюк, который я не обнаружил. Подсистема Windows для Linux не монтирует сетевые диски. Сотрудник Microsoft говоритздесь(в комментарии):

В настоящее время мы «монтируем» только фиксированные диски. USB/съемные/сетевые диски в настоящее время не обрабатываются. Эта возможность есть в нашем списке дел, но в ближайшее время ее не будет.

Так что не задерживайте дыхание.

Я попытался обойти это с помощью символической ссылки, например такой:

c:> mklink /d c:\some\directory \\some_server\some_share

Ссылка отлично работает в «обычной» Windows (cmd.exe, PowerShell, проводник и т. д.), но невидима для WSL:

$ ls -ld /mnt/c/some/directory
/mnt/c/some/directory not found

Для меня это ограничение — просто ловушка. У меня есть вещи на сетевых дисках, которые я не хочу перемещать. Есть альтернативы; я использую Cygwin.

решение2

отссылка bleater размещена

Монтирование DrvF

Чтобы смонтировать диск Windows с помощью DrvFs, можно использовать обычную команду монтирования Linux. Например, чтобы смонтировать съемный диск D: как каталог /mnt/d, выполните следующие команды:

$ sudo mkdir /mnt/d
$ sudo mount -t drvfs D: /mnt/d

Теперь вы сможете получить доступ к файлам вашего диска D: в /mnt/d. Когда вы захотите размонтировать диск, например, чтобы вы могли безопасно извлечь его, выполните следующую команду:

$ sudo umount /mnt/d

Расположение сетевых локаций

Когда вы хотите смонтировать сетевое расположение, вы, конечно, можете создать сопоставленный сетевой диск в Windows и смонтировать его, как указано выше. Однако их также можно смонтировать напрямую, используя путь UNC:

$ sudo mkdir /mnt/share
$ sudo mount -t drvfs '\\server\share' /mnt/share

Обратите внимание на одинарные кавычки вокруг пути UNC; они необходимы для предотвращения необходимости экранирования обратных косых черт. Если вы не окружаете путь UNC одинарными кавычками, вам нужно экранировать обратные косые черты, удваивая их (например, \\\\server\\share).

WSL не имеет возможности указать, какие учетные данные использовать для подключения к сетевому ресурсу. Если вам нужно использовать другие учетные данные для подключения к серверу, укажите их в Windows, перейдя к ресурсу в проводнике, используя диспетчер учетных данных Windows или команду net use. Команду net use можно вызвать изнутри WSL (используя net.exe use) через interop. Введите net.exe help use для получения дополнительной информации об использовании этой команды.

решение3

WSL2 поддерживаетCIFS (малый и средний бизнес)протокол. Возможно, вам придется указать версию вашего сетевого сервера при монтировании. Например, в Ubuntu:

$ sudo apt install cifs-utils
$ sudo mount -t cifs -o user=joe,pass=shmo,vers=1.0 //server/share /mnt/share

решение4

видетьhttps://github.com/Microsoft/WSL/issues/2999#issuecomment-455835951

Вот способ монтирования GFS в WSL на основеЗаставить `sshfs` работать на WSL или найти альтернативуХитрость заключается в том, чтобы использоватьhttps://www.nsoftware.com/sftp/netdrive/для ssh-подключения к GFS из Windows и преобразования его в файловую систему, которую можно смонтировать под WSL.

  1. Установите OpenSSH Server под Win10 Параметры Win10 -> Приложения -> Управление дополнительными функциями -> Добавить функцию -> Перезапустите OpenSSH Server при необходимости Откройте Службы -> OpenSSH -> Свойства -> Тип запуска -> Автоматически (с задержкой)

  2. Установите и запустите SFTPNetDrive, щелкните правой кнопкой мыши по значку в скрытых значках -> Главное окно (или, возможно, оно уже открыто) -> Профиль -> новый профиль (сервер: localhost, пользователь:* пароль:*Буква диска: F (или другая) Дополнительно -> (Протокол -> снимите отметку со сжатия; Указанная папка: G:\) )

  3. в Bash (wsl): sudo mkdir /mnt/f; sudo mount -t drvfs F: /mnt/f

Я не уверен, насколько он стабилен, но мне удалось открыть файлы в WSL.

Связанный контент