
Eu tenho uma unidade samba montada no meu computador Windows local.
Eu tenho uma /mnt/c
unidade em WLS (Windows 10 Bash), mas não /mnt/z
.
Existe uma maneira de acessá-lo de alguma forma? Posso remontá-lo no WSL?
Responder1
[Atualizar --aparentementeesse recurso está disponível emconstruir 16176. Ainda não experimentei.]
Não, embora possa haver algum truque que não descobri. O subsistema Windows para Linux não monta unidades de rede. Um funcionário da Microsoft dizaqui(em um comentário):
No momento, apenas “montamos” unidades fixas. Unidades USB/removíveis/de rede não são manuseadas neste momento. Esse recurso está em nossa lista de pendências, mas não está previsto tão cedo.
Portanto, não prenda a respiração.
Tentei contornar isso usando um link simbólico, como este:
c:> mklink /d c:\some\directory \\some_server\some_share
O link funciona bem no Windows "normal" (cmd.exe, PowerShell, explorador de arquivos, etc.), mas é invisível para WSL:
$ ls -ld /mnt/c/some/directory
/mnt/c/some/directory not found
Para meu próprio uso, essa limitação é um empecilho. Tenho coisas em unidades de rede que não estou disposto a mover. Existem alternativas; Estou usando o Cygwin.
Responder2
Montando DrvFs
Para montar uma unidade do Windows usando DrvFs, você pode usar o comando de montagem normal do Linux. Por exemplo, para montar uma unidade removível D: como diretório /mnt/d, execute os seguintes comandos:
$ sudo mkdir /mnt/d $ sudo mount -t drvfs D: /mnt/d
Agora você poderá acessar os arquivos da sua unidade D: em /mnt/d. Quando desejar desmontar a unidade, por exemplo, para removê-la com segurança, execute o seguinte comando:
$ sudo umount /mnt/d
Montagem de locais de rede
Quando desejar montar um local de rede, você pode criar uma unidade de rede mapeada no Windows e montá-la conforme indicado acima. Entretanto, também é possível montá-los diretamente usando um caminho UNC:
$ sudo mkdir /mnt/share $ sudo mount -t drvfs '\\server\share' /mnt/share
Observe as aspas simples ao redor do caminho UNC; estes são necessários para evitar a necessidade de escapar das barras invertidas. Se você não colocar o caminho UNC entre aspas simples, será necessário escapar das barras invertidas duplicando-as (por exemplo,
\\\\server\\share
).O WSL não tem como especificar quais credenciais usar para se conectar a um compartilhamento de rede. Se você precisar usar credenciais diferentes para se conectar ao servidor, especifique-as no Windows navegando até o compartilhamento no Explorador de Arquivos, usando o Gerenciador de Credenciais do Windows ou o comando net use. O comando net use pode ser invocado de dentro do WSL (usando net.exe use) via interoperabilidade. Digite net.exe help use para obter mais informações sobre como usar este comando.
Responder3
WSL2 suportaCIFS (SMB)protocolo. Pode ser necessário especificar a versão do servidor de rede durante a montagem. Por exemplo, no Ubuntu:
$ sudo apt install cifs-utils
$ sudo mount -t cifs -o user=joe,pass=shmo,vers=1.0 //server/share /mnt/share
Responder4
verhttps://github.com/Microsoft/WSL/issues/2999#issuecomment-455835951
Aqui está uma maneira de montar o GFS no WSL com base emFazendo o `sshfs` funcionar no WSL ou encontrando uma alternativaO truque é usarhttps://www.nsoftware.com/sftp/netdrive/para ssh para GFS do Windows e convertê-lo em um sistema de arquivos que pode ser montado em WSL.
Instale o OpenSSH Server em Win10 Win10 Configurações -> Aplicativos -> Gerenciar recursos opcionais -> Adicionar recurso -> Reinicialização do servidor OpenSSH se necessário abra Serviços -> OpenSSH -> Propriedades -> Tipo de inicialização -> Automático (atrasado)
Instale e execute o SFTPNetDrive, clique com o botão direito no ícone em ícones ocultos -> Janela principal (ou talvez já aberta) -> Perfil -> novo perfil (servidor: localhost, usuário:*senha:*Letra da unidade: F (ou outra) Avançado -> ( Protocolo -> desmarcar compactação; Pasta especificada: G:\ ) )
no Bash (wsl): sudo mkdir /mnt/f; sudo mount -t drvfs F: /mnt/f
Não tenho certeza de quão estável é, mas consegui abrir arquivos no WSL.