Montaje de un disco Linux en WSL 2
Si desea acceder a un formato de disco Linux que no sea compatible con Windows, puede usar WSL 2 para montar el disco y acceder a su contenido. En este tutorial se describen los pasos para identificar el disco y la partición que se van a conectar a WSL2, cómo montarlos y cómo acceder a ellos.
Si busca instrucciones sobre cómo conectar un dispositivo USB (unidad flash, lector de tarjetas SD, etc.), consulte Conexión de dispositivos USB.
Nota
Se requiere acceso de administrador para conectar un disco a WSL 2.
El comando WSL 2 mount
no admite el montaje de un disco (o particiones que pertenecen al disco) que está actualmente en uso. wsl --mount
siempre conecta todo el disco aunque solo se solicite una partición. No se puede montar el disco de instalación de Windows.
Requisitos previos
Deberá estar en Windows 11 compilación 22000 o posterior, o bien ejecutar la versión de Microsoft Store de WSL. Puedes unirte al Programa Windows Insiders para obtener las últimas compilaciones en versión preliminar.
Montaje de un disco sin particiones
En este caso más sencillo, si tiene un disco que no tiene particiones, puede montarlo directamente mediante el wsl --mount
comando . 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
\\.\PHYSICALDRIVE*
formato .Montaje del disco : con PowerShell, puede montar el disco mediante la ruta de acceso del disco detectada anteriormente, ejecute:
wsl --mount <DiskPath>
Montaje de un disco con particiones
Si tiene un disco en el que no está seguro de qué formato de archivo se encuentra o en qué particiones tiene, puede seguir los pasos siguientes 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 enumeran después de "DeviceID", normalmente en el
\\.\PHYSICALDRIVE*
formato .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, es
<DiskPath>
\\.\PHYSICALDRIVE*
.Una vez adjuntada, la partición se puede enumerar 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
.
Salida de 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
Identificación del tipo de sistema de archivos
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 TYPE="<Filesystem>"
formato ).
Montaje de las particiones seleccionadas
Una vez que haya identificado las particiones que desea montar, ejecute este comando en cada partición:
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".
Acceso al contenido del disco
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).
Desmontaje de los discos
Si desea desmontar y desasociar el disco de WSL 2, ejecute:
wsl --unmount <DiskPath>
Montaje de un disco duro virtual en WSL
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 disco duro virtual en Windows mediante el Mount-VHD
comando en Windows. Asegúrese de ejecutar este comando con privilegios de administrador. A continuación se muestra un ejemplo en el que se usa este comando y también se genera la ruta de acceso del disco. Asegúrese de reemplazar <pathToVHD>
por la ruta de acceso del disco duro virtual real.
Write-Output "\\.\PhysicalDrive$((Mount-VHD -Path <pathToVHD> -PassThru | Get-Disk).Number)"
Puede usar la salida anterior para obtener la ruta de acceso del disco para este VHD y montarla 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 discos duros virtuales para 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, es un flujo de trabajo de usuario avanzado. Asegúrese de ejecutarse wsl --shutdown
antes de interactuar con este disco para asegurarse de que el disco no está en uso.
Referencia de línea de comandos
Montaje de un sistema de archivos específico
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 WSL2, ejecute: cat /proc/filesystems
Cuando un disco se ha montado a través de WSL2 (sistema de archivos Linux), ya no está disponible para montarse a través de un controlador ext4 en el sistema de archivos de Windows.
Montaje de una partición específica
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.
Especificación de opciones de montaje
Para especificar las opciones de montaje, ejecute:
wsl --mount <DiskPath> -o <MountOptions>
Ejemplo:
wsl --mount <DiskPath> -o "data=ordered"
Nota
En este momento solo se admiten opciones específicas del sistema de archivos. No se admiten opciones genéricas, como ro, rw, noatime, ...
.
Conectar el disco sin montarlo
Si el esquema de disco no es compatible con ninguna de las opciones anteriores, puede conectar 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.
Especificación del nombre de montaje
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 disco duro virtual. Esto se puede invalidar con --name
. Ejemplo:
wsl --mount <DiskPath> --name myDisk
Desasociación de un disco
Para desasociar un disco de WSL 2, ejecute:
wsl --unmount [DiskPath]
Si Diskpath
se omite, todos los discos conectados se desmontan y desasocian.
Nota
Si un disco no se puede desmontar, WSL 2 se puede forzar a salir mediante la ejecución wsl --shutdown
de , que desasociará el disco.
Limitaciones
En este momento, solo se pueden conectar discos completos a WSL 2, lo que significa que no es posible asociar 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 pueden montarse mediante
wsl --mount
. Esto significa que no es posible usar controladores de sistema de archivos instalados (como ntfs-3g por ejemplo) llamando awsl --mount
.Los sistemas de archivos no compatibles directamente con el kernel se pueden montar a través de una
--bare
conexión y, a continuación, invocar el controlador FUSE pertinente.