Вопрос или проблема
Предыстория:
У меня есть система Rocky Linux 8 (основанная на Rhel). Аппаратное обеспечение не поддерживает UEFI, поэтому оно является устаревшим. Однако диск имеет GPT, поэтому в начале есть раздел grub. Разделы были XFS. Я пытался использовать rsync для копирования всех данных (с корневого раздела), затем перераспределил пространство и отформатировал используя ext4. Затем я скопировал файлы обратно.
Я пытаюсь загрузиться.
Я загружаюсь с загрузочного диска rocky linux. Монтирую корневой раздел и загрузочный раздел. Связываю dev, proc, sys. Выполняю chroot. Затем я запустил “dracut -f”, после чего “grub2-mkconfig -o /boot/grub2/grub.cfg”, затем “grub2-install /dev/sda”. При выполнении mkconfig я получил ошибки, связанные с device-mapper, но поскольку я больше не использую LVM, я предположил, что это не проблема.
Он доходит до grub и начинает загрузку, но не удается смонтировать sysroot, говоря “неизвестный тип файловой системы ‘ext4′”.
- Что такое sysroot?
- Почему он не распознает ‘ext4’, даже после запуска dracut?
Я был бы признателен за любые советы.
Ответ или решение
Причины ошибки "unknown filesystem type ‘ext4’" при загрузке Rocky Linux 8
Ситуация, с которой вы столкнулись, связана с проблемами, возникающими при попытке загрузки системы. Давайте рассмотрим ключевые моменты:
1. Что такое sysroot
?
sysroot
— это корневая файловая система, которая используется во время загрузки. В зависимости от настроек системы, конкретное место, откуда загружается ядро и где находят необходимые модули, может называться по-разному. В контексте систем Linux это обычно путь, где располагается файловая система, на которую установить корень вашей системы (обычно /
, но в вашем случае, возможно, будет что-то другое из-за изменения размеров и разметки диска).
2. Почему система не распознает файловую систему ‘ext4’?
Несмотря на то, что вы выполнили команды dracut
и grub2-mkconfig
, возможно несколько причин, по которым система не распознает ext4
:
-
Отсутствие необходимых модулей: Удостоверьтесь, что модули, необходимые для работы с файловой системой
ext4
, были загружены в initramfs. Вы можете проверить содержимое initramfs с помощью командыlsinitrd
, убедившись, что модули для ext4, такие какext4
иjbd2
, присутствуют. -
Неправильная разметка разделов: Убедитесь, что новые разделы были правильно созданы и отформатированы. Возможно, в процессе форматирования произошла ошибка, или файловая система не была правильно инициализирована.
-
Коррупция файловой системы: Если данные были неправильно скопированы или повреждены в процессе использования
rsync
, возможно, что файловая система была повреждена. Попробуйте выполнить проверку файловой системы с помощьюfsck.ext4
, чтобы выявить и исправить проблемы. -
Не обновленный конфигурационный файл загрузчика: Убедитесь, что в конфигурационном файле
grub.cfg
указаны правильные параметры корневого раздела. На случай, если после изменения разметки и замены файловой системы была изменена идентификация разделов, проверьте значения UUID и убедитесь, что они соответствуют вашим новым разделам. Используйте командуblkid
, чтобы получить необходимую информацию.
Рекомендации по устранению проблемы:
- Загрузитесь с установочного носителя Rocky Linux 8.
- Проводите необходимые монтирования:
mount /dev/sdaX /mnt # замените на ваш раздел mount /dev/sdaY /mnt/boot # если у вас отдельный загрузочный раздел mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt
- Проверьте, что модули ext4 загружены:
lsinitrd | grep ext4
- Запустите проверку файловой системы:
fsck.ext4 /dev/sdaX
- Обновите initramfs:
dracut -f
- Проверьте конфигурацию GRUB:
grub2-mkconfig -o /boot/grub2/grub.cfg grub2-install /dev/sda
Если после выполнения вышеуказанных шагов проблема все еще сохраняется, возможно, стоит рассмотреть возможность полного восстановления системы из резервной копии или переустановки операционной системы с использованием ext4 напрямую, если это возможно.
Успехов в восстановлении работы вашей системы!