В сабже — мутная ошибка в бздёвой ZFS
, проявляется, когда свободное место на томе подходит к концу (вообще это крайне нежелательно для ZFS
), данные не теряются, но бутблок херится и всё отлично работает до ребута.
Вот по этой ссылке можно прочитать много интересного по теме, но на английском языке...
Что делать, если такое произошло?
Идем вот сюда, качаем образ, режем болванку, загружаемся с неё (если что — по ссылке крайне полезный в хозяйстве проджект mfsBSD
, образ FreeBSD
, загружающийся в лайвсиди в диски в памяти и работающий с них, на борту имеется скрипт для установки FreeBSD
корнем на ZFS
).
Импортируем пул, с которым стало плохо:
zpool import POOLNAME
Отмонтируем, всё что смонитировалось при импорте пула:
zfs unmount -a
Указываем куда смонтировать корень пула:
zfs set mountpoint=/SOMEMOUNTPOINT POOLNAME
Монтируем:
zfs mount POOLNAME
Сносим /boot
и записываем имеющийся под рукой (из mfsBSD
):
rm -rf /SOMEMOUNTPOINT/boot
cp -r /boot /SOMEMOUNTPOINT/
Кстати, на данном этапе полезно сохранить /boot/loader.conf
и /boot/modules
, чтобы закинуть их потом в новый /boot
.
Отмонтируем и указываем снова монтировать пулу в корень
zfs unmount -a
zfs set mountpoint=legacy POOLNAME
Для лишней надёжности можно перезаписать бут-код в GEOM
:
gpart bootcode -p /boot/gptzfsboot -i 1 adN
Ну и...
reboot