web-dev-qa-db-fra.com

Comment accéder au lecteur monté sur le réseau sur le sous-système Windows Linux?

J'ai un lecteur de samba qui est monté sur mon ordinateur Windows local.

J'ai un lecteur "/ mnt/c" dans WLS ("Windows 10 bash"), mais pas "/ mnt/z".

Y a-t-il un moyen d'y accéder d'une manière ou d'une autre? Puis-je remonter dans WLS?

44
Charles Shiller

[Mise à jour - apparemment cette fonctionnalité est disponible dans build 16176 . Je n'ai pas encore essayé.]

Non, bien qu'il y ait peut-être un truc que je n'ai pas découvert. Le sous-système Windows pour Linux ne monte pas les lecteurs réseau. Un employé de Microsoft dit ici (dans un commentaire):

Nous ne «montons» que des lecteurs fixes pour le moment. Les lecteurs USB/amovibles/réseau ne sont pas gérés pour le moment. Cette capacité figure dans notre carnet de commandes, mais elle ne l’est pas bientôt.

Alors ne retiens pas ton souffle.

J'ai essayé de le contourner en utilisant un lien symbolique, comme ceci:

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

Le lien fonctionne parfaitement dans Windows "normal" (cmd.exe, PowerShell, Explorateur de fichiers, etc.), mais est invisible pour WSL:

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

Pour ma propre utilisation, cette limitation est un obstacle. J'ai des choses sur les lecteurs réseau que je ne suis pas disposé à déplacer. Il y a des alternatives. J'utilise Cygwin.

22
Joseph Thvedt

de le lien bleater posté

Montage de DrvF

Pour monter un lecteur Windows à l'aide de DrvF, vous pouvez utiliser la commande de montage Linux classique. Par exemple, pour monter un lecteur amovible D: en tant que répertoire/mnt/d, exécutez les commandes suivantes:

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

Vous pourrez maintenant accéder aux fichiers de votre lecteur D: sous/mnt/d. Lorsque vous souhaitez démonter le lecteur, par exemple pour pouvoir le retirer en toute sécurité, exécutez la commande suivante:

$ Sudo umount /mnt/d

Monter des emplacements de réseau

Lorsque vous souhaitez monter un emplacement réseau, vous pouvez bien sûr créer un lecteur réseau mappé sous Windows et le monter comme indiqué ci-dessus. Cependant, il est également possible de les monter directement en utilisant un chemin UNC:

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

Notez les guillemets simples autour du chemin UNC; ceux-ci sont nécessaires pour éviter le besoin d'échapper aux barres obliques inverses. Si vous n'entourez pas le chemin UNC de guillemets simples, vous devez éviter les barres obliques inverses en les doublant (par exemple, \\\\server\\share).

WSL ne dispose d'aucun moyen pour spécifier les informations d'identification à utiliser pour se connecter à un partage réseau. Si vous devez utiliser différentes informations d'identification pour vous connecter au serveur, spécifiez-les dans Windows en accédant au partage dans l'Explorateur de fichiers, à l'aide du Gestionnaire des informations d'identification Windows ou de la commande Net Use. La commande Net Use peut être appelée depuis WSL (à l’aide de net.exe) via interop. Tapez net.exe help use pour plus d'informations sur l'utilisation de cette commande.

74
gman

voir https://github.com/Microsoft/WSL/issues/2999#issuecomment-455835951

Voici un moyen de monter GFS dans WSL basé sur Obtenir `sshfs` de travailler sur WSL ou trouver une alternative L'astuce consiste à utiliser https://www.nsoftware.com/sftp/netdrive/ to SSH en GFS à partir de Windows et le convertir en un système de fichiers qui peut être monté sous WSL.

  1. Installer OpenSSH Server sous Win10 Win10 Paramètres -> Applications -> Gérer les fonctionnalités facultatives -> Ajouter une fonctionnalité -> Redémarrage du serveur OpenSSH si nécessaire, ouvrez Services -> OpenSSH -> Propriétés -> Type de démarrage -> Automatique (différé)

  2. Installez et exécutez SFTPNetDrive, faites un clic droit sur l'icône dans les icônes masquées -> Fenêtre principale (ou peut-être déjà ouverte) -> Profil -> nouveau profil (serveur: localhost, utilisateur: * pwd: * Lettre du lecteur: F (ou autre) Avancé -> (Protocole -> décocher la compression; dossier spécifié: G: \))

  3. dans Bash (WSL): Sudo mkdir/mnt/f; Sudo mount -t drvfs F:/mnt/f

Je ne suis pas sûr de sa stabilité, mais j'ai pu ouvrir des fichiers au format WSL.

2

Il y a (au moins) deux façons d'utiliser Bash dans Windows:

  1. Le Bash fourni avec WLS (lors de l'installation de Linux sur Windows 10 à partir du Windows Store ou d'autres sources)
  2. Git-Bash sous Windows

Git-Bash a accès aux dossiers réseau (installez git-bash> allez dans le dossier réseau> cliquez avec le bouton droit de la souris sur "Git Bash Ici"> exécutez pwd pour voir le chemin).

Si vous devez utiliser la version WLS de bash, vous pouvez appeler Git-Bash à partir de WLS bash comme suit:

WLS_Bash_Shell:$ /mnt/c/Program\ Files/Git/bin/bash.exe ScriptThatUsesNetworkFolders.sh
0
LoMaPh