Duplicate 'boot-pool'

Hi all,
I’ve recently just upgraded from Electric Eel to Fangtooth, following which my NAS stopped booting.
Upon checking I saw the following error in initramfs:

Command: /sbin/zpool import -N -f 'boot-pool'
Message: cannot import 'boot-pool': more than one matching pool
import by numeric ID instead
Error: 1

Failed to import pool 'boot-pool'.
Manually import the pool and exit.

Following this I checked the boot-pool disks like this:

blkid | grep boot-pool

This outputted the info for two partitions /dev/sdb4 and /dev/sdb3, sorry I won’t transcribe it, it was very long and full of UUIDs, but there is a photo.

Next I ran zpool import -N and it showed me all the available pools, of which there were two boot-pools. One of them was showing as unavailable, so I imported the other one by ID.
zpool import -N -f <available boot pool id>

And finally exit, my NAS then booted as normal.

Problem I have now is I’m not sure how to permanently resolve this duplicate broken boot-pool for the next boot, hoping I can do it from the running system because it’s much easier than sitting in my attic with a keyboard and monitor on initramfs.

Any help appreciated <3

1 Like

Resolved this like below:

Once the system was booted, SSHing onto it, then running:

sudo zpool import

would list any remaining non-imported ZFS pools.
For me, the only remaining pool was the broken boot-pool, which included it’s disk identifier of sdb4:

$ sudo zpool import -N
  pool: boot-pool
    id: 7949480711897841586
 state: UNAVAIL
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-5E
config:

	boot-pool   UNAVAIL  insufficient replicas
	  sdb4      UNAVAIL  invalid label

You can also confirm your imported pools by running:

sudo zpool status

This outputted (among other imported disks) my currently running boot-pool:

  pool: boot-pool
 state: ONLINE
status: Some supported and requested features are not enabled on the pool.
	The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
	the pool may no longer be accessible by software that does not support
	the features. See zpool-features(7) for details.
  scan: scrub repaired 0B in 00:01:27 with 0 errors on Thu May  8 03:46:28 2025
config:

	NAME        STATE     READ WRITE CKSUM
	boot-pool   ONLINE       0     0     0
	  sdb3      ONLINE       0     0     0

Having confirmed the broken boot-pool is sdb4 I ran the following to un-label it:

sudo zpool labelclear -f /dev/sdb4

It’s worth noting, if you try to run zpool without sudo it will tell you -bash: zpool: command not found instead of the traditional permissions error Linux normally gives, which threw me off initially.

Anyway, after rebooting, TrueNAS booted without issue!

4 Likes

Thank you for sharing. I was having the same issue.

1 Like

i created an account just to thank you, you saved my day !

1 Like

Glad that you guys have found a fix, but I’m baffled about why it would happen?

If anyone can reproduce… we’d appreciate a bug report to prevent any future occurrences.

Which versions of electric eel and fangtooth were involved?

Were the data pools unimpacted?

Was the original boot pool a single drive or a mirror?

I also created this account just to thank you @Baa !

I also wanted to mention that I am using a ssd for TrueNAS but I also created a partition on that ssd to store Apps (I know that it’s not recommended, but apps on that one are not critical) following the tutorial in the old TrueNAS forum
(As I cannot paste links, search for the Post “HOWTO: Split SSD with boot-pool to create partition for data (no USB install, easy config migration)”)

Before installing, select shell. Edit file `vi /usr/sbin/truenas-install` and change
line

```sh
    # Create boot pool
    if ! sgdisk -n3:0:0 -t3:BF01 /dev/${_disk}; then
        return 1
    fi

to

    # Create boot pool
    if ! sgdisk -n3:0:+32GiB -t3:BF01 /dev/${_disk}; then
        return 1
    fi

Then execute truenas-install.


Maybe that was the reason of my issue with the duplicated pool with boot-pool label.