Как вручную восстановить ядро аварийного режима из работающего/установленного ядра в Fedora в 2022 году?

Вопрос или проблема

В Интернете я нашел только это:

/etc/kernel/postinst.d/51-dracut-rescue-postinst.sh $(uname -r) /boot/vmlinuz-$(uname -r)

но это не работает в Fedora 36 и скоро выходящей версии 37, потому что этот файл отсутствует, фактически вся директория /etc/kernel/postinst.d/ пустая.

Я также нашел

dnf reinstall kernel-core

но это работает только для актуального ядра. Я использую ядро, которое больше недоступно в репозиториях. Кроме того, это не самый лучший вариант, потому что это приведет к переустановке буквально сотен файлов безо всякой необходимости.

grep -r rescue /etc ничего не находит.

# grep -r rescue /usr/bin
grep: /usr/bin/tdbdump: бинарный файл соответствует
grep: /usr/bin/ctags: бинарный файл соответствует
grep: /usr/bin/systemctl: бинарный файл соответствует
grep: /usr/bin/systemd-analyze: бинарный файл соответствует
grep: /usr/bin/efisecdb: бинарный файл соответствует
grep: /usr/bin/dpkg: бинарный файл соответствует
grep: /usr/bin/grub2-mkrescue: бинарный файл соответствует

/usr/share содержит множество совпадений, но я не знаю, как с этим работать.

Пакеты kernel-core и kernel-modules имеют RPM-скрипты, которые что-то делают, но ничего специфического для “rescue”. Похоже, что это все выполняется как единая операция, но я не хочу регенерировать initrd.

Ядра для восстановления используют универсальный initramfs, поэтому вам нужно его регенерировать. (Сравните размеры ваших initramfs, чтобы увидеть влияние этого.)

Чтобы создать новое ядро для восстановления, используя текущее ядро, на Fedora 36, выполните

sudo rm /boot/*rescue*
sudo /usr/lib/kernel/install.d/51-dracut-rescue.install add "$(uname -r)" /boot "/boot/vmlinuz-$(uname -r)"

Ответ Стивена Китта не помог мне в Oracle Linux 8.

Чтобы воссоздать образ восстановления, я использовал:

sudo rm -f /boot/*-rescue-*
sudo kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz

Ответ или решение

Как вручную сгенерировать восстановительный ядро в Fedora в 2022 году

Вопрос о том, как вручную создать образ восстановительного ядра в Fedora, нередко возникает у пользователей, особенно после обновлений системы или попыток загрузки в режиме восстановления. Этот процесс может возникать из-за отсутствия необходимых скриптов или компонентов, которые отвечают за автоматическую генерацию восстановительных ядер. Рассмотрим шаги, необходимые для этой задачи на примере Fedora 36 и 37, основываясь на существующем опыте пользователей и предоставленных данных.

1. Понимание восстановительного ядра

Восстановительное ядро (rescue kernel) представляет собой облегчённую версию ядра, которая используется для решения проблем при загрузке системы. В отличие от стандартного ядра, восстановительное ядро часто имеет более минимальный набор необходимых драйверов и функций, что позволяет системе загрузиться в случае повреждения основной конфигурации.

2. Подготовка к процессу

Перед тем как приступить к созданию восстановительного ядра, важно убедиться, что у вас есть доступ к терминалу под правами суперпользователя. Убедитесь, что ваша система работает под текущей версией установленного ядра, выполнив команду:

uname -r

Это позволит вам убедиться, что вы собираетесь создать восстановительное ядро именно для используемого ядра.

3. Удаление старых образов восстановительного ядра

Перед созданием нового восстановительного ядра рекомендуется удалить старые версии, чтобы избежать путаницы. Выполните следующую команду:

sudo rm /boot/*rescue*

Это удалит все существующие файлы, связанные с восстановительными ядрами, из каталога /boot.

4. Генерация нового восстановительного ядра

В Fedora 36 и 37 процесс генерации восстановительного ядра можно осуществить с использованием следующих команд. Выполните:

sudo /usr/lib/kernel/install.d/51-dracut-rescue.install add "$(uname -r)" /boot "/boot/vmlinuz-$(uname -r)"

Эта команда использует скрипт для установки и создания нужного образа восстановительного ядра на основе текущего загруженного ядра.

5. Проверка результата

После выполнения вышеуказанных команд стоит убедиться, что новое восстановительное ядро было успешно создано. Для этого проверьте наличие файла восстановительного ядра в директории /boot. Вы можете использовать команду:

ls /boot/*rescue*

Эта команда позволит вам увидеть все файлы, относящиеся к восстановительным ядрам.

Заключение

Создание восстановительного ядра в Fedora — это необходимый процесс для поддержания устойчивости и доступности системы в случае возникновения проблем при загрузке. Понимание и умение вручную генерировать восстановительное ядро является важным навыком для администраторов и продвинутых пользователей. Имейте в виду, что информация и команды могут изменяться с каждой новой версией дистрибутива, поэтому всегда стоит проверять актуальность команд для конкретной версии Fedora.

Оцените материал
Добавить комментарий

Капча загружается...