Acessando mídia removível no Bash no Windows

29

Existe uma maneira de acessar mídia removível (por exemplo, pen drives ou cartões SD) dentro do Bash no Windows?

Bash no Windows usa o DriveFs para monte unidades fixas na pasta /mnt , mas não monta automaticamente mídia removível. E não parece que os coloca em /dev :

Aaron@MYPC:/$ ls /dev
block  fd  kmsg  lxss  null  ptmx  pts  random  shm  stderr  stdin  stdout  tty  tty0  tty1  urandom  zero

Existe uma maneira de montar unidades removíveis? Existe uma maneira de acessar o dispositivo de bloco subjacente?

    
por Aaron Campbell 05.08.2016 / 01:20

3 respostas

34

Boas notícias, agora é possível montar mídias USB (incluindo formatadas como FAT) e compartilhamentos de rede com o drvfs no Windows 10:

Montar mídia removível: (por exemplo, D:)

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

Para desmontar com segurança

$ sudo umount /mnt/d

Você também pode montar compartilhamentos de rede sem o smbfs:

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

Você precisa criar pelo menos 16176, portanto, talvez seja necessário ativar o programa Windows Insider e atualizar o Windows. Fonte: link

    
por 16.05.2017 / 14:48
10

Existe uma maneira de acessar mídias removíveis do Bash no Windows?

Atualização:

Aparentemente, agora é possível a partir do Windows 10 Build 16176.

Veja o link .

Não.

No momento, existem limitações em quais unidades são montadas:

In order for a drive to show up under /mnt/ it must meet the following criteria:

  1. The drive must be a fixed drive
  2. The drive must be formatted to NTFS.

Isso foi levantado como um problema: Unidades diferentes de C: não estão montadas em / mnt # 1079 . Ainda está marcado como "Aberto".

To facilitate interoperability with Windows, WSL uses the DrvFs file system. WSL automatically mounts all fixed drives with supported file systems under /mnt, such as /mnt/c, /mnt/d, etc. Currently, only NTFS and ReFS volumes are supported.

Fonte Suporte ao sistema de arquivos WSL

Leitura Adicional

por 04.12.2016 / 17:33
0

Se o dispositivo não estiver em /dev , é provável que sua configuração não esteja detectando a unidade.

O comando lsblk deve listar todos os dispositivos de bloco conectados (drives). Se não aparecer nesta lista, sua melhor aposta é tentar conectar o dispositivo antes de iniciar o bash.

Eu não vejo nada da sua pergunta sobre o método de usar o bash nas janelas que você encontrou, mas para a maioria, não deve ser muito difícil reiniciar o bash.

Se lsblk mostrar sua unidade, encontre o caminho listado e digite mount <path shown by lsblk> <path you want the drive to be mounted to>

    
por 04.12.2016 / 04:52