Ubuntu 20.04 в ZFS не может обновить ядро, отсутствует пул

Симптомы

  • Ядро не обновляется. То есть после перезапуска система все еще работает на старом ядре.
  • Изменения в конфигурации GRUB не применяются.
  • Установка нового ядра не применяется.
  • bpool отсутствует из-за отсутствия импорта.

Проблема

Это вызвано изменением имени дискового устройства с момента установки до начала появления симптомов. Например, если диск, на котором была установлена ​​Ubuntu, был / dev / sda во время установки, то был добавлен другой диск, первый диск может стать / dev / sdb. Там версия установщика Ubiquity, поставляемая с установочным носителем Ubuntu 20.04, использует имена / dev / sdX при создании пулов ZFS. Это означает, что rpool и bpool создаются с помощью vdevs / dev / sdaX . Как только они изменяются после установки, пул без полномочий root не может быть импортирован, поскольку исходный идентификатор vdev больше не содержит пул ZFS. Это приводит к загрузке Ubuntu без файловой системы / boot, используемой GRUB. Вместо этого файлы, записанные в / boot во время обновления ядра или установки, попадают в / boot в rpool , который не используется GRUB во время загрузки. Et Viola.

0
задан 12 June 2020 в 17:37

1 ответ

Решение

После установки

Я не уверен, что это можно надежно исправить после установки. Я обнаружил одну вещь: если я импортирую bpool с нужным vdev, то он обнаруживается и монтируется при последующих перезагрузках, так как он запоминается в кеше пула. Кажется, возможно изменить имя ZFS vdev при импорте, но я не уверен, как это можно сделать точно, поэтому я не предлагаю это. Кто-то с лучшим ZFS-fu может предложить правильную последовательность команд, возможно, включающую zpool import ... -d ... .

Во время установки

В ответственном коде уже есть исправление блок в Ubiquity, но он не является частью текущей версии, поставляемой с первым носителем 20.04. Однако вы можете получить его после загрузки в среду рабочего стола Live.

  1. Загрузка с установочного носителя Ubuntu.
  2. Выберите . Попробуйте Ubuntu без установки .
  3. Захватите исправленное zsys-setup :
sudo wget -O /usr/share/ubiquity/zsys-setup https://git.launchpad.net/ubiquity/plain/scripts/zsys-setup?h=20.10.2
  1. Запустите установщик Ubuntu и установите на ZFS (экспериментальной) как обычно.
0
ответ дан 19 June 2020 в 21:32

Другие вопросы по тегам:

Похожие вопросы: