I have a Nexenta system that's been running fine for the last few years. Recently one of the system disks failed --- the syspool was part of a ZFS mirror.

If I configure the system's BIOS to boot from the working drive, the text GRUB ("GRUB" followed by a space) appears on the screen, and the system doesn't respond.

If I boot from a Nexenta installation CDROM and try to set the root as follows:

root (hd1,0,a)

...I get the following message from GRUB:

Filesystem type unknown, partition type 0xbf

However if I were to issue the above root command on a fresh Nexenta installation, I would see:

Filesystem type zfs, partition type 0xbf

How can I get GRUB to recognize the surviving root mirror disk, so I can boot from it? And, in the future, what procedure should I follow when a device in a root mirror fails, so that I can properly recover (and boot from any drive in the mirror pool)?

  • Seems that dd:ing start of the disk (1GB), making new partition table, new label and creating new pool doesn't make the ZFS visible to grub. There must be some fishy bits somewhere on the end of the disk? – jkj May 17 '11 at 11:35

This sounds a lot like a similar issue I experienced on my Nexenta installation. I had recently done a ZFS version upgrade across both the syspool and my other pools, but failed to re-install grub afterwards. The result was that the next power outage left grub unable to read the ZFS filesystem and the system was unbootable.

There was a discussion over at Nexenta which helped me out.

Basically, I fixed it by booting from a recent Nexenta LiveCD which supported the latest ZFS version, and then running

installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/[disk id here]

on my syspool disk. On rebooting, the new grub could now read the disk and boot the system.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.