I think you may have to boot to some other media (e.g. USB, use the memstick installer in "Live CD"/Shell mode), and correct the problem there. You can import the pool and while doing so, tell it to either not mount the filesystems, or to use an alternate root (or both). Then simply change the mountpoint, and boot back to your original install.
Also, this would be better posted in the 'storage' section.
The easiest is to import with thebut I don't know how to import the zpool without auto-mounting
-R
option set. -R root
Sets the "cachefile" property to "none" and the "altroot"
property to "root"
altroot
Alternate root directory. If set, this directory is prepended to any
mount points within the pool. This can be used when examining an
unknown pool where the mount points cannot be trusted, or in an
alternate boot environment, where the typical paths are not valid.
altroot is not a persistent property. It is valid only while the
system is up. Setting altroot defaults to using cachefile=none,
though this may be overridden using an explicit setting.