Como acessar a unidade montada na rede no Windows Linux Subsystem?

29

Eu tenho uma unidade samba que é montada no meu computador Windows local.

Eu tenho uma unidade "/ mnt / c" no WLS ("Windows 10 bash"), mas não "/ mnt / z".

Existe uma maneira de acessá-lo de alguma forma? Posso remontar no WLS?

    
por Charles Shiller 27.09.2016 / 06:14

2 respostas

18

[Atualização - aparentemente esse recurso está disponível em build 16176 . Eu não tentei ainda.]

Não, embora possa haver algum truque que eu não tenha descoberto. O Windows Subsystem for Linux não monta unidades de rede. Um funcionário da Microsoft diz aqui (em um comentário ):

We only “mount” fixed drives at this time. USB/removable/network drives are not handled at this time. This capability is on our backlog, but it’s not on the cards anytime soon.

Portanto, não prenda a respiração.

Eu tentei contornar isso usando um link simbólico, como este:

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

O link funciona bem no Windows "normal" (cmd.exe, PowerShell, explorador de arquivos, etc.), mas é invisível para o WSL:

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

Para meu próprio uso, essa limitação é um problema. Eu tenho coisas em unidades de rede que não estou disposta a mover. Existem alternativas; Estou usando o Cygwin.

    
por 18.10.2016 / 23:43
43

de o link bleater postou

Mounting DrvFs

In order to mount a Windows drive using DrvFs, you can use the regular Linux mount command. For example, to mount a removable drive D: as /mnt/d directory, run the following commands:

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

Now, you will be able to access the files of your D: drive under /mnt/d. When you wish to unmount the drive, for example so you can safely remove it, run the following command:

$ sudo umount /mnt/d

Mounting network locations

When you wish to mount a network location, you can of course create a mapped network drive in Windows and mount that as indicated above. However, it's also possible to mount them directly using a UNC path:

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

Note the single quotes around the UNC path; these are necessary to prevent the need to escape the backslashes. If you don't surround the UNC path with single quotes, you need to escape the backslashes by doubling them (e.g. \\server\share).

WSL does not have any way to specify which credentials to use to connect to a network share. If you need to use different credentials to connect to the server, specify them in Windows by navigating to the share in File Explorer, using the Windows Credential Manager, or the net use command. The net use command can be invoked from inside WSL (using net.exe use) via interop. Type net.exe help use for more information on how to use this command.

    
por 23.10.2017 / 12:20