Instalación de Windows 10 y 11 desde memoria USB

Publicado el 02 diciembre 2023 por Alejsanc @cdrninformatica

En lugar de grabar un DVD podemos utilizar una memoria USB para instalar Windows 10 y 11 si nuestro ordenador permite arrancar desde dispositivos USB. Desde la web de Microsoft podemos descargar las imágenes ISO del sistema operativo. En esa misma web están disponibles un asistente de instalación y un programa para creación de medios de instalación pero yo en este artículo voy a explicar como preparar una memoria USB desde Linux.

Lo primero que debemos hacer es descargar la imagen ISO para nuestro idioma y arquitectura de ordenador (32 o 64 bits). Si nuestro ordenador no es muy viejo seguramente utilice el sistema UEFI y solo necesitemos copiar el contenido de la imagen ISO a una partición de la memoria USB con el sistema de archivos NTFS. Si aun usando UEFI el ordenador no es capaz de arrancar desde particiones NTFS tendremos que formatear la partición con el sistema de archivos FAT y dividir el archivo install.wim en varios archivos de menos de 4 GiB, el tamaño máximo que permite FAT.

Si queremos tener una memoria USB que nos permita instalar Windows en cualquier ordenador con UEFI lo mejor es utilizar el sistema de archivos FAT. Podemos crear la partición con fdisk y formatearla con mkfs.vfat. Hay que tener mucho cuidado de no equivocarnos de dispositivo y partición ya que podemos eliminar información importante. En este artículo utilizo como ejemplo el dispositivo /dev/sdx y su partición /dev/sdx1

# fdisk /dev/sdx

Disco /dev/sdx: 7,33 GiB, 7866580992 bytes, 15364416 sectores
Modelo de disco: DataTraveler 3.0
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x6bad2786

Disposit.  Inicio Comienzo    Final Sectores Tamaño Id Tipo
/dev/sdx1             2048 15364415 15362368   7,3G  b W95 FAT32

# mkfs.vfat /dev/sdx1 

mkfs.fat 4.2 (2021-01-31)

El contenido de la imagen ISO lo podemos copiar a un directorio temporal. En este directorio podemos dividir el archivo install.wim en dos archivos .swm con el programa wimsplit, que en Debian se encuentra dentro del paquete wimtools. Una vez dividido lo podemos eliminar. Por último hay que copiar el contenido del directorio temporal a la partición de la memoria USB.

# mkdir windows-11
# mount Win11_23H2_Spanish_x64.iso /mnt
# cp -r /mnt/* windows-11
# umount /mnt

# apt-get install wimtools

# cd windows-11/sources
# wimsplit install.wim install.swm 3000

Splitting WIM: 5578 MiB of 5578 MiB (100%) written, part 2 of 2
Finished splitting "install.wim"

# rm install.wim
# ls -lh install*

-rw-r--r-- 1 root root 2,6G nov 29 16:04 install2.swm
-rw-r--r-- 1 root root 3,0G nov 29 15:54 install.swm

# cd ../..
# mount /dev/sdx1 /mnt
# cp -r windows-11/* /mnt
# umount /mnt

Si nuestro ordenador aun usando UEFI no es capaz de arrancar la instalación de Windows o usa el sistema BIOS, podemos utilizar el programa WoeUSB. Este programa se encarga de crear la partición en la memoria USB, dividir el archivo install.wim y copiar los archivos. Por último instala el gestor de arranque GRUB para poder arrancar la instalación en cualquier ordenador. El ordenador ejecuta GRUB y este ejecuta la instalación de Windows.

# wget https://github.com/WoeUSB/WoeUSB/releases/download/v5.2.4/woeusb-5.2.4.bash

# chmod +x woeusb-5.2.4.bash

# ./woeusb-5.2.4.bash --device Win11_23H2_Spanish_x64.iso /dev/sdx

WoeUSB v5.2.4
==============================
Info: Mounting source filesystem...
Info: Wiping all existing partition table and filesystem signatures in /dev/sdx...
/dev/sdx: se han borrado 2 bytes en el desplazamiento 0x000001fe (dos): 55 aa
/dev/sdx: llamando a ioctl() para volver a leer la tabla de particiones: Conseguido
Info: Ensure that /dev/sdx is really wiped...
Info: Creating new partition table on /dev/sdx...
Info: Creating target partition...
Info: Making system realize that partition table has changed...
Info: Wait 3 seconds for block device nodes to populate...
mkfs.fat 4.2 (2021-01-31)
mkfs.fat: Warning: lowercase labels might not work properly on some systems
Info: Mounting target filesystem...
Info: Copying files from source media...
Splitting WIM: 5578 MiB of 5578 MiB (100%) written, part 2 of 26%
Finished splitting "./sources/install.wim"
Info: Installing GRUB bootloader for legacy PC booting support...
Instalando para plataforma i386-pc.
Instalación terminada. No se notificó ningún error.
Info: Installing custom GRUB config for legacy PC booting...
Info: Done :)
Info: The target device should be bootable now
Info: Unmounting and removing "/tmp/woeusb-source-20231130-154919-Thursday.1pOMv7"...
Info: Unmounting and removing "/tmp/woeusb-target-20231130-154919-Thursday.1LPiYs"...
Info: You may now safely detach the target device

Con estas instrucciones o el programa WoeUSB deberíamos poder instalar Windows 10 y 11 en cualquier ordenador capaz de arrancar desde memorias USB. WoeUSB también nos puede servir para instalar versiones anteriores de Windows.