Accesso ai supporti rimovibili in Bash su Windows


36

Esiste un modo per accedere ai supporti rimovibili (ad esempio pen drive o schede SD) da Bash su Windows?

Bash su Windows utilizza DriveFs per montare unità fisse nella /mntcartella, ma non monta automaticamente i supporti rimovibili. E non sembra che li inserisca /devneanche in:

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

C'è un modo per montare unità rimovibili? C'è un modo per accedere al dispositivo a blocchi sottostante?



digitare mounte vedere se questo ti dà indizi. Se si utilizza cygwinbash, il percorso è / cygdrive /.
stroboscopica

No: Aaron@MYPC:~$ mount rootfs on / type rootfs (rw,relatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204320k,mode=755)[etc]
Aaron Campbell,


Simile, sebbene questa domanda menzioni specificamente i supporti rimovibili e quello si riferisce ai supporti fissi. La risposta più votata su quel post è applicabile solo parzialmente a questa domanda.
Aaron Campbell,

Risposte:


45

Buone notizie, ora è possibile montare supporti USB (incluso formattato come FAT) e condivisioni di rete con drvfs su Windows 10:

Montare supporti rimovibili: (ad es. D :)

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

Per smontare in sicurezza

$ sudo umount /mnt/d

Puoi anche montare condivisioni di rete senza smbfs:

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

È necessario almeno Build 16176, quindi potrebbe essere necessario attivare il programma Windows Insider e quindi aggiornare Windows. Fonte: https://blogs.msdn.microsoft.com/wsl/2017/04/18/file-system-improvements-to-the-windows-subsystem-for-linux/


4
Si prega di non pubblicare la stessa risposta a più domande. Se le stesse informazioni rispondono davvero ad entrambe le domande, allora una domanda (di solito la più recente) dovrebbe essere chiusa come duplicata dell'altra. Puoi indicarlo votando per chiuderlo come duplicato o, se non hai abbastanza reputazione per quello, alza una bandiera per indicare che è un duplicato. Altrimenti personalizza la tua risposta a questa domanda e non incollare la stessa risposta in più punti.
DavidPostill

7
Caro David. Sentiti libero di alzare la bandiera per la duplicazione. Questa risposta è su misura per la domanda e siete più che benvenuti a dare suggerimenti per il miglioramento.
user643011

2
Caro "utente", ho votato qui il tuo commento supponendo che quello che hai detto fosse, beh, vero ... Ora mi rendo conto di aver sbagliato, ma non riesco a annullare il mio commento, quindi devo chiedere esplicitamente: come esattamente è "su misura per la domanda", pur essendo l'esatta copia "bit a bit" dell'altra tua risposta ?
Sz.

Ehi Sz! Perché è vero? Risponde esattamente: esiste un modo per accedere ai supporti rimovibili da Bash su Windows. Se hai una risposta migliore, sentiti libero di rispondere meglio alla domanda o di suggerire una modifica a questa. Grazie!
user643011

wrong fs type, bad option, bad superblock on G:, missing codepage or helper program, or other error- leggi anche questo commento ; non rispondere ai duplicati.
Nic Hartley,

10

C'è un modo per accedere ai supporti rimovibili da Bash su Windows?

Aggiornare:

Apparentemente è ora possibile partire da Windows 10 Build 16176.

Vedi https://superuser.com/a/1209701/337631 .


No.

Al momento ci sono limitazioni su quali unità sono montate:

Affinché un'unità venga visualizzata in / mnt / deve soddisfare i seguenti criteri:

  1. L'unità deve essere un'unità fissa
  2. L'unità deve essere formattata in NTFS.

Questo è stato sollevato come un problema: unità diverse da C: non sono montate in / mnt # 1079 . È ancora contrassegnato come "Apri".

Per facilitare l'interoperabilità con Windows, WSL utilizza il file system DrvFs. WSL monta automaticamente tutte le unità fisse con file system supportati in / mnt, come / mnt / c, / mnt / d, ecc. Attualmente, sono supportati solo i volumi NTFS e ReFS.

Supporto del file system WSL di origine


Ulteriori letture


Ora c'è una soluzione: superuser.com/a/1209701/182880
user643011

0

Se il dispositivo non è in uso /dev, è probabile che la tua configurazione non rilevi nemmeno l'unità.

Il comando lsblkdovrebbe elencare tutti i dispositivi a blocchi (unità) collegati. Se non appare in questo elenco, la soluzione migliore è provare a collegare il dispositivo prima di iniziare bash.

Dalla tua domanda non vedo alcuna menzione del metodo di utilizzo di bash su Windows che hai trovato, ma per la maggior parte non dovrebbe essere troppo difficile riavviare bash.

Se lsblkti mostra l'unità, trova il percorso che elenca e digita mount <path shown by lsblk> <path you want the drive to be mounted to>


mountle unità rimovibili non sono ancora supportate. "WSL monta automaticamente tutte le unità fisse con file system supportati in / mnt, come / mnt / c, / mnt / d, ecc. Attualmente, sono supportati solo i volumi NTFS e ReFS." Vedi blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support
DavidPostill

lol. L'ho già fatto qualche tempo fa :) Vedi la mia risposta qui Manipola i file di Windows con Linux bash shell in Windows 10
DavidPostill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.