Cómo flashear una ISO de Windows personalizada desde Mac sin Rufus (y que arranque en PCs viejos)

Si alguna vez has intentado instalar una versión lite o personalizada de Windows desde un Mac, sabes de lo que hablo. Balena Etcher parece la solución obvia. La abres, seleccionas la ISO, das a Flash y… pantalla negra. O peor: «Reboot and select proper boot device».

Este artículo documenta exactamente lo que pasó, por qué falló cada intento, y el proceso que finalmente funcionó.


El escenario

Mac como máquina de trabajo. ISO: MiniOS10 X-1809, una versión ultraligera de Windows 10 de ~2.1GB. PC de destino: equipo viejo con BIOS en modo UEFI + Legacy, Secure Boot desactivado. La ISO venía con un Rufus.exe incluido dentro — señal clara de que el método de escritura importa.


Por qué Balena Etcher falla con ISOs modificadas

Balena Etcher escribe en modo ISO: interpreta la estructura de particiones del archivo y la recrea en el USB. Para ISOs oficiales de Windows o Linux bien formadas, esto funciona. Para ISOs personalizadas o lite, no. El proceso rompe el bootloader o altera la tabla de particiones que el creador diseñó con cuidado.

¿Por qué viene Rufus.exe dentro de la ISO? No es un capricho. El creador lo incluyó como aviso: «usa esto para flashear, y úsalo en modo DD». Rufus en modo DD escribe byte a byte sin interpretar nada — copia la ISO tal cual al USB.

En Mac no tenemos Rufus. Pero tenemos dd. Y también tenemos algo mejor para PCs con BIOS legacy.


Intento 1: dd directo — «Operation not permitted»

El equivalente de Rufus en modo DD es este comando:

bash · dd
sudo dd if='/ruta/a/la.iso' of=/dev/rdiskX bs=4m

Pero si la ISO está en ~/Downloads, macOS la bloquea:

output · error
dd: /Users/usuario/Downloads/archivo.iso: Operation not permitted

Causa: desde macOS Monterey, la carpeta Downloads tiene restricciones de cuarentena. Terminal no puede leer esos archivos aunque seas root. Solución: mover la ISO a ~/Documents o ~/Desktop.

Alternativa correcta

Ajustes del Sistema → Privacidad y Seguridad → Acceso total al disco → activar Terminal. Pero mover el archivo es más rápido.

Nota sobre status=progress en macOS

Si copias el comando de internet con status=progress, zsh te dará error porque es variable reservada y además es opción exclusiva de GNU coreutils — el dd de macOS (BSD) no lo soporta. Para ver el progreso:

bash · en otra pestaña
sudo kill -INFO $(pgrep dd)
# o pulsa Ctrl+T directamente donde corre dd

Intento 2: dd funciona, pero el PC sigue sin arrancar


La escritura termina sin errores. Conectamos el USB al PC viejo, seleccionamos arranque desde USB y… «Reboot and select proper boot device». Tras el fallo el USB desaparece de las opciones de boot — hay que resetear la BIOS quitando la pila para que vuelva a aparecer.

Qué está pasando

dd copia la ISO bit a bit pero no configura el MBR con el código de arranque que necesita un PC con BIOS legacy. La ISO puede estar diseñada principalmente para UEFI y el MBR no tiene el boot code específico que espera un BIOS antiguo.

La solución no es dd. Es montar la ISO, formatear el USB correctamente y copiar los archivos manualmente.


El proceso que funcionó

1. Identificar el USB

bash
diskutil list
# Busca la entrada marcada como (external, physical)

2. Formatear el USB como MBR + FAT32

bash
diskutil eraseDisk FAT32 MINIOS MBR /dev/disk4
Por qué MBR y no GPT

Los PCs con BIOS legacy necesitan MBR para reconocer el dispositivo de arranque. FAT32 porque es el sistema de archivos que entiende el bootloader de Windows.

3. Montar la ISO

bash
hdiutil attach '/Users/usuario/Documents/MiniOS.iso' -mountpoint /tmp/winiso

4. Copiar todos los archivos al USB

bash
rsync -avh --progress /tmp/winiso/ /Volumes/MINIOS/
# El / al final de /tmp/winiso/ es importante
# sources/install.esd es ~2GB — tarda varios minutos

5. Desmontar todo limpiamente

bash
hdiutil detach /tmp/winiso && diskutil eject /dev/disk4
Para PCs viejos

En el menú de arranque (F11 o F12) elige la entrada sin prefijo UEFI.


Resumen de comandos

bash · flujo completo
# 1. Ver discos
diskutil list

# 2. Formatear USB
diskutil eraseDisk FAT32 MINIOS MBR /dev/diskX

# 3. Montar ISO
hdiutil attach '/ruta/al/archivo.iso' -mountpoint /tmp/winiso

# 4. Copiar
rsync -avh --progress /tmp/winiso/ /Volumes/MINIOS/

# 5. Desmontar
hdiutil detach /tmp/winiso && diskutil eject /dev/diskX

Lo que aprendí

Balena Etcher no es universal — falla con ISOs que necesitan escritura modo DD o que tienen bootloaders personalizados.

dd solo no es suficiente para BIOS legacy — necesitas el esquema de partición correcto (MBR) además del contenido.

Downloads en macOS tiene cuarentena — si un comando da «Operation not permitted» sobre un archivo descargado, muévelo antes de tocar ajustes del sistema.

hdiutil + rsync es el enfoque limpio en Mac — sin instalar nada extra, sin Homebrew, sin VMs.

Probado en marzo de 2026 con macOS Sequoia y un PC con BIOS UEFI+Legacy.