Всем кто жаждет красот и чудес, а ничего не выходит (ну как у меня):
Причина (тут мои досужие дамыслы, так, что можно нечитать):
Граба на самом деле 2. Это пакет (приложение которое вы установили, я дальше буду называть его «граб»). Предназначен он для конфигурирования из ссистемы и формирования образа который потом будет записан в мбр. Этот образ и есть «настоящий» Граб (его я буду называть «grub»). Он содержит загрузчик, весь функционал и командную оболочку. Когда в консоли вы пишете sudo grub (нужно писать именно с sudo), вы попадаете в шелл grub и выполняете всё конфигурирование из него. Когда пишете grub-install (эта команда должна записать сконфигурированный grubом образ в мбр) вы обращаетесь к грабу. Проблема в том, что ядро (а следовательно и граб) и grub могут видеть диски по разному (тут уж совсем из пальца высосано: в слачае если ваши диски сата, а не иде). Когда вы пишите grub-install путьКдиску в том виде в котором диск знает grub его не принимает и ругается граб. Когда наоборот — граб не ругается, а передаёт этот параметр и путь к образу grub'у, но тот не знает переданного ему диска и тоже ругается.
Выход однако есть — записать мбр из оболочки grub. Однако и это не поможет. И вот почему: в команде инстоляции вам прийдется сослаться на место где лежит образ stage1 (это то, что пишется в мбр и запускает потом основной код grub?) и образ stage2 (это основной код grub?). Лежать они должны в /boot/grub, но там лежит то, что у вас уже установлено, а то, что вы наконфигурировали лежит совсем в другом месте.
Из всего вышеизложенного способ победить этот суперзагрузчик:
1 Проделываем всё как в первом посте темы, если проделали, то уже не надо повторять.
2 Копируем все файлы (папки ненадо) из /boot куда нибудь, на случай если что-то пойдёт не так.
3 Сохраняем эту инструкцию в текстовом виде где-нибудь на диске, на случай если угробите grub, чтоб потом, загрузившись с сиди не рытся в кэше вашего браузера в поисках этой страницы, как это делал я в поисках синтаксиса комманды install.
4 Ищем папку куда установился граб. Это скорее всего /usr/lib/grub. В ней будет что-то похожее на папку i386-pc. Все файлы из этой папки переносите в /boot, на вопрос о замене существующих файлов отвечаете утвердительно.
5 Пишете в терменале sudo grub и попадаете в шелл grub'а.
6 В шеле пишете (как при конфигурации) : find /boot/grub/stage1 И получаете результат вида (hdx,y), где x и y некоторые цифры (у меня это было (hd0,4)).
7 Теперь пишете комманду: install (hdx,y)/boot/grub/stage1 (hdz) (hdx,y)/boot/grub/stage2 p (hdx,y)/boot/grub/menu.lst. Здесь (hdx,y) результат комманды find /boot/grub/stage1, а (hdz) загрузочный диск, где z его номер. Например если линь стоит у вас на загрузочном диске, то z будет равно x. В любом случае z скорее всего 0. Если у вас стоит винда, то это скорее всего, то что идёт в строке следующей за сттрокой title Microsoft Windows блаблабла в файле /boot/grub/menu.lst после слова root, но до запятой. Тоесть если там root (hd0,0), то вместо (hdz) надо писать (hd0). Возможно гуру подскажут как определить наверняка. (У меня получилось install (hd0,4)/boot/grub/stage1 (hd0) (hd0,4)/boot/grub/stage2 p (hd0,4)/boot/grub/menu.lst)
8 Перегружаетесь
9 В зависимости от результата, либо радуетесь, либо кроете меня матом.
Если второе — грузитесь с лайвсиди и пытаетесь перезаписать grub заново.
Если грузится старый grub — вы скорее всего ошиблись с параметром (hdz) и приткнули загрузчик не на тот диск. Как его оттуда убирать я не знаю.
Если вместо меню grub у вас появляется:
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub>
Значит всё нормально, просто он не видит файл /boot/grub/menu.lst. Копайте в этом месте. Проверяйте его наличие, путь при перезаписи и тд.
Если вообще не грузится, то возможно трабла с stage2.