isohybrid
pode nem sempre funcionar. Por exemplo, eu tinha um .iso com FreeDOS e o isohybrid não foi capaz de encontrar lá alguns ficheiros importantes (não sei se deveriam ter sido colocados lá pelo syslinux, que eu também utilizei, ou qualquer outra coisa). Proponho várias alternativas aqui.
1) Instalar aí outro carregador de arranque, como o GRUB. É explicado aqui :
“Assuma que a primeira partição da sua pen USB é FAT32 e a sua partição é /dev/sdy1” (eu tinha grub2
no meu Fedora Core, por isso mudei um pouco os comandos):
# mkdir -p /mnt/usb ; mount /dev/sdy1 /mnt/usb
# grub2-install --target=i386-pc --recheck --debug --boot-directory=/mnt/usb/boot /dev/sdy
# grub2-mkconfig -o /mnt/usb/boot/grub2/grub.cfg
# optional, backup config files of grub.cfg
# mkdir -p /mnt/usb/etc/default
# cp /etc/default/grub /mnt/usb/etc/default
# cp -a /etc/grub.d /mnt/usb/etc
# sync; umount /mnt/usb
2) O wiki FreeDOS oferece um método composto com GRUB e syslinux aqui (embora não compreenda como lançaram grub>
- não consegui arrancar do usb até essa fase).
3) Aqui é um post que pode ser útil - diz ‘Enquanto os ficheiros command.com, kernel.sys, syslinux.cfg, ldlinux.sys e fat32lba.bss estiverem na raiz da unidade e o MBR e o sector de arranque não forem reescritos, a unidade deve permanecer inicializável’.
4) Aqui explica-se como gerar um ficheiro .iso inicializável com um bootloader syslinux. Eles nem sequer usam isohybrid. Infelizmente, isso não me ajudou (talvez por causa do syslinux).
5*) Utilizar um programa windows via wine
. Tentei o rufus, mas isso não funcionou, não conseguiu encontrar o dispositivo.
Aviso-o que infelizmente não consegui resolver este problema, o meu dispositivo não era inicializável, mas espero que possa ser útil para outras pessoas (também para aqueles que querem instalar não um linux no usb). A imagem do usb gerada pelo chtaube, embora tenha funcionado para mim, por isso penso que estes métodos estão correctos.
UPD: O 3º método funciona realmente (com uma correcção para um ficheiro de instalação personalizado).
UPD2: (ligações fixas). O problema com isohybrid
foi provavelmente porque as versões de isolinux.bin no iso e o meu sistema eram diferentes. Recompilou o iso usando genisoimage
como sugerido aqui :
genisoimage -l -r -J -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o fd11new.iso fd11new
Também houve alguns problemas, foram resolvidos pelo método aqui antes da genisoimagem:
cp /boot/extlinux/*.c32 fd11new/isolinux/
extlinux --install /boot/isolinux
== fim UPD2 ==