Восстановление сбойного GRUB с корневой файловой системой Ubuntu 19.10 ZFS

После ряда казусов с Secure Boot (попытка подписать модули ядра VMWare Player), GRUB перестал показывать записи, соответствующие Ubuntu 19.10, установленной как ZFS root (опции установщика по умолчанию 19.10), загружаясь в System Setup по умолчанию.

Я смог загрузиться в свою систему, сделав следующее (по памяти; некоторые детали ниже могут быть неточными).

В оболочке GRUB я ввел

set root=(hd0,gptXXX)
linux /BOOT/ubuntu_YYY/@/vmlinuz root=ZFS=rpool/ROOT/ubuntu_YYY boot=zfs
initrd /BOOT/ubuntu_YYY/@/initrd.img
boot

Чтобы найти раздел gptXXX, я запустил ls, а затем ls (hd0,gptXXX)/, пока не нашел загрузочные файлы. ubuntu_YYY - это уникальный идентификатор системы Ubuntu. Я нашел его, ls-ища вокруг (hd0,gptXXX)/BOOT.

При ls-обходе из GRUB я получил несколько ошибок, касающихся алгоритма сжатия 115 не поддерживается.

У меня не установлена никакая другая операционная система, и я пока отключил Secure Boot.

Теперь я думаю, какие шаги предпринять, чтобы восстановить корректную работу загрузчика GRUB. Если я не смогу исправить это, я могу просто закончить установкой свежей копии 20.04 LTS. Но, по крайней мере, вышесказанное может помочь любому, кто окажется в такой же ситуации.

Edit: У меня compression=lz4 установлено на rpool (но нет на bpool), это может быть связано.

0
задан 10 April 2020 в 01:43

1 ответ

Поскольку приведенные выше команды заставляют его загружаться, первый и простой способ — вставить их в ваш /boot/grub/grub.cfg (стандартное расположение) следующим образом:

Menuentry 'my Ubuntu installation' {
insmod zfs
insmod part_gpt
insmod (whatever)
 ... here go your commands (without "boot")...
}

Скорее всего , если редактирования grub.cfg достаточно, то многие из них даже не нужны insmod. В любом случае, не помешает взглянуть на уже существующие записи (созданные при установке системы).

ИЛИ вы можете полностью переустановить grub с помощью команды grub-install, предполагая, что ваш (hd0) — это /dev/sda: grub-install /dev/sda.

0
ответ дан 24 October 2020 в 19:32

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

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