Восстановить initramfs после перемещения загрузочного раздела

Я недавно переместил свою систему Linux с HDD на SSD. Мне удалось загрузить его, и все было в порядке, пока я не удалил старые загрузочные разделы с жесткого диска. Теперь, когда я пытаюсь загрузиться, я попадаю в оболочку dracut с /dev/disk/by-uuid/xxxxx doesn't exist ошибка, где xxxxx UUID моего бывшего /boot или же /boot/efi раздел (я не совсем уверен, какой это, так как у меня их больше нет).

Теперь мне нужно перегенерировать initramfs, чтобы использовать новые разделы, которые я клонировал с жесткого диска на ssd. Я пробовал бегать dracut --regenerate-all --force из спасательного ботинка, но это не помогло.

Я использую Fedora 21, так как я могу это сделать? Или есть проблема в чем-то еще?

5 ответов

У вас еще есть установочный носитель F21?

Если это так, сделайте следующее:

загрузиться для "устранения неполадок" > Спасти систему Fedora

Разрешить для монтажа (обычно не R / O)

chroot /mnt/sysimage 

dracut --regenerate-all -f && grub2-mkconfig -o /boot/grub2/grub.cfg

Если вы уверены, что это не выдает ошибки на dracut --regenerate-all предыдущий сделал (то есть ls /boot показывает их, но не загружается) просто пересоберите grub второй командой.

~ Отправлено из коробки Fedora 22

Я исправил все в записях fstab, grub и все такое, но все равно во время загрузки я переходил в режим обслуживания с ошибками тайм-аута dracut:

      dracut --regenerate-all -f && grub2-mkconfig -o /boot/grub2/grub.cfg

Это решило мою проблему. (Выделенный сервер CentOS7)

Попробуйте следующие инструкции ссылки:

https://ask.fedoraproject.org/en/question/57752/how-do-i-regenerate-my-initramfs/

сначала просмотрите логические тома:

vgscan vgchange -ay

Найти разделы подкачки:

blkid | grep swap

и пример:

/ dev / mapper / fedora-swap: UUID = "28d71a2c-1b34-4115-aa19-083373ec4d8a" TYPE = "swap"

Отредактируйте /etc/fstab для использования раздела подкачки, вот пример: nano /etc/fstab

/ dev / mapper / fedora-swap swap swap default по умолчанию 0 0

Чтобы восстановить все initramfs, выполните:

Дракула - регенерация всего - сила

После удаления раздела подкачки с моего компьютера с CentOS7 у меня возникли ошибки тайм-аута dracut. Регенерация initramfs и grub2 не помогла. Чтобы решить эту проблему, мне пришлось вручную изменить файл конфигурации grub2:

      ## Look for swap in grub configuration file 

cat /boot/grub2/grub.cfg | grep swap

## Delete old swap
remove rd.lvm.lv=<lvm_name>/swap string from grub

Практически каждый раз, когда это происходит, я загружаюсь с предыдущим ядром, а в терминале Gnome снова удаляю и устанавливаю ядро ​​и связанные пакеты. Обратите внимание, что строка версии будет другой, поэтому просто посмотрите текущую установленную версию ядра с помощью метода, предпочитаемого вашим Distors. Ниже приведен пример для Fedora 37, когда это произошло со мной в последний раз.

      $ sudo dnf remove *6.2.9-200*
$ sudo dnf upgrade kernel --refresh

Несколько примечаний:

  • Это не обязательно, но чтобы быть уверенным, что метаданные и кэш менеджеров пакетов обновлены, добавляется переключатель «--refresh». Не стесняйтесь удалить его, если приведенные ниже условия не применяются.
  • Если вы полностью уверены, что знаете, что новое ядро ​​не было внезапно загружено или вы не используете нестабильный/тестовый репозиторий, добавьте «-y» в конце второй команды. Он примет изменения за вас; Перезагрузитесь, и все будет хорошо.
Другие вопросы по тегам