У мене є накопичувач samba, який встановлений на моєму локальному комп'ютері Windows.
У мене в WLS ("Windows 10 bash") диск "/ mnt / c", але немає "/ mnt / z".
Чи є спосіб якось отримати доступ до нього? Чи можу я переустановити його в WLS?
У мене є накопичувач samba, який встановлений на моєму локальному комп'ютері Windows.
У мене в WLS ("Windows 10 bash") диск "/ mnt / c", але немає "/ mnt / z".
Чи є спосіб якось отримати доступ до нього? Чи можу я переустановити його в WLS?
Відповіді:
[Оновлення - очевидно, ця функція доступна у збірці 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.
linkname target
, ніtarget linkname
зі посилання bleater розміщено
Монтаж DrvFs
Для того, щоб змонтувати накопичувач Windows за допомогою DrvFs, ви можете використовувати звичайну команду монтування Linux. Наприклад, щоб встановити знімний диск D: as / 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) через interop. Введіть довідку net.exe для отримання додаткової інформації про використання цієї команди.
-o
) дає мені помилку "неправильний тип fs, поганий варіант, поганий суперблок".
дивіться https://github.com/Microsoft/WSL/isissue/2999#issuecomment-455835951
Ось спосіб встановити GFS у WSL на основі отримання `sshfs` роботи над WSL або пошуку альтернативи . Трюк полягає у використанні https://www.nsoftware.com/sftp/netdrive/ для ssh до GFS з Windows та перетворення його до файлової системи, яку можна встановити під WSL.
Встановіть сервер OpenSSH у налаштуваннях Win10 Win10 -> Програми -> Управління додатковими функціями -> Додати функцію -> Перезапустити сервер OpenSSH, якщо необхідно, відкрийте Послуги -> OpenSSH -> Властивості -> Тип запуску -> Автоматично (затримано)
Встановіть та запустіть SFTPNetDrive, клацніть правою кнопкою миші на піктограму в прихованих значках -> Головне вікно (або можливо вже відкрите) -> Профіль -> новий профіль (сервер: localhost, користувач: * pwd: * Лист накопичувача: F (або інший) Додатково - > (Протокол -> зніміть прапорець стиснення; Вказана папка: G: \))
у Bash (wsl): sudo mkdir / mnt / f; кріплення sudo -t drvfs F: / mnt / f
Я не впевнений, наскільки це стабільно, але мені вдалося відкрити файли в WSL.
Існує (принаймні) два способи використання Bash в Windows:
Git-Bash має доступ до мережевих папок (встановіть git-bash> перейдіть до мережевої папки> клацніть правою кнопкою миші> "Git Bash Here"> запустіть, pwd
щоб побачити шлях).
Якщо вам доведеться використовувати версію WLS bash, тоді ви можете зателефонувати Git-Bash з WLS bash наступним чином:
WLS_Bash_Shell:$ /mnt/c/Program\ Files/Git/bin/bash.exe ScriptThatUsesNetworkFolders.sh