GRUB Error: error: no such partition (grub rescue prompt)
Linux Bootloader
GRUB rescue: error: no such partition — Восстановление загрузчика
Компьютер не загружает меню GRUB и сбрасывается в аварийную консоль: error: no such partition. Entering rescue mode... grub rescue>.
| Причина сбоя | Контекст инцидента | Статус GRUB |
|---|---|---|
| Изменение таблицы разделов | Сжатие, удаление или клонирование томов | Сместился порядковый номер тома с /boot/grub |
| Смена UUID накопителя | Восстановление из бэкапа Clonezilla/dd | GRUB ищет жестко закодированный старый UUID |
| Физическое отключение диска | Отказ накопителя или смена порядка SATA | Нужный диск отсутствует на шине |
- В строке
grub rescue>найдите раздел, содержащий модули GRUB:grub rescue> ls grub rescue> ls (hd0,msdos1)/ grub rescue> ls (hd0,msdos2)/boot/grub - Установите переменные
rootиprefix(используйте найденный раздел):grub rescue> set root=(hd0,msdos2) grub rescue> set prefix=(hd0,msdos2)/boot/grub grub rescue> insmod normal grub rescue> normal - После загрузки системы зафиксируйте изменения, переустановив загрузчик:
sudo grub-install /dev/sda sudo update-grub - Проверьте актуальность UUID в
/etc/fstabчерез командуblkid.
Подсказка: Если команда
insmod normal выдает unknown filesystem, раздел поврежден либо находится внутри LVM/LUKS, что требует загрузки с LiveCD.
Практический опыт инженера:
Всегда проверяйте `/boot/grub/grub.cfg` на наличие жестко захардкоженных номеров вроде `hd0,gpt3`. Вся адресация должна осуществляться через параметры `--set=root --fs-uuid`.
Частые вопросы (FAQ)
Что делать, если команда ls выдает только (hd0)?
Это признак повреждения таблицы разделов (GPT/MBR) либо полного отказа контроллера жесткого диска.
Почему ошибка появилась после удаления раздела с Windows?
Удаление предшествующего раздела сместило нумерацию разделов Linux (например, с sda3 на sda2).