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.
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!
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.