boot0cfg question

I had FreeBSD installed on a disk and decided to turn the disk into a multi OS disk by adding partitions on which I installed two versions of Arch Linux which used Grub as a boot loader. Unfortunately I couldn't figure out how to successfully load FreeBSD from Grub (I did follow various guides...) In the end I decided I wanted to have access to FreeBSD on this disk so booted FreeBSD from another disk and ran boot0cfg which I thought would provide a way of booting one of the Arch Linux installations.

What happens now is that the boot menu is displayed like so:-
F1  FreeBSD
F2  Linux
F3  ?
F4  Linux

Boot: F1

F1 works OK, but the others just display '###' characters.

Is there any way to restore GRUB?

I can't mount the Linux partitions using mount -t ext2fs /dev/ada0s2 /mnt
because 'R/W mount is denied due to unsupported optional features'
Just check that your Linux partitions are primary partitions and install GRUB directly on them (i.e. grub-install /dev/sda2) from your Arch systems. Oh, you may need to force the installation of GRUB to proceed. Then you'll be able to boot from boot0.
The problem is I can't boot either of the Arch systems, only FreeBSD is bootable after running boot0cfg. I'm sure I created primary partitions for the Arch installations, but can't confirm this from gpart. Neither can I confirm whether they are bootable, although I know I was able to boot from them when GRUB was enabled.
Booting GRUB2 from USB allows loading both my Arch Linux installations as well as FreeBSD. I'm not sure if I can re-install GRUB from the USB stick, or if I need to boot Arch Linux and reinstall Grub.

I do have GRUB installed on a FreeBSD disk with numerous Linux distributions which are bootable from ISO. I'd like to include the option of booting from a GRUB ISO but have not been able to figure out how to configure that... Any suggestions?