Восстановить 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» в конце второй команды. Он примет изменения за вас; Перезагрузитесь, и все будет хорошо.