Consegui resolver este problema, mas ainda me pergunto se existe uma solução melhor e mais fácil.
De qualquer forma, se você tiver blocos ruins no início do dispositivo e não conseguir gravar uma imagem ao vivo, faça duas partições:
Em seguida, você faz o download de uma imagem e verifica o deslocamento da primeira partição:
# parted /home/morfik/Desktop/debian-live-8.1.0-amd64-mate-desktop.iso
(parted) unit s
(parted) print
Model: (file)
Disk /home/morfik/Desktop/debian-live-8.1.0-amd64-mate-desktop.iso: 2015232s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 64s 2015231s 2015168s primary boot, hidden
Portanto, são 64 setores, o que significa 64 * 512 = 32768 bytes. Agora podemos montar esta imagem:
# mount -o loop,offset=32768 /home/morfik/Desktop/debian-live-8.1.0-amd64-mate-desktop.iso /mnt
mount: /dev/loop0 is write-protected, mounting read-only
# ls -al /mnt
total 593K
dr-xr-xr-x 1 root root 2.0K 2015-06-06 16:09:57 ./
drwxr-xr-x 24 root root 4.0K 2015-06-08 20:54:43 ../
dr-xr-xr-x 1 root root 2.0K 2015-06-06 16:08:34 .disk/
dr-xr-xr-x 1 root root 2.0K 2015-06-06 15:59:10 dists/
dr-xr-xr-x 1 root root 2.0K 2015-06-06 16:09:41 install/
dr-xr-xr-x 1 root root 2.0K 2015-06-06 16:08:29 isolinux/
dr-xr-xr-x 1 root root 2.0K 2015-06-06 16:08:29 live/
dr-xr-xr-x 1 root root 2.0K 2015-06-06 15:59:00 pool/
dr-xr-xr-x 1 root root 2.0K 2015-06-06 16:09:37 tools/
-r--r--r-- 1 root root 133 2015-06-06 16:09:44 autorun.inf
lr-xr-xr-x 1 root root 1 2015-06-06 15:59:10 debian -> ./
-r--r--r-- 1 root root 177K 2015-06-06 16:09:44 g2ldr
-r--r--r-- 1 root root 8.0K 2015-06-06 16:09:44 g2ldr.mbr
-r--r--r-- 1 root root 28K 2015-06-06 16:09:57 md5sum.txt
-r--r--r-- 1 root root 360K 2015-06-06 16:09:44 setup.exe
-r--r--r-- 1 root root 228 2015-06-06 16:09:44 win32-loader.ini
Temos acesso aos arquivos para que possamos copiá-los para a segunda partição do prendrive:
# cp -a /mnt/* /media/morfik/good
O comando a seguir codificará a segunda partição no MBR para inicializar a partir dela:
printf '\x2' | cat /usr/lib/SYSLINUX/altmbr.bin - | dd bs=440 count=1 iflag=fullblock conv=notrunc of=/dev/sdb
Eu estou usando o sistema de arquivos ext4 na segunda partição, então eu tenho que usar o extlinux, mas a imagem tem o isolinux. Eu não tenho que remover essa pasta, eu posso mudar o nome dela:
# mv isolinux extlinux
A mesma coisa que tenho a fazer com o arquivo de configuração dentro dessa pasta:
# mv isolinux.cfg extlinux.conf
Não tenho certeza se essa etapa é necessária, mas sempre copio todos os arquivos de qualquer maneira:
# cp /usr/lib/syslinux/modules/bios/* /media/morfik/good/extlinux/
A última coisa é instalar o VBR do extlinux na segunda partição:
# extlinux -i /media/morfik/good/extlinux/
/media/morfik/good/extlinux/ is device /dev/sdb2
E isso é muito bonito. Eu testei a imagem, ele inicializa e o sistema ao vivo funciona bem. Esta solução deve funcionar para todos os tipos de imagens ao vivo.