Ho un disco samba che è montato sul mio computer Windows locale.
Ho un disco "/ mnt / c" in WLS ("Windows 10 bash"), ma non "/ mnt / z".
C'è un modo per accedervi in qualche modo? Posso rimontarlo in WLS?
Ho un disco samba che è montato sul mio computer Windows locale.
Ho un disco "/ mnt / c" in WLS ("Windows 10 bash"), ma non "/ mnt / z".
C'è un modo per accedervi in qualche modo? Posso rimontarlo in WLS?
Risposte:
[Aggiornamento: apparentemente questa funzione è disponibile nella build 16176 . Non l'ho ancora provato.]
No, anche se potrebbe esserci qualche trucco che non ho scoperto. Il sottosistema Windows per Linux non monta unità di rete. Un dipendente Microsoft dice qui (in un commento):
Al momento "montiamo" solo unità fisse. Le unità USB / rimovibili / di rete non sono attualmente gestite. Questa funzionalità è presente nel nostro backlog, ma non sarà presto disponibile sulle schede.
Quindi non trattenere il respiro.
Ho tentato di aggirare il problema utilizzando un collegamento simbolico, in questo modo:
c:> mklink /d c:\some\directory \\some_server\some_share
Il collegamento funziona perfettamente in Windows "normali" (cmd.exe, PowerShell, esploratore di file, ecc.), Ma è invisibile a WSL:
$ ls -ld /mnt/c/some/directory
/mnt/c/some/directory not found
Per mio uso, questa limitazione è uno spettacolo. Ho delle cose su unità di rete che non sono disposto a spostare. Ci sono alternative; Sto usando Cygwin.
linkname target
, nontarget linkname
Montaggio di DrvF
Per montare un'unità Windows usando DrvFs, puoi usare il normale comando mount di Linux. Ad esempio, per montare un'unità rimovibile D: come directory / mnt / d, eseguire i comandi seguenti:
$ sudo mkdir /mnt/d $ sudo mount -t drvfs D: /mnt/d
Ora, sarai in grado di accedere ai file del tuo disco D: sotto / mnt / d. Quando si desidera smontare l'unità, ad esempio per poterlo rimuovere in sicurezza, eseguire il comando seguente:
$ sudo umount /mnt/d
Montaggio dei percorsi di rete
Quando si desidera montare un percorso di rete, è possibile ovviamente creare un'unità di rete mappata in Windows e montarla come indicato sopra. Tuttavia, è anche possibile montarli direttamente utilizzando un percorso UNC:
$ sudo mkdir /mnt/share $ sudo mount -t drvfs '\\server\share' /mnt/share
Nota le virgolette singole attorno al percorso UNC; questi sono necessari per evitare la necessità di sfuggire alle barre rovesciate. Se non circondi il percorso UNC con virgolette singole, devi evitare le barre rovesciate raddoppiandole (ad es
\\\\server\\share
.).WSL non ha alcun modo per specificare quali credenziali utilizzare per connettersi a una condivisione di rete. Se è necessario utilizzare credenziali diverse per connettersi al server, specificarle in Windows accedendo alla condivisione in Esplora file, utilizzando Gestione credenziali di Windows o il comando net use. Il comando net use può essere richiamato dall'interno di WSL (usando net.exe use) tramite interop. Digitare net.exe help use per ulteriori informazioni su come utilizzare questo comando.
-o
) mi dà l'errore "tipo fs errato, opzione errata, superblocco errato".
vedi https://github.com/Microsoft/WSL/issues/2999#issuecomment-455835951
Ecco un modo per montare GFS in WSL basato su Far funzionare `sshfs` su WSL o trovare un'alternativa Il trucco è usare https://www.nsoftware.com/sftp/netdrive/ per ssh in GFS da Windows e convertirlo su un filesystem che può essere montato sotto WSL.
Installa OpenSSH Server in Win10 Impostazioni Win10 -> App -> Gestisci funzionalità opzionali -> Aggiungi funzionalità -> Riavvia il server OpenSSH se necessario apri Servizi -> OpenSSH -> Proprietà -> Tipo di avvio -> Automatico (ritardato)
Installa ed esegui SFTPNetDrive, fai clic con il tasto destro sull'icona nelle icone nascoste -> Finestra principale (o forse già aperta) -> Profilo -> nuovo profilo (server: localhost, utente: * pwd: * Drive Letter: F (o altro) Avanzate - > (Protocollo -> deseleziona la compressione; Cartella specificata: G: \))
in Bash (wsl): sudo mkdir / mnt / f; sudo mount -t drvfs F: / mnt / f
Non sono sicuro di quanto sia stabile, ma sono stato in grado di aprire i file in WSL.
Esistono (almeno) due modi per utilizzare Bash in Windows:
Git-Bash ha accesso alle cartelle di rete (installa git-bash> vai alla cartella di rete> fai clic con il pulsante destro del mouse> "Git Bash qui"> corri pwd
per vedere il percorso).
Se si deve utilizzare la versione WLS di bash, quindi è possibile chiamare Git-Bash da WLS bash come segue:
WLS_Bash_Shell:$ /mnt/c/Program\ Files/Git/bin/bash.exe ScriptThatUsesNetworkFolders.sh