Загрузочный загрузчик FreeBSD не загружается из правильного пула

Я установил FreeBSD 10.1 в систему с двумя пулами ZFS и загружается с другого жесткого диска, который содержит только загрузчик. Основные пулы дисков подключаются к портам SATA на плате PCI-E, а загрузчик пытается загрузиться с неправильного пула (второй пул, который подключается непосредственно к портам SATA на материнской плате).

Ошибка следующая:

Can't find /boot/zfsloader FreeBSD/x86 boot Default: storage:/boot/kernel/kernel boot: / Cant't find /boot/kernel/kernel FreeBSD/x86 boot Default: storage:/boot/kernel/kernel boot: 

Я попытался установить vfs.root.mountfrom = "zfs: zpool" или "zfs: zpool / ROOT" в /mnt/boot/loader.conf, но он не работает.

Если я отсоединяю диски второго пула, система загружается правильно.

Большое спасибо.

попробуйте cp -r /boot из правильного пула в неправильный пул. убедитесь, что свойство bootfs в неправильном пуле пуст или настроено на исправление пула.

Хорошо, я понял это сам.

ZFS Loader не позволяет установить корневой пул, но он пытается угадать правильный, объединив BIOS для приоритета загрузки.

Чтобы загрузить его из пула, я установил в качестве первого загрузочного устройства в BIOS накопитель, содержащий загрузчик, а второй и третий – диски, принадлежащие корневому зеркальному пулу.

Загрузите с дистрибутивного дистрибутива компакт-диск в режим «live CD». Войдите в систему как root.

Теперь, скажем, ваш загрузочный пул называется «tank»;

импортировать пул без его установки –

 zpool import -N -f tank 

Затем установите свойство bootfs соответствующим образом. Общее имя загрузочной файловой системы – «tank / ROOT / default»;

 zpool set bootfs=tank/ROOT/default tank 

это для загрузочного пула. Повторите для не загружаемого пула, на этот раз установив для свойства bootfs значение "". Там все готово.