3.1.14.1.3.3 Система не монтирует корневой раздел
Скачать документ Решение проблемы. Загрузка из более старого ядра
Неверное имя корневого раздела GRUB
Проблема монтирования корневого раздела выглядит следующим образом:
[ 1.719701] Hardware name: ECS IC780M-A2/IC780M-A2, BIOS 080015 11/03/2010 [ 1.719749] 0000000000000000 ffff88022c0b7df0 ffffffff8176cf38 ffffffff81a65048 [ 1.719951 0000000000008001 ffff88022c0b7e68 ffffffff81765306 ffffffff00000010 [ 1.720152] ffff88022c0b7e78 ffff88022c0b7e18 ffffffff81765e74 ffff88022c0b7e88 [ 1.720353] Call Trace: [ 1.720402] [] dump_stack+0x64/0x82 [ 1.720449] [] panic+0xc8/0x206 [ 1.720494] [] ? printk+0x67/0x69 [ 1.720541] [] mount_block_root+0x225/0x2b0 [ 1.720587] [] mount_root+0x53/0x56 [ 1.720633] [] prepare_namespace+0x16c/0x1a4 [ 1.720679] [] kernel_init_freeable+0x1e1/0x1ee [ 1.720725] [] ? initcall_blacklist+0xba/0xba [ 1.720771] [] ? rest_init+0x80/0x80 [ 1.720817] [] kernel_init+0xe/0xf0 [ 1.720862] [] rest_from_fork+058/0x90 [ 1.720908] [] ? rest_init+0x80/0x80 [ 1.720974] Kernel Offset: 0x0 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 1.721043] ---[ end Kernel panic — not syncing: VFS: Unable to mount root fs on unknown-block (0,0) _
Сообщение об ошибке «vfs unable to mount root fs on unknown block
» может встречается во время загрузки Linux. Оно означает, что ядро не может примонтировать корневую файловую систему, и, следовательно, дальнейшая загрузка невозможна. Ошибка довольно серьёзная и, не исправив её, вы не сможете полноценно работать в своей операционной системе.
Все ситуации, в которых может появиться сообщение «error: vfs unable to mount root fs
» можно разделить на два вида:
Загрузка с жёсткого диска — вы загружаете свою основную операционную систему после внесения изменений в таблицу разделов, обновления или других действий, которые могли задеть диски;
Вы загружаете LiveCD-систему с оптического диска или флешки.
Второй вариант сразу же отбросим. Здесь исправлять нечего. Ошибка означает, что либо образ был битый, либо он был неверно записан на диск. А вот первый случай интереснее, рассмотрим основные причины, которые могут его вызывать:
Корневой раздел был переименован и теперь называется по-другому;
Повреждена initramfs;
Ядро не поддерживает файловую систему корневого раздела;
Ошибка в конфигурации загрузчика, например, из-за недостаточного количества свободного места в папке /boot;
Файловая система корневого раздела повреждена.
Рассмотрим возможные пути решения проблемы.
Решение проблемы. Загрузка из более старого ядра
После того, как система выдаст эту ошибку, случится Kernel Panic и компьютер перезагрузится. Вы снова окажетесь в меню загрузчика GRUB. Сначала следует попытаться загрузиться с помощью более старого ядра. Для этого выберите пункт «Дополнительные параметры» и выберите одно из более старых ядер.
Если система в этом случае загрузится, то можно сделать вывод, что не работает только новое ядро. Если вы собирали его сами, то, возможно, вы не включили в него все необходимые для работы файловые системы. Если это ядро из репозиториев, и система загрузилась с более старым ядром, то можно предположить, что у вас повреждена initramfs для нового ядра. Это тоже могло произойти из-за недостатка памяти при обновлении системы. Чтобы всё исправить, вам достаточно освободить место в каталоге /boot/ и создать новую initramfs. Проверьте и освободите место в папке /boot, если его там мало:
df -h | grep boot
На данном скриншоте занято только 7%, если будет 100% — надо освобождать. Для создания initramfs необходимо выполнить следующие действия:
cp -p /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut -f -v --regenerate-all ls /boot
Обновите конфигурацию загрузчика grub:
- если используется BIOS:
grub2-mkconfig -o /boot/grub2/grub.cfg
- если используется UEFI:
grub2-mkconfig -o /boot/efi/EFI/redos/grub.cfg
Если вы думаете, что проблема именно в свободном пространстве и initramfs, но загрузиться с помощью более старого ядра не можете, то попробуйте другой LiveCD-дистрибутив и попытайтесь всё исправить в chroot-окружении.
Неверное имя корневого раздела GRUB
Сейчас, в большинстве дистрибутивов, в конфигурационном файле GRUB имя корневого раздела передается ядру в формате UUID. И с этим обстоятельством есть одна проблема. Если вы каким-либо образом измените корневой раздел, например, измените его размер, то UUID изменится. И если вы выполните перезагрузку, не обновив конфигурацию GRUB, то система больше не загрузится, потому что ядро попросту не сможет найти нужного раздела.
Но попытаться решить проблему можно. Если вы точно знаете, на каком разделе у вас находится корень, то можно непосредственно в меню GRUB исправить конфигурацию. Для этого в меню выберете стрелками вверх и вниз нужный пункт, а затем нажмите кнопку E. Откроется редактор конфигурации. Вам нужно найти строчку, похожую на следующую:
linux /boot/vmlinuz-5.15.72-1.el7.3.x86_64 root=/dev/mapper/ro_redos-root ro quiet splash
В ней надо заменить UUID=9d8d92de-74a6-4e64-8281-b8548c690e0c
на обычное имя вашего корневого раздела, например, /dev/sda2. Для начала загрузки нажмите F10. Если система загрузится, значит проблема была именно в этом. В дальнейшем, можно просто обновить конфигурацию GRUB:
grub2-mkconfig
Или даже попросить GRUB больше не использовать UUID для обозначения корневого раздела:
nano /etc/default/grub
GRUB_DISABLE_LINUX_UUID=true
Далее необходимо снова обновить конфигурацию GRUB, используя команду grub2-mkconfig.
Если ошибка исчезла, но система всё ещё не загружается, обратите внимание, что systemd всё ещё использует файл /etc/fstab для монтирования файловых систем. И если корневая файловая система (и не корневая тоже) там указана неверно, система не загрузится. Для исправления этой проблемы можно использовать режим восстановления. Здесь тоже надо заменить UUID на обычную запись или же на правильный UUID. Такая проблема очень часто становится причиной медленной загрузки Linux.
В этом же режиме можно проверить корневой раздел на ошибки, но для проверки диска лучше использовать LiveCD.
Если файловая система корневого раздела повреждена, её необходимо проверить, исправить согласно инструкции «Проверка файловой системы на наличие ошибок».
Дата последнего изменения: 20.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.