Если не грузит GRUB


Справляться с проблемой будем штатными средствами. Предполагается, что GRUB уже установлен, но выдаёт ошибки 15 или 17 (значение см. на wiki - grub error).

Способ № 1 - прописать UUID диска.

Что потребуется:
- функционирующая утилита blkid
- знание программы fdisk
Смотрим при помощи команды fdisk -l какие диски подключены и на какие разделы разбиты:
# fdisk -l
Вы увидите примерно такой список, но чуть более информативный
/dev/sda1 Linux
/dev/sda2 Linux своп.
/dev/sda3 Linux
/dev/sda4 Linux

Конечно, вы уже знаете, на каком разделе у вас установлен загрузчик, не так ли? Если нет, посмотрите cfdisk:
# cfdisk /dev/sda
Будет выведена таблица разделов с описанием файловых систем и точек монтирования. Посмотрели? Выходим, выбрав в списке снизу соответствующую опцию.
Итак, расположение загрузчика вспомнили. Теперь нужно изменить его конфигурационный файл, заменив раздел, где прописан root, на uuid диска.

Тут и пригодится вывод команды blkid
# blkid
/dev/sda1: UUID="b58bf-36fhg-4rg5-8673-mn688dh3g" TYPE "ext2"
/dev/sda2: UUID ="b58bf-36fhg-4rg5-8673-mn688dfg7" TYPE "swap"
ну и так далее.


Что со всем этим делать?
Идти править конфиги GRUB:
# vim /boot/grub/grub.conf или /boot/grub/menu.lst в зависимости от установленного дистрибутива. Обычно первое.
В строке, где указан путь к ядру впишем вместо обозначения диска /dev/sdaX его UUID вот так:
/kernel/vmlinuz-linux root=/dev/disk/by-uuid/b58bf-36fhg-4rg5-8673-mn688dh3g ro
Проверьте и подправтье ваш файл /etc/fstab.
Теперь можно перезагрузиться и проверить результат.

Способ № 2 - Указание вручную куда загрузчик будет установлен.

Грузимся с установочной флэшки/диска и chroot'имся в директорию с установленной системой. В примере система установлена на /dev/sda, загрузчик - /dev/sda1, монтировать будем в /mnt/hdd.
# mount /dev/sda3 /mnt/
# mount /dev/sda1 /mnt/boot
# mount --bind /dev /mnt/dev
# mount -t proc none /mnt/proc
# chroot /mnt
Подмонтировав каталоги, фиксим загрузчик
# grub
Попадаем в приглашение граба:
grub > find /grub/stage1 - проверка расположения stage1
Если это первый жесткий диск, grub должен выдать (hd0,0)
grub> root (hd0,0) - указание расположения ядра
grub> setup (hd0)
Перезагрузка.

0 коммент.: (+add yours?)

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.