Backup and restore root pool (rpool)

There are similiar topics here, but I guess its only about data, not the system installation.

My SSD recently broke down and its not even recognized anymore by anything (not as external or internal drive). I have a backup of course, one is on a external USB drive. When I installed the system, ubuntu created a bpool and rpool. I backupped the rpool. From what I know, it contains the system installation and all the data.

I have now created a zpool with a HDD and a cache. Now I want to copy the old backup to the newly created system. How can I perform this?

I have read this:
syncoid -r oldpool newpool/oldpool

But will my system then start normally as it is now in “newpool/oldpool”, so in a child dataset instead of the root dataset? Do I just have to make sure its mounted to the root?

I tried just importing the external HDD with the backup of rpool. I can import, but when I try to boot from it, I get many mount errors and the systems does not start.

I don’t have much experience with Ubuntu but have performed similar operations on Debian using the bpool/rpool configuration and the trick (for me) to restore the backup with same pool and dataset layout. IIRC, it was then necessary to use the rescue instructions ( to recreate the initramfs and install grub similarly to the initial installation.

This is assuming that you have a copy of bpool also. The system won’t boot without that (unless you’ve converted to ZFSBootMenu, but that requires a copy of the boot pool to set up.)

It may be possible to configure the host to run with an alternate dataset layout and pool name, but that would take knowledge beyond mine to configure and might result in ongoing issues because updates may make assumptions about pool layout.

A simpler solution might be to start with a fresh install on the new drive and restore your personal files from backup.

(Good job, having backups to restore from. Just be careful not to swap source and destination pool names when restoring. DAMHIK.)