TL;DR
Tenía una USB con Ubuntu y quería reutilizarla para hacer pruebas con un Windows 11 ligero. En vez de bajar una imagen dudosa de internet, partí de una ISO oficial de Windows 11 y la aligeré yo mismo con DISM + PowerShell: fuera bloatware, Copilot, telemetría y el arranque de OneDrive, más el bypass de TPM/SecureBoot/RAM para que instale en cualquier equipo viejo o máquina virtual. El resultado: una USB booteable UEFI en ~25 minutos, con un solo script que hace todo de corrido.
El punto de partida
- Una USB
SanDiskde 16 GB que traía Ubuntu (se iba a formatear por completo). - Una ISO oficial de Windows 11 25H2 en el disco.
- Ganas de un Windows limpio y liviano para probar cosas, no el Windows 11 completo lleno de apps que nunca uso.
Aclaración honesta desde el principio: “ligero” aquí significa menos apps, menos telemetría y menos consumo de RAM en reposo — no un Windows minúsculo de 2 GB. La mayor parte del peso de un install.wim es el almacén de componentes de Windows, que se comparte internamente y casi no baja aunque quites aplicaciones.
La receta (estilo Tiny11)
El proceso es el que popularizó la comunidad con Tiny11, pero automatizado en un script propio para no depender de herramientas interactivas ni de ADK:
- Montar la ISO y copiar su contenido a una carpeta de trabajo.
- Elegir la edición (aquí, Windows 11 Pro) dentro del
install.wim. - Montar la imagen con DISM y quitarle las apps provisionadas (AppX) que no aportan.
- Ajustes de registro offline: apagar telemetría, Copilot, el icono de Chat/Teams y el arranque de OneDrive.
- Bypass de requisitos (TPM 2.0, Secure Boot, RAM, CPU) tanto en la imagen instalada como en el instalador (
boot.wim). - Limpieza de componentes (
/ResetBase) y export de solo esa edición con compresión máxima. - Formatear la USB en GPT + FAT32 (arranque UEFI) y copiar los archivos.
- Como el
install.wimpesa más de 4 GB y FAT32 no admite archivos tan grandes, se divide en.swm(Windows lo lee sin problema).
Lo que quita el script (bloatware)
Se eliminan como paquetes provisionados, entre otros:
| Categoría | Ejemplos |
|---|---|
| Juegos / Xbox | Xbox TCUI, Game Overlay, Identity Provider, Speech-to-Text, GamingApp, Solitaire |
| Bing / noticias | Bing News, Bing Weather, Bing Search |
| Productividad de relleno | Office Hub, Outlook (nuevo), Power Automate, To Do, Sticky Notes, Clipchamp |
| Comunicación | Teams (Chat), Your Phone |
| Sistema opcional | Copilot, Cortana, Widgets (WebExperience), Feedback Hub, Quick Assist, Dev Home, Sound Recorder |
Se conserva lo necesario para que sea usable: Tienda, Explorador, Notepad, Calculadora, Terminal, Fotos y los runtimes base.
El detalle importante: FAT32 y el .swm
Para que una USB arranque por UEFI sin líos, lo más compatible es FAT32. Pero FAT32 tiene un límite: ningún archivo puede pasar de 4 GB. Como nuestro install.wim quedó en ~6 GB, la solución es dividirlo:
Dism /Split-Image /ImageFile:"install.wim" /SWMFile:"D:\sources\install.swm" /FileSize:3800
Eso genera install.swm + install2.swm (cada uno < 4 GB) y el instalador de Windows los reensambla solo. Sin ADK, sin oscdimg, sin reconstruir una ISO: escribimos los archivos directo a la USB.
El bypass de requisitos
Para que instale en hardware “no compatible” o en una VM de pruebas, se cargan las claves LabConfig en el registro offline, tanto en la imagen como en el boot.wim del instalador:
reg load "HKLM\zSYS" "$Mount\Windows\System32\config\SYSTEM"
reg add "HKLM\zSYS\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f
reg add "HKLM\zSYS\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f
reg add "HKLM\zSYS\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f
reg add "HKLM\zSYS\Setup\LabConfig" /v BypassStorageCheck /t REG_DWORD /d 1 /f
reg add "HKLM\zSYS\Setup\LabConfig" /v BypassCPUCheck /t REG_DWORD /d 1 /f
reg unload "HKLM\zSYS"
Buenas prácticas que me ahorraron dolores
- Todo requiere Administrador. El script se auto-eleva (UAC) para no fallar a mitad de camino.
- Idempotencia +
try/finally. Antes de empezar, descarta montajes viejos de DISM y desmonta la ISO; al final, pase lo que pase, siempre desmonta y descarga los hives del registro. Así una corrida a medias no deja la imagen “colgada”. - Detección segura de la USB. El script busca la USB por modelo + tamaño + tipo removible; si no encuentra exactamente una, se detiene sin tocar ningún disco (nada de formatear el disco equivocado).
- Verifica el efecto, no solo el log. Al terminar, comprobé en la propia USB que existieran
bootmgr,efi\boot\bootx64.efi,sources\boot.wim, los.swmysetup.exe. Un log que dice “listo” no es prueba de que arranque.
Cómo se usa la USB
- Conéctala en el equipo de pruebas.
- Entra al menú de arranque (F12/F8/Esc según la marca) y elige UEFI: (tu USB).
- En la instalación, elige “No tengo clave de producto” y la edición Pro.
- Gracias al bypass, no pedirá TPM ni Secure Boot aunque el equipo sea viejo.
Conclusión
Con una ISO oficial y un solo script de PowerShell se arma un Windows 11 aligerado y una USB booteable reproducible, sin herramientas externas ni imágenes de terceros de origen dudoso. Lo mejor: al ser un script idempotente, repetir el proceso con otra edición u otra ISO es cambiar dos variables y volver a correrlo.
¿El siguiente paso? Meterle un
autounattend.xmlpara saltarse también las preguntas de la instalación (región, cuenta, red) y dejar un Windows de pruebas desatendido de punta a punta.