¿Cómo montar un disco USB en una unidad fija en el subsistema Linux para Windows?

¿Cómo montar un disco USB en una unidad fija en el subsistema Linux para Windows?

Estoy trabajando en Windows-10, donde instalé el subsistema Linux para Windows (más exactamente, Ubuntu).

He asignado mi unidad USB a la unidad D: y Windows cree que se trata de un disco general:

Windows commandline prompt>wmic logicaldisk list (relevant excerpt)
Access  Availability  BlockSize  Caption  Compressed  ConfigManagerErrorCode  ConfigManagerUserConfig  Description         DeviceID  DriveType  ErrorCleared  ErrorDescription  ErrorMethodology  FileSystem  FreeSpace     InstallDate  LastErrorCode  MaximumComponentLength  MediaType  Name  NumberOfBlocks  PNPDeviceID  PowerManagementCapabilities  PowerManagementSupported  ProviderName                                 Purpose  QuotasDisabled  QuotasIncomplete  QuotasRebuilding  Size           Status  StatusInfo  SupportsDiskQuotas  SupportsFileBasedCompression  VolumeName  VolumeSerialNumber
0                                C:       FALSE                                                        Local Fixed Disk    C:        3                                                            NTFS        144074813440                              255                     12         C:                                                                                                                                                                                                  1023013810176                      FALSE               TRUE                          OSDisk      B622B231
0                                D:       FALSE                                                        Local Fixed Disk    D:        3                                                            NTFS        996483739648                              255                     12         D:                                                                                                                                                                                                  1000168484864                      FALSE               TRUE                          Elements    6CD465F5

En mi PC con Windows, tengo dos directorios adicionales:

C:\Users\...\AppData\...\CanonicalGroupLimited.UbuntuonWindows_...\...\rootfs\mnt\c
C:\Users\...\AppData\...\CanonicalGroupLimited.UbuntuonWindows_...\...\rootfs\mnt\d

En mi subsistema Linux, /etc/mtabtermina de la siguiente manera:

Linux Prompt>tail -n 2 /etc/mtab
C:\134 /mnt/c drvfs rw,noatime,uid=1000,gid=1000,case=off 0 0
D:\134 /mnt/d drvfs rw,noatime,uid=1000,gid=1000,case=off 0 0

Sin embargo, el resultado de df -hkno muestra ninguno /mnt/d:

Linux Prompt>df -hk
df: /mnt/d: Invalid argument
Filesystem     1K-blocks      Used Available Use% Mounted on
rootfs         999036924 858339700 140697224  86% /
...
C:\            999036924 858339700 140697224  86% /mnt/c

En internet encontré este comando, pero no da solución:

Linux prompt>mount -t drvfs D: /mnt/d

Y el resultado mountes bastante extraño:

Linux prompt> sudo mount
rootfs on / type wslfs (rw,noatime)
...
C:\ on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,case=off)
D:\ on /mnt/d type drvfs (rw,noatime,uid=1000,gid=1000,case=off)

Sin embargo, /mnt/dno funciona: el directorio existe, pero no se puede utilizar.

¿Alguien sabe qué hacer?

gracias de antemano

Respuesta1

En primer lugar, simplemente finge que todo lo que encuentres a continuación %AppData%simplemente no existe. Es peligroso y su uso puede causar corrupción en WSL (Enlace de Microsoft). Sé que probablemente lo encontraste buscando en Windows. Simplemente aléjate... lentamente. :-)

Respuesta corta posible solución:

Intente crear una nueva ubicación de montaje:

sudo mkdir /media/d
sudo mount -t drvfs D: /media/d

O posiblemente:

  • wsl --shutdown
  • Vuelva a conectar la unidad USB
  • Iniciar la instancia WSL

Mas detalle:

Esto es lo que yopensarestá sucediendo. WSL lee las unidades conectadas de Windows cuando se inicia y monta automáticamente esta lista de unidades en cada instancia (a través de /init) cuando se inicia la instancia.

Si la unidad se desconecta después de que se inicia WSL, entonces el subsistema no lo sabe. Una desconexión y reconexión de la unidad (u otra unidad) terminará en una situación similar a la que está viendo: A /mnt/d(u otra letra de unidad) que no funciona.

Como se propuso anteriormente, una nueva ubicación de montaje ( /mediaes buena, ya que normalmente es donde se montarían las unidades extraíbles) o un wsl --shutdownreinicio resuelve el problema.

información relacionada