Существует переменная окружения, которая исправляет это.Проблема из моего прочтения заключается в том, что Grub нравится идея «поддержки» zfs, но не идея исправления проблем, связанных с zfs в Grub.В частности, его плохая обработка ошибок с точки зрения поиска вещей.
Например, инструменты grub, поставляемые с Ubuntu 16.x, не смогут найти / загрузиться на томе ZFS без какого-либо вмешательства пользователя, а затем с радостью запишут некоторые (но не все) необходимые файлы, выводимые из любой утилитывы используете папку / boot, которую он только что сказал, что не может найти.
В любом случае ...
http://list.zfsonlinux.org/pipermail/zfs-discuss/2016-June/025765.html
To check if you have commit (should see full paths):
ZPOOL_VDEV_NAME_PATH=1 zpool status
If so you can do:
ZPOOL_VDEV_NAME_PATH=1 grub-whatevs ....
Вы можете передать переменную в качестве входных данных для необходимых утилит grub или указать ее как переменную оболочки в корневом каталоге .bashrc или .profile или что-то подобное с помощью ...
export ZPOOL_VDEV_NAME_PATH=YES
Переменная заставляет zpoolсообщать полные пути, а не относительные / dev пути к дискам, которые могут работать или не работать должным образом с zfs.Утилиты Grub проверяют состояние zpool для пулов zfs, чтобы найти диски, которые их содержат.Поэтому изменение вывода статуса zpool исправляет grub.
Я согласен, что пользователям не придется сталкиваться с этим, со ссылкой на комментарий феммулятора.Реальное решение?То же, что и любой другой проект с открытым исходным кодом, который томится в ошибках, которые никогда не исправляются.Разветвите это, исправьте это самостоятельно и прекратите использовать исходный проект / библиотеку / что угодно.Способ FOSS "уволить" кого-то, другими словами;).Очевидно, Debian знал об этой конкретной ошибке семь лет назад.
Это было единственное, что мешало мне успешно перенести загрузочный пул FreeBSD RaidZ в Ubuntu.Если кто-то еще попытается сделать что-то подобное, процесс будет относительно простым, если вы достаточно хорошо понимаете ZFS, чтобы игнорировать части документации из Grub и zfsonlinux, которые являются неправильными (например, установка для корневого набора данных не автоматического монтирования, а ...«Как именно он будет загружаться?».Несколько иронично, что Ubuntu в своих документах указывает на то, что загрузчик - самая небезопасная «особенность» Linux, что, как я полагаю, является правдой, но в этом случае это также явный недостаток Ubuntu.Мне потребовался бы час или два, чтобы перенести пул BSD ZFS на другую ОС, если бы я мог сделать это с помощью утилит Sun / Solaris, которые действительно работают.Проблема в том, что мне пришлось использовать утилиты Linux (например, Grub), которые в какой-то момент не работают (или почти не работают), так что в этом и заключаются другие два дня, которые я потратил на их исправление.Ubuntu будет намного лучше, если для загрузки не понадобится grub ...