ZFS unsupported ZFS version 5000 (should be 28) can't find /boot/zfsloader

I have two zpools:
  1. a raidz2 zpool named zroot, made up by 6 HDDs, root is on this zpool
  2. a mirrored zpool named ssd, made up by 2 SSDs

I upgraded the zpool version yesterday. Today when I reboot the server, the server can't boot. Below is the error message:
Code:
ZFS: unsupported ZFS version 5000 (should be 2Cool
can't find /boot/zfsloader

default: ssd::/boot/kernel/kernel
boot:
can't find /boot/zfsloader
I tried to use FB9.1 current FreeBSD 9.1-CURRENT to boot the server to fix this issue, but if I run [cmd=]fixit#zpool import -f zroot[/cmd] the / on the LiveCD will be replaced by / on zroot, and there is no device in /dev.

If I run [cmd=]fixit#zpool set mountpoint /mnt zroot[/cmd] then I'll get an error message:
Code:
can't open zroot: dataset doesn't exist
I have no idea about how to fix it, can anyone help?
 
Try updating the bootcode in the freebsd-boot partition.
 
SirDice said:
Try updating the bootcode in the freebsd-boot partition.

The problem is that if I don't import the zroot. I can't update the bootcode in freebsd-boot partition. But if I import zroot, the /dev on zroot will overwrite /dev on livecd, and I can't find any HDD.
 
meteor8488 said:
If I run
Code:
fixit#zpool set mountpoint /mnt zroot
then I'll get an error message:
Code:
can't open zroot: dataset doesn't exist

Do you have /mnt in your filesystem when booting from LiveCD?

As far as I can remember, I have to mess with creating mountpoint somewhere, something like
# mkdir /tmp/mnt
# zpool import -o altroot=/tmp/mnt zroot


Even better may be
-R root Sets the "cachefile" property to "none" and the "altroot" property to "root".

Consult zpool(8) about it.
 
You don't need to import it to update the bootcode.

# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
(That's assuming the disk is ada0 and the freebsd-boot partition is the first)
 
SirDice said:
You don't need to import it to update the bootcode.

# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
(That's assuming the disk is ada0 and the freebsd-boot partition is the first)

Hi, the /boot is on zfs, so I think /boot/gptzfsboot is in zroot. If I don't import it, I'm not sure that I can use part to recreate the bootcode.

Anyway, let me try first.
 
SirDice is right, you don't need read access to anything on disk in this case, in fact you only want to "infect" couple of sectors on HDD with something available on live medium (CD/USB).
 
Back
Top