Montaje de sistema de archivos ext4 a través de WSL2

5 de junio de 2026 • fjbalon

En un artículo algo extraño para lo que suelo escribir, enfocado en el sistema de Microsoft Windows. Tranquilícese el lector, incluso encuadrando el artículo a través del sistema operativo ajeno a las buenas costumbres, no se trata de él mismo, sino que sigue tratándose de Linux por:

a. los formatos de sistemas de archivos transaccionales ext2, ext3 o ext4, pertenecientes nativamente al kernel de Linux desde la introducción en 1993 de ext2, y

b. WSL2 que no es si quiera una capa de compatibilidad con el kernel, como era WSL; sino que ofrece un kernel de Linux a través de virtualización, con llamadas a la API del kernel.

Si hubiera alguna categoría para ello creo que las más adecuadas sería compatibilidad o virtualización. Ya que, por trabajo, he tenido la necesidad de montar un de mis discos duros externos, que suelo llevar formateados con el sistema de archivos ext4, en un sistema Windows.

Obviando la blasfemia, con un poco de humor, creo que los pasos a realizar pueden ser de interés para muchos. Ya que, no lo sabía, no existe compatibilidad nativa en Windows para montar estos sistemas de archivos. Y no basta, como en GNU/Linux, con instalar un paquete de compatibilidad para montar, por ejemplo, NTFS.

Entonces, ¿cómo puedo utilizar mi disco ext4 en un sistema Windows incompatible? Hay softwares de terceros que se pueden buscar e instalar, pero de primeras lo evitaría. Primero, por seguridad; ya bastante inseguro es Windows como para que le metamos más códigos cerrados y obtusos para pequeñas funcionalidades; además que crea aun más basura en un sistema tan sucio, estructural y organizativamente hablando. Por ello, he optado por utilizar WSL o Windows Subsystem Linux que, para quien no lo sepa, es una implementación de Windows relativamente reciente que permite ejecutar un entorno, más o menos virtualizado, de Linux en una máquina Windows. Como decía antes, de hecho, WSL2 ofrece directamente un núcleo de Linux optimizado por Microsoft.

De ahí, lo primero necesario es tener actualizado WSL2 con una distribución Linux, en mi caso, Debian:

C:\>wsl --mount PATH
Esta operación solo es compatible con WSL2

C:\>wsl.exe --update
Instalando: Subsistema de Windows para Linux
Se ha instalado Subsistema de Windows para Linux.

C:\>wsl.exe --list --online

A continuación, se muestra una lista de las distribuciones válidas que se pueden instalar.
Instalar con "wsl.exe --install ".

NAME                            FRIENDLY NAME
AlmaLinux-8                     AlmaLinux OS 8
AlmaLinux-9                     AlmaLinux OS 9
AlmaLinux-Kitten-10             AlmaLinux OS Kitten 10
Debian                          Debian GNU/Linux
SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
Ubuntu                          Ubuntu
Ubuntu-24.04                    Ubuntu 24.04 LTS
kali-linux                      Kali Linux Rolling
openSUSE-Tumbleweed             openSUSE Tumbleweed
openSUSE-Leap-15.6              openSUSE Leap 15.6
Ubuntu-18.04                    Ubuntu 18.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_7                 Oracle Linux 8.7
OracleLinux_9_1                 Oracle Linux 9.1

C:\>wsl.exe --install Debian

Descargando: Debian GNU/Linux
[========================= 43,4%                           ]

También es necesario habilitar la característica de Virtual Machine Platform, si no lo hubiera.

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Entonces podemos descubrir el disco y lo montamos a través de WSL, para los unixeros, estamos haciendo el equivalente de Windows a lsblk y mount:

wmic diskdrive list brief
Caption                         DeviceID            Model                           Partitions  Size
KBG50ZNS512G NVMe KIOXIA 512GB  \\.\PHYSICALDRIVE0  KBG50ZNS512G NVMe KIOXIA 512GB  3           512105932800
sobetter EXT SCSI Disk Device   \\.\PHYSICALDRIVE1  sobetter EXT SCSI Disk Device   1           500105249280

C:\Windows\System32>wsl --mount \\.\PHYSICALDRIVE1 --partition 1

El disco se montó correctamente como "/mnt/wsl/PHYSICALDRIVE1p1".
Nota: La ubicación será diferente si ha modificado la configuración de automount.root en /etc/wsl.conf.
Para desmontar y desasociar el disco, ejecute "wsl.exe --unmount \\.\PHYSICALDRIVE1".

Y con esto, podemos usar nuestros discos en Windows de forma prácticamente nativa, sin necesidad de instalar software de terceros a parte.

Pero, ¿y si no queremos montar un disco duro sino un pendrive o memoria flash?

En un inicio intenté hacer lo mismo, ¿pero cuál fue mi sorpresa? resulta que el procedimiento ya descrito no sirve con pendrives.

Por lo que hay que buscar otra alternativa... Me hablan de usbipd-win, una utilidad para compartir USB entre la máquina Windows anfitriona, Hyper-V y WSL2.

De esta forma, puedo listar los USB conectados:

PS C:\WINDOWS\system32> usbipd.exe list
Connected:
BUSID  VID:PID    DEVICE                                                        STATE
2-6    0bda:5570  Integrated Webcam, Integrated IR Webcam, Camera DFU Device    Not shared
2-8    0a5c:5843  Dell ControlVault w/ Fingerprint Touch Sensor, Lector de ...  Not shared
2-10   8087:0033  Intel(R) Wireless Bluetooth(R)                                Not shared
2-15   346d:3281  Dispositivo de almacenamiento USB                             Not shared
3-2    05e3:0754  Dispositivo de almacenamiento USB                             Not shared
4-1    413c:301a  Dispositivo de entrada USB                                    Not shared
4-3    2109:0100  USB 2.0 BILLBOARD                                             Not shared
4-4    03f0:0324  Dispositivo de entrada USB                                    Not shared
4-5    2109:8888  USB Billboard Device                                          Not shared

Identifico mi pendrive como si de /dev se tratara, siendo 2-15, 346d:3281, Dispositivo de almacenamiento USB, y mediante el BUSID lo comparto y paso a WSL:

usbipd bind --busid 2-15
usbipd attach --wsl --busid 2-15

usbipd: info: Using WSL distribution 'Debian' to attach; the device will be available in all WSL 2 distributions.
usbipd: info: Loading vhci_hcd module.
usbipd: info: Detected networking mode 'nat'.
usbipd: info: Using IP address 172.27.32.1 to reach the host.

Ahora, en el Linux embebido de WSL, aparece como dispositivo en /dev/sde:

lsblk
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda    8:0    0 364.8M  1 disk
sdb    8:16   0 144.5M  1 disk
sdc    8:32   0     2G  0 disk [SWAP]
sdd    8:48   0     1T  0 disk /mnt/wslg/distro /
sde    8:64   1 231.1G  0 disk

Esto ya es territorio Linux, por lo que simplemente debo montarlo y usarlo como de costumbre.

Lo siento por la entrada heterodoxa, pero a veces tenemos que ponernos guantes quirúrgicos y usar estos sistemas, y qué mejor que contar atajos para poder usar nuestros discos y particiones ext2, ext3 o ext4.

Sirva como resumen o gist:

# Montaje de disco duro ext4
wmic diskdrive list brief
wsl --mount \\.\PHYSICALDRIVE1 --partition 1

# Montaje de pendrive ext4
usbipd.exe list
usbipd bind --busid 2-15
usbipd attach --wsl --busid 2-15
lsblk