BE copy to non booting mirrored drive


I’ll answer a couple of things before rebooting.

Standard underline cursor, it does nothing but blink. It is normal on my system to show up immediately after the BIOS “welcome” screen goes away and it hands control over to try to load the boot sector.

I’ve never ever run the bootcode param, nor actually manually run gpart in this O/S. (It’s not that old that I don’t know what I’ve done since I got it. : )


Have you tried:

$ sudo gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
$ sudo gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1

on both disks ?


No, I’ve only executed the above gpart commands (before yours).

Why do it to a working drive?


So neither
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
from earlier nor this one
gpart bootcode -b /boot/pmbr ada0
did not make any difference either.

Just executed
gpart bootcode -p /boot/gptzfsboot -i 1 ada0

(Will edit this reply, rather than just adding more comments.)


Thanks. If the gpart bootcode commands don’t work then I’m fresh out of ideas other than “take the drive out of the mirror and reinstall to it with a live CD/ISO”.


Sometimes FreeBSD enumerates the drives in different order than you can see in BIOS.
I think that your drive attached to the first SATA port in your BIOS is ada1 and not ada0 and you have issued the gpart command on your working drive.

If you give the gpart command on both drives you are sure to write the bootcode on your non working drive regardless the FreeBSD enumeration.

If you think the gpart bootcode can destroy your working disk install TrueOS on a USB stick and try on it.


@maurizio makes a good point about BIOS and ada0/ada1. I completely spaced on that. One way to check is I think the camcontrol command (may not be the exact spelling, going by memory) You can query drives and get things like serial numbers, which you can then match up to the physical devices.

man glabel
I usually do this and label the disk with the serial number makes it easier to track.


The way I verified which is not by /dev but by the drive brand and model and capacity as it shows up in ZFS and gpart.

My 0 drive is a Samsung and has 232GB and drive 1 is a OCZ with 223GB. The pool is 218GB.

I should be able to pull out drive 0 and still boot but not with drive 1. I’ll test as soon as I can reboot.

Thank you for all your help, much appreciated! I can often figure things out once I find a good starting point but BSD and ZFS are new to me sometimes requiring more hand holding. :slight_smile:


I removed each drive to test boot on each and as soon as I reinserted ada0, which was the one not booting, it booted just fine.

Again thank you to all! :slight_smile:


Thanks for keeping us up to date on it.

Don’t worry about that; we’ve all been there, just “spreading the love”.