LINUX.ORG.RU

Grub: no such partition / установка на внешний хард

 , ,


0

1

Пробовал устанавливать Mageia 4 и Linux Mint 16. Всегда одна и та же ошибка - после установки дистрибутива гружусь в ос и меня поджидает коварный grub: no such partition. У меня два харда, один свой на 300 гб, а другой - внешний на 500 гб. Linux всегда устанавливаю на внешний, grub туда же (чтобы не запачкать Windows и всегда иметь возможность откатиться, отключив внешний хард). Исправлял grub по этому гайду: http://www.youtube.com/watch?v=TlSo8mZ6f-M, первый способ. Та же ошибка, хотя процесс исправления шел без ошибок. Год назад устанавливал на свой хард, все работало, но потом снес. Сейчас там уже места нет, поэтому пытаюсь установить на внешний. В чем проблема?



Последнее исправление: withoutAsound (всего исправлений: 1)
Ответ на: комментарий от withoutAsound

Берешь LiveCD любого линукса (желательно, чтоб lilo был под рукой).
Монтируешь его корень и остальное на /mnt/кактебятам

root@linux:/# mount -t proc proc /mnt/кактебятам
root@linux:/# mount --rbind /mnt/кактебятам/dev
root@linux:/# mount --rbind /mnt/кактебятам/sys
root@linux:/# chroot /mnt/кактебятам
Пишешь конфиг LILO и ставишь.
root@linux:/# /путькlilo/lilo

DeadEye ★★★★★
()
Ответ на: комментарий от DeadEye

У тебя root GRUB ищет на первом диске, а Минт у тебя стоит на втором.

hd1 — это второй диск, первый — hd0

У него в конфиге hd1

sdio ★★★★★
()
Ответ на: комментарий от withoutAsound

Возможно bios/grub нумеруют диски в другом порядке hd0 — внешний, hd1 — внутренний.

Из граба отредактируй (дай команду set root=hd0,msdos5)

sdio ★★★★★
()

я заметил, что после каждой установки появляется флаг boot на внешнем харде в первом разделе, который я использую как Е:/ в windows, с чем это может быть связано?

withoutAsound
() автор топика
Ответ на: комментарий от withoutAsound

Попробуй вообще удалить строку 'set root=...' из конфига grub.

Ну либо читай документацию по grub на предмет директивы find и использования оной для указания корня загрузчика исход из её данных.

kostik87 ★★★★★
()
Ответ на: комментарий от withoutAsound

Редактируйте от имени пользователя root.

kostik87 ★★★★★
()
Ответ на: комментарий от withoutAsound

Все. Ну или как минимум в том разделе конфига, в котором описывается пункт меню, с которого вы запускаете Ubuntu.

Неужели сложно перед всеми этими командами поставить символ «#» для комментирования строки?

С другой стороны вместо этих строк можете всё же прописать поиск корня загрузчика, например закомментируйте их а ниже пропишите что-то вроде:

search --set=root --file /boot/gnumach.gz
Вот это '/boot/gnumach.gz' замените на имя файла и путь относительно корня файловой системы, на которой находятся файлы загрузчика. Если на этой ФС есть файл /boot/gnumach.gz, то оставьте как в примере.

Ну либо используйте вместо поиска файлов указание UUID файловой системы:

search --set=root -u $root_uuid
UUID можно увидеть в выводе команды 'blkid'.

Или указывайте метку файловой системы корня загрузчика:

search --set=root -l метка_файловой_системы

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Закомментировал все строчки с «set root=». После ребута та же ошибка. Кстати, при коммаде «ls» в grub rescue выдает "(hd0) (hd0, msdos1) (hd1) (hd1, msdos3) (hd1, msdos2) (hd1, msdos1)" если я все правильно запомнил.

withoutAsound
() автор топика
Ответ на: комментарий от withoutAsound

Ты остальной текст сообщения прочитал? Попробовал то, что я ниже написал или сразу побежал писать сообщение на форум, что бы тебе сказали, что бы ты дочитал сообщение и попробовал то, что описано в нём ниже?

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Я не могу быстро все делать, тем более я только сейчас нашел как сделать русскую раскладку, а до этого костылями писал сообщения. А до других способов я только сейчас дошел. Строчку search --set=root -u uuid надо писать после каждого закомментированного set root, верно?

withoutAsound
() автор топика
Ответ на: комментарий от kostik87

Вкурил твой божественный мануал - заменил все setrootы на search --set=root -u плюс uuid. Итог - no such partition. Затем я заметил странный знак доллара перед словом root_uuid и перед каждым uuid поставил этот знак. no such partition. Что я делаю не так?

withoutAsound
() автор топика
Ответ на: комментарий от withoutAsound

Добавь в загрузку модули grub

insmod search_fs_uuid
А вместо $root_uuid нужно указать именно UUID, т.е. значение UUID, которые ты можешь увидеть в выводе команды 'blkid'

Вот пример вывода:

blkid
...
/dev/sdd3: LABEL="root" UUID="c0c5c527-4024-4d52-a338-402f6e41916d" TYPE="ext4" PARTUUID="8e928e92-03" 
...
В этом примере нужно писать такую команду:
insmod search_fs_uuid
search --fs-uuid c0c5c527-4024-4d52-a338-402f6e41916d --set root
или такую:
insmod search_fs_uuid
search -u c0c5c527-4024-4d52-a338-402f6e41916d --set root

kostik87 ★★★★★
()
Ответ на: комментарий от anonymous

Уже подумываю удалить несколько десятков гигов игр на виндовом разделе и попробовать установить туда арч, т.к. у него очень хорошая документация

withoutAsound
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.