alexp ([personal profile] alexp) wrote2012-08-05 10:05 pm
Entry tags:

error: unknown filesystem. grub rescue> (Ошибка на компьютере с Ubuntu 12.04, Windows 7)

На днях включил комп, а он отказался загружаться, выдавая следующее
error: unknown filesystem.
grub rescue>


Скорее всего, в этом было виновато обновление Ubuntu 12.04, хотя возможно ошибка возникла из-за Windows 7.

Решить проблему оказалось довольно просто:

Для начала посмотрел, что находится на hd0 при помощи команды ls
grub rescue>ls

Данная команда возвращает список всех доступных дисковых устройств в формате
(hd0,msdos1) (hd0,msdos2) (hd1,msdos1) (hd1,msdos2)


Затем выполнил следующие команды:
grub rescue>ls (hd0,msdos6)/
grub rescue>set root=(hd0,msdos6)
grub rescue>ls /
grub rescue>set prefix=(hd0,msdos6)/boot/grub
grub rescue>insmod normal
grub rescue>normal


После перезагрузки появился grub с возможностью загрузки Ubuntu 12.04 и Windows 7. Но если перезагрузиться еще раз, то проблема возникает вновь. Поэтому нужно загрузиться из под Ubuntu и выполнить следующие команды в терминале:
sudo update-grub
sudo grub-install /dev/sda

где /dev/sda - это то устройство (жесткий диск, твердотельный накопитель,...), на которое нужно установить загрузчик grub.

(Anonymous) 2015-09-16 12:01 pm (UTC)(link)
Одно и то же: error : file '/boot/grub' not found или
error : file '/boot' not found

[identity profile] athunder.livejournal.com 2015-09-16 02:09 pm (UTC)(link)
Я так понимаю, что не на том дисковом устройстве ищите загрузчик. В моём случае это было (hd0,msdos6). Сначала нужно найти дисковое устройство, на котором будет папка boot, после чего использовать его вместо (hd0,msdos6) в приведённых в посте командах, а именно:

grub rescue>ls
grub rescue>ls (hd0,msdos6)/
grub rescue>set root=(hd0,msdos6)
grub rescue>ls /
grub rescue>set prefix=(hd0,msdos6)/boot/grub
grub rescue>insmod normal
grub rescue>normal


Можно простым перебором выбирать устройство. Например, для (hd0,msdos1):
ls (hd0,msdos1)
set root=(hd0,msdos1)
ls /boot

Если на данном устройстве присутствует папка boot, то выполняем остальные команды. Если нет, то двигаемся дальше.