On one of my systems, one that has an easily removable hard drive, I'd swap out the un-bootable drive for a new one and reinstall FreeBSD / GhostBSD. Then attache a USB adapter cable to the un-bootable drive, plug it into the system and browse / copy the files etc.
On other systems, i.e. one with a corrupt /etc/rc.conf I'd regain system access (restored a non-bootable drive) that had a problem with the /etc/rc.conf, by:
Boot into the Live USB/CD and login as root. username is root and the password is blank
Run:
zpool import
to get the name of the zpool, which will probably be zroot
Create a mountpoint for the zpool:
mkdir -p /tmp/zroot
Import the zpool:
zpool import -fR /tmp/zroot zroot
Create a mountpoint for zfs /:
mkdir /tmp/root
Mount /:
mount -t zfs zroot/ROOT/default /tmp/root
The RootOnZFS directories will now be under /tmp/root so that you can make changes as needed, I.e. for the /etc/rc.conf directory I needed to edit, it will be /tmp/root/etc/rc.conf
When done, save the changes by exporting the edited zpool:
zpool export zroot
and reboot back to your normal system's hard drive.
HTH,
Byron