Cannot recover OS hard drive from a set of snapshots

I have installed Solaris 11 Express on my computer and set up a script to make daily snapshots of all filesystems and send them to a backup disc.

Now I'm trying to replace the system disc using a set of captured snapshots. I have found an article on that topic on the internet and have been experimenting with the recomended procedure for a while.

Here is a list of exactly the steps I take (c8d0 is the identifier of the new hard disc):

  1. I boot from the USB Install image downloaded from Oracle
  2. I type
    text fdisk -B /dev/rdsk/c8d0p0
    to relabel the new disc to a Solaris2 partition
  3. I import the backup disc:
    text zpool import -f backup
  4. I create the root pool:
    text zpool create -f -o failmode=continue -R /a -m legacy rpool c8d0p0
  5. I install the grub and the MBR:
    text installgrub -fm /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c8d0s0
  6. I import the rpool, rpool/ROOT, rpool/ROOT/solaris, rpool/export and rpool/export/home filesystems this way:
    text zfs send backup/rpool@[timestamp] | zfs receive �F rpool
  7. I set the boot property for the root partition:
    text zpool set bootfs=rpool/ROOT/solaris rpool
  8. I create the dump and swap fs:
    text zfs create -V 2G rpool/dump\n zfs create -V 2G -b 4k rpool/swap
  9. Finally I reboot the system:
    text init 6

But then, when the pc reboots, the boot process stops on this message:

Verifying DMI Pool Data ..................
GRUB _

What am I doing wrong?
Thanks for your answers, Dusan

Did you check your GRUB configuration file, i.e. menu.lst, is correct?

Thanks for your reply. I did check the /boot/grub/menu.lst file now.

It appears to be the same on the new hard drive as on the old one. In both of them there are only two lines:

default 0
timeout 10

All other lines are empty or commented out.

It also appears that even the menu.lst on the usb install image looks the same. Even though there are several options in the GRUB menu when booted from the USB stick.

Is this correct?

And please if there is a better way to restore the OS hard drive from a backup (preferably zfs snapshots), let me now.

Thanks Dusan

I'd check the restored filesystem with fsck.
perhaps you could use grub from USB to boot the disk.

btw, you can't fail with dd..

There is no fsck for ZFS... There is no need for it.

According to the ZFS troubleshooting guide, that should be:

zfs send backup/rpool@timestamp | zfs receive -Fd rpool

Solaris 11 Express matches build 107 or later, being build 151a.

Thanks for your answer jlliagre.

I thought the other way (zfs send backup/rpool@timestamp | zfs receive -Fd rpool) was to be used when you created a single recursive snapshot (in step 5, ZFS troubleshooting guide), which I did not. I backup each filesystem manualy.

Do you think this might cause the problems?
Thanks Dusan