Montaje de un disco Linux en WSL 2
Si quiere acceder a un formato de disco Linux que no es compatible con Windows, puede usar WSL 2 para montar el disco y acceder a su contenido. En este tutorial se tratarán los pasos para identificar el disco y la partición que se van a adjuntar a WSL 2, cómo montarlos y cómo acceder a ellos.
Si está conectando una unidad externa y no tiene éxito con estas instrucciones de montaje, puede probar las instrucciones para Conectar dispositivos USB. El wsl --mount
comando no admite actualmente USB, unidades flash ni lectores de tarjetas SD (obtenga más información sobre este problema).
Nota
Se requiere acceso de administrador para adjuntar un disco a WSL 2.
El comando WSL 2 mount
no admite el montaje de un disco (o particiones que pertenecen al disco) que se está usando actualmente. wsl --mount
siempre adjunta todo el disco aunque solo se solicite una partición. No se puede montar el disco de instalación de Windows.
Tendrá que estar en Windows 11 compilación 22000, una posterior o ejecutar la versión de Microsoft Store de WSL. Para comprobar la versión de WSL y Windows, use el comando: wsl.exe --version
Las unidades externas con formato para Windows suelen usar el formato del sistema de archivos NTFS. Las unidades externas con formato para Linux suelen usar el formato del sistema de archivos Ext4.
Si ha montado una unidad con formato NTFS en el sistema de archivos de Windows, puede acceder a esa unidad desde la distribución de Linux mediante WSL. Para ello, cree un directorio montado (sudo mkdir /mnt/d
, reemplace "d" por cualquier letra de unidad que quiera usar) y, luego, use el complemento de interoperabilidad del sistema de archivos drvfs
, con el comando:
sudo mount -t drvfs D: /mnt/d
Más información sobre los escenarios de montaje.
Si tiene una unidad con formato Ext4, no puede montarla en el sistema de archivos de Windows. Para montar una unidad con formato Ext4 en la distribución de Linux con WSL, puede usar el comando wsl --mount
siguiendo las instrucciones siguientes.
Si tiene un disco que no tiene particiones, puede montarlo directamente mediante el comandowsl --mount
. En primer lugar, debe identificar el disco.
Identificar el disco : para enumerar los discos disponibles en Windows, ejecute:
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
Las rutas de acceso de los discos están disponibles en las columnas 'DeviceID'. Normalmente bajo el formato
\\.\PHYSICALDRIVE*
.Montar el disco : con PowerShell puede montar el disco mediante la ruta de acceso detectada anteriormente, ejecute:
wsl --mount <DiskPath>
Si tiene un disco del que no está seguro sobre el formato de archivo en el que se encuentra o cuántas particiones tiene, puede seguir los pasos que se indican a continuación para montarlo.
Identificar el disco : para enumerar los discos disponibles en Windows, ejecute:
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
Las rutas de acceso de los discos se muestran después de 'DeviceID', normalmente en el formato
\\.\PHYSICALDRIVE*
.Enumere y seleccione las particiones que se van a montar en WSL 2: una vez identificado el disco, ejecute:
wsl --mount <DiskPath> --bare
Esto hará que el disco esté disponible en WSL 2. En el caso de nuestro ejemplo,
<DiskPath>
es\\.\PHYSICALDRIVE*
.Una vez adjuntada, la partición puede ser enumerada ejecutando el siguiente comando dentro de WSL 2:
lsblk
Se mostrarán los dispositivos de bloque disponibles y sus particiones.
Dentro de Linux un dispositivo de bloque se identifica como /dev/<Device><Partition>
. Por ejemplo, /dev/sdb3, es el número de partición 3 del disco sdb
.
Ejemplo:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 1G 0 disk
├─sdb2 8:18 0 50M 0 part
├─sdb3 8:19 0 873M 0 part
└─sdb1 8:17 0 100M 0 part
sdc 8:32 0 256G 0 disk /
sda 8:0 0 256G 0 disk
Si no conoce el tipo de sistema de archivos de un disco o partición puede usar este comando:
blkid <BlockDevice>
Esto generará el tipo de sistema de archivos detectado (con el formato TYPE="<Filesystem>"
).
Una vez que haya identificado las particiones que desea montar, ejecute este comando en cada una:
wsl --mount <DiskPath> --partition <PartitionNumber> --type <Filesystem>
Nota
Si desea montar todo el disco como un único volumen (es decir, si el disco no tiene particiones), --partition
se puede omitir.
Si se omite, el tipo de sistema de archivos predeterminado es "ext4".
Una vez montado, se puede acceder al disco en la ruta de acceso a la que apunta el valor de configuración: automount.root
. El valor predeterminado es /mnt/wsl
.
Desde Windows, se puede acceder al disco desde Explorador de archivos; para ello, vaya a: \\wsl$\<Distro>\<Mountpoint>
(elija cualquier distribución de Linux).
Si desea desmontar y desasociar el disco de WSL 2, ejecute:
wsl --unmount <DiskPath>
Nota
WSL de Microsoft Store presenta un nuevo argumento para montar directamente un VHD: wsl --mount --vhd <pathToVHD>
También puede montar archivos de disco duro virtual (VHD) en WSL mediante wsl --mount
. Para ello, primero debe montar el VHD en Windows mediante el comando Mount-VHD
en Windows. Asegúrese de ejecutar este comando con privilegios de administrador. A continuación se muestra un ejemplo en el que usamos este comando y también se genera la ruta de acceso del disco. Asegúrese de reemplazar <pathToVHD>
con la ruta de acceso del VHD real.
Write-Output "\\.\PhysicalDrive$((Mount-VHD -Path <pathToVHD> -PassThru | Get-Disk).Number)"
Puede usar la salida anterior para obtener la ruta de acceso de este VHD y montarlo en WSL siguiendo las instrucciones de la sección anterior.
También puede usar esta técnica para montar e interactuar con los discos duros virtuales de otras distribuciones de WSL, ya que cada distribución de WSL 2 se almacena a través de un archivo de disco duro virtual denominado: ext4.vhdx
. De forma predeterminada, los VHD de las distribuciones de WSL 2 se almacenan en esta ruta de acceso: C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\[distroPackageName]
, tenga cuidado al acceder a estos archivos del sistema, este es un flujo de trabajo para usuario avanzado. Asegúrese de ejecutar wsl --shutdown
antes de interactuar con este disco para estar seguro de que no está en uso.
De forma predeterminada, WSL 2 intentará montar el dispositivo como ext4. Para especificar otro sistema de archivos, ejecute:
wsl --mount <DiskPath> -t <FileSystem>
Por ejemplo, para montar un disco como fat, ejecute:
wsl --mount <Diskpath> -t vfat
Nota
Para enumerar los sistemas de archivos disponibles en WSL 2, ejecute: cat /proc/filesystems
Cuando un disco se ha montado a través de WSL 2 (sistema de archivos Linux), ya no está disponible para montarse a través de un controlador ext4 en el sistema de archivos de Windows.
De forma predeterminada, WSL 2 intenta montar todo el disco. Para montar una partición específica, ejecute:
wsl --mount <Diskpath> -p <PartitionIndex>
Esto solo funciona si el disco es MBR (registro de arranque maestro) o GPT (tabla de particiones GUID). Obtenga información sobre los estilos de partición: MBR y GPT.
Para especificar las opciones de montaje, ejecute:
wsl --mount <DiskPath> -o <MountOptions>
Ejemplo:
wsl --mount <DiskPath> -o "data=ordered"
Nota
Solo se admiten las opciones específicas del sistema de archivos en este momento. No se admiten opciones genéricas, como ro, rw, noatime, ...
.
Si el esquema de disco no es compatible con ninguna de las opciones anteriores, puede adjuntar el disco a WSL 2 sin montarlo ejecutando:
wsl --mount <DiskPath> --bare
Esto hará que el dispositivo de bloque esté disponible dentro de WSL 2 para que se pueda montar manualmente desde allí. Use lsblk
para enumerar los dispositivos de bloque disponibles dentro de WSL 2.
Nota
Esta opción solo está disponible con WSL desde Microsoft Store
De forma predeterminada, el nombre del punto de montaje se genera en función del disco físico o el nombre del VHD. Esto se puede invalidar con --name
. Ejemplo:
wsl --mount <DiskPath> --name myDisk
Para desasociar un disco de WSL 2, ejecute:
wsl --unmount [DiskPath]
Si Diskpath
se omite, todos los discos adjuntados se desmontan y desasocian.
Nota
Si un disco no se puede desmontar, WSL 2 puede ser forzado a salir mediante la ejecución de wsl --shutdown
, que desasociará el disco.
En este momento, solo se pueden adjuntar discos completos a WSL 2, lo que significa que no es posible adjuntar solo una partición. Concretamente, esto significa que no es posible usar
wsl --mount
para leer una partición en el dispositivo de arranque, ya que ese dispositivo no se puede desasociar de Windows.Solo los sistemas de archivos que se admiten de forma nativa en el kernel se pueden montar mediante
wsl --mount
. Esto significa que no es posible usar controladores de sistema de archivos instalados ( por ejemplo: ntfs-3g) mediante una llamada awsl --mount
.Los sistemas de archivos no compatibles directamente con el kernel se pueden montar a través de una conexión
--bare
y, a continuación, invocar al controlador FUSE correspondiente.
Comentarios de Windows Subsystem for Linux
Windows Subsystem for Linux es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: