Вопрос или проблема
Сначала у меня была установлена Garuda Linux, и я хотел перейти на RHEL. Сначала я разделил свой nvme пополам и установил Fedora, но позже переустановил и захотел попробовать Rocky. Я установил Rocky Linux 9 на другой раздел (с LVM, думаю, отдельное расположение для загрузки). Теперь я хотел полностью перейти на Rocky, поэтому загрузил образ Fedora Live и с помощью KDE Partition Manager удалил старый Linux btrfs раздел, переместил свои разделы Rocky влево и изменил размер LVM home. Как выглядели разделы nvme до этого:
|Garuda Boot| |Garuda| |RL Boot, думаю?| |Rocky LVM| |Без понятия|
Затем я все переставил на:
|RL boot?| |Rocky LVM| |не знаю|
Rocky LVM имеет, как я думаю, 2 так называемых тома: root и home. Я также изменил их размер. Теперь мой ПК не загружается. В BIOS я вижу только раздел Fedora, который, вероятно, остался от загрузки и отправляет меня в grub>
.
Затем в grub я выполнил
> ls
(Memdisk) (Proc) (Lvm/rl-root) (Lvm/rl-home) (Lvm/rl-swap) (Hd0) (Hd0,gpt6) (Hd0,gpt5) (Hd0,gpt4) (Hd0,gpt3)
//Наверное, это означает отдельную загрузочную часть?
> ls (lvm/rl-root)/boot
./ ../
>Ls (Hd0,gpt3)/
Ошибка: неизвестная файловая система
>Ls (Hd0,gpt4)/
Efi/ grub2/ loader/ vmlinuz...El9_4.x86_64 initramfs...el9_4 config-5... Symvers-5...
>set root (Hd0,gpt4)
>linux /vmlinuz-5.14.0-427.33.1.el9_4.x86_64 root=/dev/nvme0p4
>Initrd /initramfs-5.14.0-427.33.1.el9_4.x86_64.img
>boot
Затем я увидел появление пингвинов Linux, какой-то текст пролетел мимо, а затем я оказался в том, что я могу только предположить, является командой, которая в реальном времени отслеживает изменения ввода-вывода. Она просто сидит и сообщает мне, какие устройства USB меняются, без прогресса или реакции на Ctrl-C.
Я ОЧЕНЬ не хочу переустанавливать, мне потребовалось несколько месяцев, чтобы постепенно установить все, что мне нужно для работы.
Не уверен, что это правильные параметры Linux, поэтому я попробовал
linux ...x86_64 root=/dev/nvme0p4
И
linux ...x86_64 root=/dev/nvme0p6
Но оба привели только к этому состоянию логирования USB.
Когда я попробовал без установки root, я получил
[FAILED] Не удалось запустить Switch Root.
Смотрите 'systemctl status initrd-switch-root.service' для получения подробностей.
Генерация "/run/initramfs/rdsosreport.txt"
Вход в аварийный режим. Выйдите из оболочки, чтобы продолжить.
Введите "journalctl", чтобы просмотреть системные журналы.
и затем снова логирование USB. Здесь я мог нажать Ctrl-C, и выполнив ls, я узнал, что не знаю, какой это раздел, но он не содержит мой home.
Как я могу это спасти? Кажется, я близок, просто не знаю, что делаю не так.
Редактирование1: следуя https://0xcaffee.blog/posts/grub-booting-with-lvm/, я смог попасть в консоль аварийного режима Rocky Linux, думаю. К сожалению, default.target не работает, и я не могу ввести свой пароль root, потому что он требует символов из раскладки не en (не знаю, что вводить, когда я войду). Не удалось с:
[DEPEND] Не удалось выполнить зависимость для /boot/efi.
[DEPEND] Не удалось выполнить зависимость для Локальных файловых систем.
[DEPEND] Не удалось выполнить зависимость для Пометить необходимость повторной метки после перезагрузки.
[DEPEND] Не удалось выполнить зависимость для Проверки файловой системы на /dev/disk/by-uuid/E804-AFGE.
Ответ или решение
Для решения проблемы с загрузкой Rocky Linux после перемещения и изменения размеров разделов, выполните следующие шаги:
Шаг 1: Проверка конфигурации загрузчика GRUB
-
Загрузитесь с Live USB (например, Fedora или другой дистрибутив).
-
Установите необходимые пакеты, если они не установлены, с помощью следующей команды:
sudo dnf install lvm2 grub2-efi xfsprogs btrfs-progs
-
Требуется узнать точное расположение ваших LVM томов. Введите:
sudo lvm vgscan sudo lvm lvscan
Это позволит вам увидеть доступные группы томов и их логические тома.
Шаг 2: Монтирование файловой системы
-
Создайте временные точки монтирования:
sudo mkdir /mnt/root /mnt/home /mnt/boot
-
Смонтируйте корневую файловую систему:
sudo mount /dev/mapper/rl-root /mnt/root
-
Если у вас есть отдельная домашняя директория, смонтируйте её:
sudo mount /dev/mapper/rl-home /mnt/home
-
Смонтируйте EFI-раздел, предположительно он будет примерно таким:
sudo mount /dev/nvme0p4 /mnt/boot
Убедитесь, что именно это устройство соответствует вашему EFI-разделу. Это может быть проверено с помощью команды
fdisk -l
.
Шаг 3: Обновление конфигурации GRUB
-
Выполните chroot:
sudo chroot /mnt/root
-
Проверьте наличие файлов в
/boot
:
Убедитесь, что файлы ядра и initrd действительно находятся в/boot
. Если файлов нет, возможно, вам потребуется переустановить ядро. -
Обновите GRUB:
grub2-mkconfig -o /boot/grub2/grub.cfg
-
Убедитесь, что UUID ваших разделов правильны:
В файле/etc/fstab
убедитесь, что UUID для всех разделов правильные. Вы можете получить UUID, используя команду:blkid
-
Выход из chroot:
exit
-
Отмонтируйте все разделы:
sudo umount /mnt/root sudo umount /mnt/home sudo umount /mnt/boot
Шаг 4: Перезагрузка системы
Теперь перезагружайте систему:
sudo reboot
Дополнительные шаги в случае ошибок
Если система всё ещё не загружается:
- Включите поддержку Grub для LVM, убедитесь, что
grub-install
был выполнен для вашей EFI-раздела. - Если ошибка "FAILED] Failed to start Switch Root", это может указывать на проблему с инициализацией для вашей root файловой системы. Часто это может быть связано с неправильными параметрами ядра или поврежденным LVM.
Восстановление строки загрузки GRUB
Если вы по-прежнему в GRUB, попробуйте следующие команды для загрузки:
set root=(hd0,gpt4)
— устанавливает корень.linux /vmlinuz-<ваша версия> root=/dev/mapper/<ваш LVM>
— укажите ваше ядро.initrd /initramfs-<ваша версия>.img
- И затем
boot
.
Заключение
Если все эти шаги не помогли, то, возможно, стоит рассмотреть возможность восстановления данных из домашних папок (если они отделены) и переустановить систему. Удачи!