Accès aux supports amovibles dans Bash sous Windows

38

Existe-t-il un moyen d'accéder aux supports amovibles (par exemple, clés USB ou cartes SD) à partir de Bash sous Windows?

Bash sous Windows utilise DriveFs pour monter des lecteurs fixes dans le /mntdossier, mais ne monte pas automatiquement un support amovible. Et il ne semble pas que cela les mette /devnon plus:

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

Est-il possible de monter des lecteurs amovibles? Existe-t-il un moyen d'accéder au périphérique de bloc sous-jacent?

Aaron Campbell
la source
5
Voir ce wpdev.uservoice.com/forums/… .
CodeIt
tapez mountet voyez si cela vous donne des indices. Si vous utilisez cygwinbash, le chemin est / cygdrive /.
Strobelight
Non: 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
Similaires, bien que cette question mentionne spécifiquement les supports amovibles et que l’on parle de supports fixes. La réponse la mieux notée à ce poste ne s'applique que partiellement à cette question.
Aaron Campbell

Réponses:

50

Bonne nouvelle, il est désormais possible de monter des supports USB (y compris au format FAT) et des partages réseau avec drvfs sous Windows 10:

Monter un support amovible: (par exemple D :)

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

Pour démonter en toute sécurité

$ sudo umount /mnt/d

Vous pouvez également monter des partages réseau sans smbfs:

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

Il vous faut au moins la version 16176 pour que vous deviez peut-être adhérer au programme Windows Insider, puis mettre à jour Windows. Source: https://blogs.msdn.microsoft.com/wsl/2017/04/18/file-system-improvements-to-the-windows-subsystem-for-linux/

utilisateur643011
la source
4
S'il vous plaît, ne postez pas la même réponse à plusieurs questions. Si la même information répond réellement aux deux questions, alors une question (généralement la plus récente) doit être fermée comme une copie de l’autre. Vous pouvez l'indiquer en votant en faveur de la fermeture en double ou, si vous n'avez pas assez de réputation pour cela, en levant un drapeau pour indiquer qu'il s'agit d'une copie. Sinon, adaptez votre réponse à cette question et ne collez pas la même réponse à plusieurs endroits.
DavidPostill
7
Cher David. N'hésitez pas à lever le drapeau pour la duplication vous-même. Cette réponse est adaptée à la question et vous êtes plus que bienvenu pour faire des suggestions d'amélioration.
user643011
2
Cher "utilisateur", j'ai voté pour votre commentaire ici en supposant que ce que vous aviez dit était vrai ... Maintenant, je réalise que j'avais tort, mais je n'arrive pas à annuler mon commentaire, je dois donc demander explicitement: est-ce "adapté à la question", tout en restant la copie "bitwise" exacte de votre autre réponse ?
Sz.
Hey Sz! Parce que c'est vrai? Il répond exactement: Est-il possible d’accéder à un support amovible à partir de Bash sous Windows? Si vous avez une meilleure réponse, n'hésitez pas à mieux répondre à la question ou à suggérer une modification de celle-ci. Merci!
user643011
wrong fs type, bad option, bad superblock on G:, missing codepage or helper program, or other error- aussi, s'il vous plaît lire ce commentaire ; ne répondez pas aux doublons.
La poursuite de Monica le
10

Existe-t-il un moyen d'accéder aux supports amovibles à partir de Bash sous Windows?

Mise à jour:

Apparemment, il est maintenant possible de démarrer à partir de Windows 10 Build 16176.

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


Non.

Pour le moment, les lecteurs montés sont limités:

Pour qu'un lecteur apparaisse sous / mnt /, il doit répondre aux critères suivants:

  1. Le lecteur doit être un lecteur fixe
  2. Le lecteur doit être formaté en NTFS.

Cela a été soulevé comme un problème: les lecteurs autres que C: ne sont pas montés dans / mnt # 1079 . Il est toujours marqué comme "Ouvrir".

Pour faciliter l'interopérabilité avec Windows, WSL utilise le système de fichiers DrvFs. WSL monte automatiquement tous les lecteurs fixes avec les systèmes de fichiers pris en charge sous / mnt, tels que / mnt / c, / mnt / d, etc. Actuellement, seuls les volumes NTFS et ReFS sont pris en charge.

Prise en charge du système de fichiers WSL source


Lectures complémentaires

DavidPostill
la source
Maintenant, il existe une solution: superuser.com/a/1209701/182880
user643011
0

Si le périphérique n'est pas connecté, /devil est probable que votre configuration ne détecte même pas le lecteur.

La commande lsblkdoit répertorier tous les périphériques en mode bloc connectés (lecteurs). S'il n'apparaît pas dans cette liste, le mieux est d'essayer de brancher l'appareil avant de commencer bash.

Je ne vois pas dans votre question aucune mention de la méthode d’utilisation de bash sur les fenêtres que vous avez trouvées, mais pour la plupart, il ne devrait pas être trop difficile de redémarrer bash.

Si lsblkvous montre votre lecteur, recherchez le chemin qu’il répertorie et tapez mount <path shown by lsblk> <path you want the drive to be mounted to>

timotree
la source
mountL’utilisation de lecteurs amovibles n’est pas encore prise en charge. "WSL monte automatiquement tous les lecteurs fixes avec les systèmes de fichiers pris en charge sous / mnt, tels que / mnt / c, / mnt / d, etc. Actuellement, seuls les volumes NTFS et ReFS sont pris en charge." Voir blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support
DavidPostill
lol. Je l'ai déjà fait il y a quelque temps :) Voir ma réponse ici Manipuler des fichiers Windows avec un shell bash sous Linux 10
DavidPostill