Acho a variedade de ferramentas de "gravação" de ISO para USB um pouco desconcertante. Cada um parece ter sua própria abordagem ligeiramente diferente para o problema, que varia de uma cópia direta no estilo DD (que limpa qualquer conteúdo existente e resulta em mídia USB formatada somente para leitura em iso9660) até a montagem do ISO em loopback, copiando o arquivos e fazendo a instalação do bootloader como uma etapa pós-cópia.
Até agora joguei com Etcher, UNetbootin, Rufus e Startup Disk Creator do Ubuntu. Estou realmente procurando uma solução que seja consistente e multiplataforma, e tem sido particularmente frustrante que tanto o Etcher quanto o UNetbootin pareçam ser capazes de criar mídia inicializável em suas versões para Mac, mas não no Linux (seja em uma VM ou em um nativo). máquina) - tipo, eles parecerão ter sucesso, mas o resultado final simplesmente não inicializará.
De qualquer forma, para reforçar um pouco a discussão, este é meu método atual para criar o arquivo ISO supostamente inicializável:
- Baixe e descompacte o syslinux mais recente em
https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.xz
- Baixe netboot
linux
einitrd.gz
dehttp://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/
- Correr
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 ...
- Correr
syslinux/bios/utils/isohybrid.pl path/to/result.iso
Algumas notas:
- O arquivo ISO resultante (inclusive sem a
isohybrid.pl
etapa final) pode ser montado e inicializado como um CD-ROM no Parallels. - Se eu gravá-lo em USB físico com o Etcher, o resultado será montável como iso9660, mas não parece ser inicializável em meus sistemas AMD64 alvo (sim, no modo "legado").
- Sem a
isohybrid.pl
etapa, o Etcher se recusou a tentar gravar em USB físico. - Se eu gravá-lo em USB físico com o UNetbootin no Mac OS, obtenho 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 de forma consistente é o Rufus, mas é apenas para Windows e é muito inconveniente para muitos dos meus usuários.
Tenho esperança de que alguns outros tenham se deparado com esses problemas e tenham ideias sobre o que está errado ou um método viável - se acabar tendo que ser uma linha de comando ou uma solução somente para Linux, isso é aceitável para mim, embora obviamente não é o ideal. Também estou aberto a mudar do Syslinux para o Grub ou alguma outra solução com suporte EFI, se isso facilitar as coisas.
Com ferramentas como o Etcher disponíveis, parece certo que existe uma maneira de criar um ISO inicializável que pode ser convenientemente gravado em qualquer um dos sistemas operacionais suportados.
Responder1
Hmm, ok, parece que o ISO que teve o isohybrid executado conforme descrito acima é na verdade inicializável em várias máquinas físicas - então estou considerando neste ponto que este é um problema com o Parallels e algumas configurações peculiares de BIOS.
Mais algumas informações da documentação do Etcher e de uma lista de discussão do Ubuntu:
https://github.com/resin-io/etcher/blob/master/docs/USER-DOCUMENTATION.md#flashing-ubuntu-isos
https://lists.ubuntu.com/archives/ubuntu-devel/2011-June/033495.html