Способы оплаты Abuse

Как исправить неверное имя корневого раздела Grub

12.10.2023, 21:53

Имя корневого раздела Grub - путь к корневому разделу (обычно обозначается как /) в операционной системе Linux. Grub (GRand Unified Bootloader) - это загрузчик операционной системы Linux, который позволяет выбирать и загружать операционные системы при старте компьютера. 

Роль имени корневого раздела 

Когда компьютер загружается, Grub ищет указанный корневой раздел, который содержит основные файлы операционной системы. Имя корневого раздела Grub обычно указывается в конфигурационном файле загрузчика grub.cfg или в других конфигурационных файлах Grub, которые настраиваются в процессе установки операционной системы Linux.

Значение имени корневого раздела Grub может варьироваться в зависимости от конкретной конфигурации компьютера и установленной операционной системы. Например, если у вас установлена одна операционная система, корневым разделом может быть просто "/", но если у вас установлено несколько операционных систем или разделов, то имя может быть более сложным, например, "/dev/sda1" или "/dev/nvme0n1p2". Кстати, в случае, если появляется ошибка vfs unable to mount root fs on unknown block, очень часто это происходит из-за неверного имени корневого раздела. Как исправить проблему, мы рассказывали здесь, но есть ещё один способ.  

Как решить проблему?

Во многих дистрибутивах в конфигурационном файле Grub имя корневого раздела передается ядру в формате UUID. Но с этим есть одна проблема. Если каким-либо образом изменился корневой раздел, например, измените его размер, то UUID изменится. И если вы перезагрузитесь, не обновив конфигурацию Grub, то система не будет работать, потому что ядро попросту не сможет найти нужного раздела.

Как же решить проблему? Если вы точно знаете, на каком разделе  находится корень, можно прямо в меню Grub исправить конфигурацию. В меню выберете стрелками вверх и вниз нужный пункт, а затем нажмите кнопку E. Откроется редактор конфигурации. Вам нужно найти строчку, похожую на эту:

linux /boot/vmlinuz-4.15.0-36-generic root=UUID=9d8d92de-74a6-4e64-8281-b8548c690e0c ro quiet splash $vt_handoff

Имя корневого раздела Grub

В строке следует поменять UUID=9d8d92de-74a6-4e64-8281-b8548c690e0c на обычное имя корневого раздела, например, /dev/sda2. Для начала загрузки нажмите F10. Если система загрузится, значит проблема была именно в этом. В дальнейшем, можно просто обновить конфигурацию Grub:

sudo update-grub

Также можно попросить Grub больше не использовать UUID для обозначения корневого раздела:

sudo vi /etc/default/grub

GRUB_DISABLE_LINUX_UUID=true

Корневой раздел Grub

Ошибка исчезла, но система всё ещё не загружается? systemd может использовать файл /etc/fstab для монтирования файловых систем. И если корневая файловая система там указана неверно, система не загрузится. Можно использовать режим восстановления Ubuntu. Здесь тоже надо заменить UUID на обычную запись или же на правильный UUID.