Eu acho a variedade de ferramentas de "queima" ISO-para-USB um pouco desconcertante. Cada um parece ter sua própria abordagem ligeiramente diferente do problema, que varia de uma cópia direta no estilo DD (que limpa qualquer conteúdo existente e resulta em mídia USB somente leitura iso9660) para montar o ISO no loopback, copiando o arquivos e fazer a instalação do bootloader como uma etapa de pós-cópia.
Até agora, toquei com o Etcher, o UNetbootin, o Rufus e o Criador de discos de inicialização do Ubuntu. Estou realmente procurando uma solução consistente e de plataforma cruzada, e tem sido particularmente frustrante que tanto o Etcher quanto o UNetbootin pareçam capazes de criar mídia inicializável em suas versões para Mac, mas não do Linux (seja em uma VM ou em um nativo). máquina) - como, eles parecem ter sucesso, mas o resultado final simplesmente não inicializa.
De qualquer forma, para apoiar um pouco a discussão, este é o meu método atual para criar o arquivo ISO supostamente inicializável:
- Faça o download e descompacte o mais recente syslinux de
https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.xz
- Faça o download do netboot
linux
e initrd.gz
de http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/
- Executar
mkisofs -D -V "My App" -r -quiet -o path/to/result.iso -J -l -b syslinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table file1.txt file2.txt file3.txt ...
- Executar
syslinux/bios/utils/isohybrid.pl path/to/result.iso
Algumas notas:
- O arquivo ISO resultante (incluindo sem a etapa
isohybrid.pl
final) pode ser montado e inicializado como um CD-ROM no Parallels.
- Se eu gravar em USB físico com o Etcher, o resultado é montável como iso9660, mas não parece ser inicializável em meus sistemas AMD64 de destino (sim, no modo "herdado").
- Sem a etapa
isohybrid.pl
, Etcher recusou-se a tentar gravar em USB físico.
- Se eu gravar em USB físico com UNetbootin no Mac OS, recebo um resultado inicializável, mas se eu fizer isso com a mesma versão do UNetbootin no Linux, o resultado não será inicializável.
- A única ferramenta que funciona consistentemente é o Rufus, mas é apenas para Windows e inconveniente para muitos dos meus usuários.
Espero que alguns outros por aí tenham se deparado com esses problemas e tenham idéias para o que está dando errado ou para um método viável - se ele tiver que ser uma linha de comando ou uma solução somente Linux, isso é aceitável para eu, embora obviamente não seja ideal. Eu também estou aberto para passar do Syslinux para o Grub ou alguma outra solução com suporte a EFI, se isso facilitar as coisas.
Com ferramentas como o Etcher por aí, parece certo que existe uma maneira de criar um ISO inicializável que pode ser convenientemente gravado a partir de qualquer um dos sistemas operacionais suportados.