2 boot choices on full install (rogue bootblocks)?

  • 2.0-BETA4 (amd64)
    built on Mon Aug 16 02:32:13 UTC 2010
    full install from CD

    I installed on an SSD and wanted my partitions aligned to its 512 KB erase block, so I booted from an Ubuntu live USB stick and used fdisk from there to set up a single FreeBSD partition (type a5).

    I then booted from the pfsense installer CD and skipped the format and partition steps, as per the installer warning. Things didn't go quite right and I think I ended up running the installer twice, or at least the bootblocks, without reformatting or repartitioning, because I didn't want to lose the custom geometry I had set up.

    So pfsense installed fine, but now when it boots I see the choice on the console to boot "F1 PFSense" or "F2 PFSense". F2 was the default choice and it booted fine. But if I hit F1, it fails to mount the root filesystem, trying to mount /dev/ads10s1a instead of the correct /dev/ads14s1b (due to me changing from IDE mode to AHCI mode in the BIOS before the final install attempt).

    So I enter ufs:/dev/ads14s1b at the mountroot> prompt and it boots fine, with a reminder to make a correction to /etc/fstab. But when I go into /etc/fstab after bootup completes, the correct device is listed for the root filesystem.

    Is my F1 bootblock pointing to the wrong root device, and the fstab reminder just shown by default whenever the root filesystem fails to mount? If so, how can I get rid of this invalid legacy bootblock, and ideally not get prompted at all at boot time?


  • Maybe that will help you: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/boot.html

    Looks like a wrong entry at your boot-manager.

  • Thank you for this link.

    I'm looking at section 12.3.1 and I'm pretty sure I want to use the command "fdisk -B -b /boot/boot0 device", but I'm not sure what to use as the device, and I really don't want to bork it and have to repartition and reinstall everything.

    In my case / is mounted at ad14s2a. ad14s1 is a small dummy partition used to align all the partition boundaries on the disk. If I'm interpreting the instructions from your document correctly then I need to use ad14 as my device in the command. Can somebody please confirm this for me, because I'm not feeling confident enough to just try it.


    edit: Ok, I'm reading the man page for fdisk and I see that I'm providing the device name that is to be modified, so obviously ad14 would be correct. Now I'm wondering if I want to use boot0 or boot0sio, but that's something I can experiment on with less risk.

  • the fdisk-command wants the device, not the slice. So your device is ad14. The slice is s1. Your fdisk should look like this:

    "fdisk -B -b /boot/boot0 /dev/ad14"

  • Thank you.

Log in to reply