Editar: como alguém observou em este tópico , o problema é que o processo de inicialização em algum momento quer montar o sistema de arquivos raiz do dispositivo de loopback de uma forma que não é possível com a funcionalidade de loopback do GRUB. Note que o PC-BSD foi renomeado para TrueOS e agora eles oferecem imagens USB.
Eu não estou muito familiarizado com o BSD e não consigo encontrar nada sobre o BSD no artigo da unidade USB Multiboot do Arch , no entanto, eles têm 3 maneiras em seu artigo do GRUB , pelo menos um deve funcionar quando adaptado para loop dispositivos montados:
Chainloading the embedded boot record
menuentry 'FreeBSD' {
insmod ufs2
set root='hd0,gpt4,bsd1'
chainloader +1
}
Isto parece ser simples e carregar o módulo de sistema de arquivos apropriado parece ser uma boa idéia, mas lembre-se que em mídia ótica existe ISO 9660 ou UDF e não há partições que eu saiba, mas El Torito.
Running the traditional BSD 2nd stage loader
menuentry 'FreeBSD' {
insmod ufs2
set root='(hd0,4)'
kfreebsd /boot/loader
}
Isso é quase o que você fez apenas como uma configuração estática sem chamar a pesquisa.
Loading the kernel directly
menuentry 'FreeBSD' {
insmod ufs2
set root='hd0,gpt4,bsd1'
## or 'hd0,msdos4,bsd1', if using an IBM-PC (MS-DOS) style partition table
kfreebsd /boot/kernel/kernel
kfreebsd_loadenv /boot/device.hints
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s4a
set kFreeBSD.vfs.root.mountfrom.options=rw
}
Isso parece surpreendentemente complexo. Eu apenas comecei a baixar o PC-BSD 10.3 iso, espero encontrar algum tempo com ele para descobrir como fazer isso funcionar via UEFI ou legado nos próximos dias.