Despliegue automatizado con WSL –import: de cero a productivo

Última actualización: 29/10/2025
Autor: Isaac
  • Importa distros desde tar con wsl --import y estandariza entornos.
  • Automatiza con wsl.conf y, cuando proceda, con cloud-init.
  • Exporta/Importa para copias de seguridad y restauración rápida.
  • Integra Docker y WSL 2 para flujos reproducibles y eficientes.

Despliegue automatizado con WSL import

Si trabajas en Windows pero quieres las herramientas de Linux, WSL y el comando wsl –import te permiten traer cualquier distro en formato tar y dejarla lista para currar sin pasar por la Microsoft Store. Este enfoque abre la puerta a despliegues realmente rápidos, a entornos reproducibles y a copias de seguridad que se restauran en un periquete.

Además, con WSL 2 puedes automatizar ajustes del sistema con wsl.conf y, en ciertas distros, con cloud-init; también exportar y compartir imágenes, integrar Docker y hasta ejecutar aplicaciones de GUI de Linux de forma nativa. En las próximas líneas verás cómo construir el tar, importarlo, afinar la distro (usuario por defecto, DNS, montajes), crear y restaurar backups, resolver el clásico lío de que no te aparezca “import” en la ayuda de WSL, y montar un flujo híbrido WSL 2 + Docker listo para producción.

Qué resuelve wsl –import y cuándo usarlo

El comando wsl –import permite instalar cualquier distribución desde un archivo tar, incluso si no existe paquete en la Store. Ideal para: equipos que buscan control centralizado, despliegues en empresas, imágenes personalizadas que ya incluyen paquetes y dotfiles, o escenarios de recuperación rápida tras un problema del sistema.

La sintaxis base es directa y flexible, apuntando a un directorio de instalación y a un tar con el rootfs de la distro:

wsl.exe --import <NombreDistro> <RutaInstalacion> <ArchivoTar>  

Si te organizas bien, puedes guardar tus distros bajo E:\wslDistroStorage\ para mantener orden y separar datos del disco del sistema, minimizando sustos en reinstalaciones o averías.

Importar distros Linux en WSL con tar

Cómo obtener el archivo tar de una distribución

Para importar algo, antes necesitas el tar. Tienes dos vías sencillas: descargar un rootfs oficial (por ejemplo, el Mini Root Filesystem de Alpine) o generar el tar exportando un contenedor Docker de la distro que te interese.

La ruta de Docker es muy práctica porque te garantiza un sistema limpio, reproducible y fácil de versionar con tus dependencias mínimas. A continuación, un ejemplo con CentOS ejecutado dentro de una distro WSL con Docker.

Ejemplo: crear el tar de CentOS con Docker

Arranca una distro Linux instalada desde la Microsoft Store (por ejemplo, Ubuntu en WSL) y asegúrate de tener Docker operativo (Docker Desktop o el servicio de Docker dentro de la propia distro).

# Inicia Docker si lo tienes en la distro WSL
sudo service docker start

# Lanza un contenedor CentOS con un nombre identificable
docker run -t --name wsl_export centos ls /

# Exporta el contenedor a un tar en C:\temp
docker export wsl_export > /mnt/c/temp/centos.tar

# Limpieza
docker rm wsl_export

Al terminar, ya tendrás centos.tar listo para importar en WSL. Este método sirve para prácticamente cualquier distro disponible como imagen de contenedor.

Importar el tar en WSL: ejemplo paso a paso con CentOS

Con el tar preparado, toca cargarlo en WSL. Desde PowerShell, crea primero una carpeta donde residirá el rootfs.

# En PowerShell
cd C:\temp
mkdir E:\wslDistroStorage\CentOS

Ahora importa el tar: el primer argumento es el nombre lógico de la distro, el segundo la ruta donde se guardará el rootfs, y el tercero el archivo tar que generaste.

wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar

Comprueba que aparece como instalada y, si quieres, arráncala directamente para verificar que todo está OK.

wsl -l -v
wsl -d CentOS

Tras un import, WSL inicia como root. Si prefieres entrar con tu usuario normal, en el siguiente bloque verás cómo declararlo como predeterminado.

  ¿Qué significa Uber? Conoce su historia (Ejemplo).

Configurar el usuario por defecto y ajustar WSL con wsl.conf

Después de importar cualquier distro, por defecto se entra como root. En CentOS, puedes crear un usuario, añadirlo a wheel y configurarlo como usuario por defecto con wsl.conf.

# Dentro de la distro CentOS
yum update -y && yum install -y passwd sudo

myUsername=caloewen
adduser -G wheel $myUsername

echo -e "\ndefault=$myUsername" >> /etc/wsl.conf

passwd $myUsername

Para aplicar el cambio, apaga la instancia y vuelve a arrancarla desde PowerShell:

wsl --terminate CentOS
wsl -d CentOS

Más allá del usuario, /etc/wsl.conf permite la regulación de montajes, redes y otras opciones, muy útil cuando varias personas comparten la misma distro o cuando quieres estandarizar comportamientos.

Ejemplo básico de wsl.conf

Este ejemplo monta las unidades de Windows con metadatos, evita que WSL regenere resolv.conf (útil si gestionas DNS a mano) y fija el usuario por defecto.


enabled = true
options = "metadata,umask=22,fmask=11"


generateResolvConf = false


default = tu_usuario

Aplica cambios con wsl –shutdown y vuelve a iniciar la distro para que los nuevos ajustes entren en vigor.

Automatización adicional con cloud-init (cuando la distro lo soporta)

Algunas distros en WSL 2, como Ubuntu, pueden ejecutar cloud-init para aprovisionar paquetes, usuarios y archivos durante la primera inicialización. Es una herramienta nacida para entornos cloud, pero resulta muy cómoda para estandarizar instalaciones en equipos de desarrollo.

Un ejemplo mínimo que instala paquetes y crea un usuario podría tener esta pinta:

#cloud-config
packages:
  - git
  - curl
  - build-essential
users:
  - name: dev
    groups: 
    sudo: ALL=(ALL) NOPASSWD:ALL
    shell: /bin/bash
runcmd:
  - echo "alias ll='ls -la'" >> /home/dev/.bashrc

Combinado con wsl.conf y scripts de post-provisión, obtendrás distros que ya arrancan listas para trabajar con tus herramientas, dotfiles y preferencias.

Flujo de despliegue automatizado típico

Si lo quieres todo medido, un flujo razonable sería: crear la distro base con wsl –import, inyectar wsl.conf y (si la distro lo permite) cloud-init, ejecutar el aprovisionamiento y, por último, exportarla para compartirla.

  1. Crear distro base con wsl --import.
  2. Configurar /etc/wsl.conf y, si la distro lo permite, añadir archivos de cloud-init.
  3. Ejecutar el aprovisionamiento y validar que todo cuadra.
  4. Exportar a tar y compartir la imagen con el equipo para onboardings exprés.

Este enfoque reduce drásticamente el tiempo de puesta en marcha, evita diferencias “funciona en mi máquina” y facilita el cumplimiento de políticas de TI en empresas.

Copias de seguridad y restauración de distros WSL

Trabajar semanas afinando un entorno para perderlo por un fallo da mucha rabia. Con wsl –export consigues un snapshot completo del sistema de archivos, paquetes, configuraciones y usuarios en un único archivo TAR.

Antes de exportar, asegúrate de que la distro está detenida para que el archive quede íntegro:

wsl --list --verbose
wsl --terminate Ubuntu   # si está Running
# Repite hasta verla como Stopped

La exportación es directa y admite nombres versionados. Guarda los tar en otra unidad o en la nube para mayor seguridad:

# Ejemplo simple
wsl --export Ubuntu E:\WSL_Backups\UbuntuBackup_2025-09-02.tar

# Con fecha automática en PowerShell
wsl --export Ubuntu E:\WSL_Backups\UbuntuBackup$(Get-Date -Format yyyy-MM-dd).tar

Para restaurar, importa el tar con un nombre y carpeta nuevos. Obtendrás una distro idéntica a la original:

wsl --import Ubuntu_Backup C:\WSL\Ubuntu_Backup E:\WSL_Backups\UbuntuBackup_2025-09-02.tar
wsl -d Ubuntu_Backup

Tras una importación, entrarás como root. Fija tu usuario por defecto editando /etc/wsl.conf dentro de la distro y reiniciando WSL:

# Dentro de la distro restaurada
sudo nano /etc/wsl.conf

# Añade:

default = tu_usuario

# Aplica cambios
wsl --terminate Ubuntu_Backup
wsl -d Ubuntu_Backup

Buenas prácticas: programa respaldos periódicos con el Programador de tareas, limpia temporales y contenedores para reducir tamaño, y usa nombres cortos y claros en las distros para facilitar la gestión.

  Google Fotos: Cómo hacerlo en Windows 10

Qué hacer si “wsl –import” no aparece en la ayuda

Puede ocurrir que al ejecutar wsl --help no veas “import” listado entre las opciones y que el intento de import te devuelva el texto genérico de uso. Esto suele indicar que tu binario de WSL no está actualizado a una versión que incluya la funcionalidad.

En Windows 10 Pro 21H2 (build 19044.1706) y superiores, deberías disponer de las capacidades modernas si actualizas WSL. Prueba lo siguiente con PowerShell con privilegios:

# Actualiza WSL a la versión más reciente
wsl --update

# Reinicia WSL para aplicar
wsl --shutdown

# Si persiste, reinicia el servicio del subsistema
Restart-Service LxssManager

Tras esto, vuelve a ejecutar wsl –help y comprueba que aparece “–import”. Si sigues igual, asegúrate de estar en una compilación compatible y de no estar usando un ejecutable obsoleto en la ruta.

Aplicaciones de GUI en WSL: requisitos y ejemplos rápidos

WSL ya permite ejecutar apps de GUI (X11/Wayland) de Linux en Windows de forma integrada: anclarlas a la barra de tareas, Alt-Tab entre apps, copiar y pegar entre entornos… Para ello, necesitas Windows 10 build 19044+ o Windows 11 y un controlador vGPU adecuado.

Si partes de cero, una instalación limpia con wsl –install lo pone todo en marcha y te pedirá usuario y contraseña de Ubuntu tras reiniciar:

# PowerShell (Administrador)
wsl --install

Con WSL ya instalado, actualiza a la última versión con soporte de GUI y reinicia el subsistema:

wsl --update
wsl --shutdown

Ejemplos en Ubuntu para instalar apps habituales de escritorio y probar que tiran:

# Refresca índices
sudo apt update

# Gnome Text Editor
sudo apt install -y gnome-text-editor
# Ejecuta: gnome-text-editor ~/.bashrc

# GIMP
sudo apt install -y gimp
# Ejecuta: gimp

# Nautilus (Archivos GNOME)
sudo apt install -y nautilus
# Ejecuta: nautilus

# Apps X11 básicas
sudo apt install -y x11-apps
# Ejecuta: xcalc, xclock, xeyes

Incluso navegadores: Chrome se instala bajando el .deb y resolviendo dependencias, y Edge tiene instalación por línea de comandos desde su sitio de Insider.

WSL 2 + Docker: ventajas y flujo para un entorno de trabajo real (NILMTK)

Docker encaja como un guante con WSL 2: portabilidad, consistencia y rapidez para desarrollar y desplegar sin dolores de cabeza. Te permite aislar proyectos, versionar imágenes y escalar cuando toca.

Ventajas clave de Docker en este contexto: entornos idénticos en todo el pipeline, uso eficiente de recursos frente a VMs, automatización con CI/CD y colaboración fluida compartiendo imágenes preconfiguradas.

Pasos resumidos para un entorno híbrido con NILMTK

En un escenario real, puedes partir de una máquina Ubuntu física, construir una imagen Docker con NILMTK y dependencias, exportarla a tar, activar WSL 2 en Windows y cargar la imagen allí para trabajar.

# En tu Ubuntu físico
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io tar
sudo systemctl enable docker

# Dockerfile mínimo para NILMTK
cat <<EOF > Dockerfile
FROM ubuntu:22.04
RUN apt update && apt install -y python3.8 python3-pip \
    && pip install nilmtk==0.4.3 nilm_metadata==0.2.4
EOF

# Construye y exporta la imagen
sudo docker build -t nilmtk-env .
sudo docker save nilmtk-env > nilmtk-env.tar

En Windows 11, habilita WSL 2 y Ubuntu 22.04 desde PowerShell (Administrador):

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
wsl --install -d Ubuntu-22.04

Transfiere el tar y cárgalo en Docker dentro de WSL:

# Desde Ubuntu físico
scp nilmtk-env.tar usuario@windows:/mnt/c/Users/tu_usuario/

# Dentro de Ubuntu en WSL
docker load < /mnt/c/Users/tu_usuario/nilmtk-env.tar

Instala Docker Desktop con backend WSL 2, activa la integración con tu distro en Settings > Resources > WSL Integration y lanza el contenedor:

docker run -it --rm \
  -v $(pwd):/nilmtk \
  --gpus all \
  nilmtk-env \
  bash

# Verifica NILMTK dentro del contenedor
python3 -c "import nilmtk; print(nilmtk.__version__)"  # 0.4.3

Si algo se tuerce, varios remedios rápidos: “WSL integration not available” se soluciona con wsl –update y reiniciando LxssManager; si la GPU no aparece, actualiza drivers NVIDIA y el soporte CUDA para WSL; ante falta de espacio, compacta el VHDX tras hacer un wsl --shutdown.

Instalación y distribución empresarial de Ubuntu en WSL

Canonical impulsa un formato basado en tar y, más recientemente, en archivos .wsl para distribución e instalación directa. Esto permite a TI autoalojar imágenes, controlar qué versiones están disponibles y personalizarlas antes del despliegue, con compatibilidad nativa con cloud-init para una configuración avanzada.

  Cómo crear factores de restauración diaria del sistema en Dwelling home windows 10

Para instalar Ubuntu con el enfoque más reciente, usa la versión actualizada de WSL (2.4.8 o superior) y ejecuta:

wsl --install ubuntu
# O bien, si tienes el archivo
wsl --install --from-file ubuntu.tar.wsl
# Incluso puedes hacer doble clic sobre el .wsl

Este modelo simplifica mucho la vida en empresas, al permitir instalaciones sin pasar por la Store, con control centralizado y cumplimiento de políticas de seguridad.

Distribuciones Linux personalizadas para WSL

Si necesitas ir un paso más allá, puedes crear tu propia distro como app UWP para que se comporte como las distribuciones oficiales de la Store. Es una vía potente para organizaciones que requieren empaquetar herramientas internas, políticas de seguridad y flujos de inicio específicos.

Para el día a día, el combo tar + wsl –import + wsl.conf ya cubre la gran mayoría de escenarios. Pero si tu organización exige distribución por canal corporativo, la opción UWP está ahí.

Consejos operativos y soporte experto

Al planificar despliegues y backups de WSL, organiza las rutas, etiqueta versiones y documenta el procedimiento de restauración. Evita copiar tars en el mismo disco del sistema, programa exportaciones periódicas y limpia artefactos para ahorrar espacio.

Si buscas ir más fino con pipelines, seguridad o nubes públicas, empresas especializadas como Q2BSTUDIO pueden ayudarte a orquestar respaldos, automatizar tareas, diseñar pipelines reproducibles y proteger tus datos ante incidentes y ransomware, además de asesorarte en servicios cloud (AWS, Azure) para almacenar y versionar imágenes con políticas de ciclo de vida y cifrado.

Con todo lo anterior, queda clara la jugada: wsl –import te da la llave para traer cualquier Linux a Windows, wsl.conf y cloud-init redondean la automatización, el dúo WSL 2 + Docker ofrece entornos consistentes y veloces, y las funciones de exportación/importación te blindan ante imprevistos; si además te actualizas a la última versión de WSL, podrás sumar aplicaciones de GUI integradas y nuevas formas de distribución como los .wsl, logrando un entorno profesional ágil, replicable y fácil de mantener.

uso de MDT (Microsoft Deployment Toolkit)-8
Artículo relacionado:
Guía total del uso de MDT: despliegue, automatización y administración avanzada de sistemas Windows