Isohybrid: haciendo bootable una ISO en un pendrive

No me hable de las mil caras de la Srta. de Las Heras. ¡Solucionelo ya!
--- Fecha: lun 13 ene 2025 18:18:50 CET ---

Seguramente te ha pasado que te bajas una ISO de una distro de Linux, la clonas al pendrive y cuando arrancas te aparece un mensaje de error del tipo «Missing operating system» o «Bad sector» o simplemente se queda el equipo congelado en la pantalla ISOLINUX.

En el mejor de los casos te devuelve al Grub. Entonces te entran los sudores de la muerte, vuelves a repetir todo el proceso (descarga incluida por si la ISO está corrupta) con el mismo resultado. Entonces buscas por la red y encuentras consejos que dicen que uses UNetbootin, Balena etcher o similares. Lo haces y si, parece que funciona, pero muchas veces ni así. ¿Qué ocurre?

Existen dos tipos de imágenes ISO, las preparadas para dispositivos ópticos (CD, DVD) que utilizan el sistema de arranque «El torito», y las imágenes ISO preparadas para BIOS, como pendrives o SDs que utilizan el sistema de arranque MBR (estas últimas también arrancan desde CDs o DVDs, de ahí que se llamen híbridas).

Las primeras contienen ceros en los 512 primeros bytes de la ISO, en cambio en las segundas contienen sectores de arranque correspondientes a un MBR y tabla de particiones con una partición que termina al final de la imagen híbrida. Si usas la primera para clonarla a un USB, posiblemente no funcionará en muchos equipos.

Para evitar esto hay que convertir la imagen ISO en híbrida y para ello existe el comando "isohybrid" contenido en el paquete isolinux, syslinux-utils, syslinux o similar, dependiendo distribución que uses. Este script crea la información adicional necesaria para poder arrancar en modo híbrido e imprime la imagen a un múltiplo par de 1 MB:

isohybrid -v imagen.iso

El modificador -v es para que muestre información del proceso.

Si tienes UEFI has de poner el modificador -u.

isohybrid -v -u imagen.iso
NOTA: Esto a veces provoca un error de cilindros, del estilo «Warning: more than 1024 cylinders: 1279». Se puede obviar sin problemas.

Llegados a este punto, a mi me gusta clonar la iso sector a sector, así que uso el potente comando "dd". Le paso el comando sync para asegurarme de que no retiro el pendrive sin haber acabado de copiar, y eject para su extracción (esto último no es necesario):

sudo dd if=imagen.iso of=/dev/sdc bs=1M status=progress && sync
sudo eject /dev/sdc
NOTA: Cambia el identificador /dev/sdc a tu dispositivo.
No especifiques partición, es decir, sdc1 por ejemplo.

Una vez clonada, cuando arranques desde el pendrive el sistema interpreta el MBR y la tabla de particiones como si de un disco duro se tratase y podrás disfrutar de la distro.

Para las usuarias de Windows, se pueden clonar las ISOs con USBWriter, un escritor de imágenes USB gratuito alojado en Source Forge.

Muy bien, pero ¿por qué no funcionó el «poderoso» UNetbootin?

Algunas utilidades de escritura USB alteran las etiquetas de las particiones dentro de la imagen ISO y el arranque falla, por eso no se recomienda su uso. Los programas que alteran las ISOs son:

NOTA: Este artículo lo escribí en El Binario en 2016, puede que esos programas ya funcionen mejor, o puede que la lista se haya agrandado con otros programas (balena etcher no me funcionó bien tampoco).

=> Artículo original

Tags #isolinux #hybrid

=> ◄ Listado de noticias | ◄◄ Inicio

Proxy Information
Original URL
gemini://moribundo.flounder.online/blog/055_isohybrid.gmi
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
739.839825 milliseconds
Gemini-to-HTML Time
0.890628 milliseconds

This content has been proxied by September (ba2dc).