1. Качаем live-cd
Скачать вот отсюда образ: http://mfsbsd.vx.sk/ и нарезать болванку. Ценность данной болванки в том, что в нее уже заинтегрирована 14-я версия ZFS
, то есть она будет актульна минимум до появления 8.1-что угодно.iso.
2. Загрузиться с live-cd
Пароль рута — mfsroot.
3. Смотрим какие диски находятся в пуле
Командой gpart show
посмотреть, какие диски в пуле, где находится загрузчик. например у меня было:
gpart show
=> 34 625140268 ad10 GPT (298G)
34 128 1 freebsd-boot (64K)
162 8388608 2 freebsd-swap (4.0G)
8388770 616751532 3 freebsd-zfs (294G)
=> 34 976773101 ad12 GPT (466G)
34 16777216 1 freebsd-swap (8.0G)
16777250 959995885 2 freebsd-zfs (458G)
То есть в массиве два диска, ad10 и ad12, ебучий загрузчик не той версии живет в первом разделе ad10.
4. Монтируем всё
zpool import имя_пула
Примечание: команда zpool import
без параметров выдаст все несмонтированные пулы и их имена.
zfs mount -a
Будет смонтировано содержимое пула, причем в корень, с перекрытием имеющейся ФС. «Всем похуй» ©
5. Апгрейдим загрузчик
gpart bootcode -p /boot/gptzfsboot -i 1 adN
где adN — правильное название устройства из пункта 3, где находится загрузчик. В моем случае это было ad10. С удовольствием наблюдал истерику, когда какой-то неведомый дятел тупо копировал строку из примера (где было ad4), не смотря на то, что вывод его gpart
-а давал ad0.
6. Завершаем спасательную операцию.
cd /
umount -a
reboot