Автор Гілка: Відновлення GRUB у Debian'і після встановлення Win  (Прочитано 4177 раз)

Відсутній Сашко Кравчук

  • Графоман
  • ****
  • дописів: 490
  • Карма: +0/-0
  • Debian GNU/Linux
Дуже поширене питання серед початківців: встановив linux на сусідній з мастдайкою розділ, той традиційно встановив свій завантажувач (у даному випадку grub), через певний час перевстановив офтоп, який традиційно нічого не питаючи просто взяв, і переписав завантажувавльний розділ мого вінчестера. Як тепер відновити grub, щоб можна було спокійно, і звично при старті машини обирати ос для завантаження?

Пояснюється на прикладі Debian Sarge:
1 - Завантажтеся з першого Debian CD з ядром лінійки 2.4;
2 - Перейдіть до другої консолі натиснувши alt + F2;
3 - Створіть нову теку для монтування завантажувального розділу, для прикладу /disk;
4 - Змонтуйте root розділ до /disk;
5 - Змініть кореневий розділ за допомогою chroot: chroot /розділ;
6 - Введіть команду grub для переходу до командного рядка grub (grub shell);
7 - Введіть команду root (hd0,1) в root'івському розділі. Це /dev/hda2 на моїй системі. Перша цифра - номер диску (а -0, b - 1), друга - номер розділу;
8 - Введіть команду setup (hd0) для того, щоб встановити завантажувач на /dev/hda;
9 - Останній крок, вийдіть з chroot'у, демонтуйте усі диски та перезавантажтеся;


Відсутній MARIK

  • Новачок
  • *
  • дописів: 24
  • Карма: +0/-0
  • Програміст, студент
А можна швидше:
замість кроків 6,7,8 зробити grub-install /dev/hda

Відсутній Сашко Кравчук

  • Графоман
  • ****
  • дописів: 490
  • Карма: +0/-0
  • Debian GNU/Linux
А можна швидше:
замість кроків 6,7,8 зробити grub-install /dev/hda

Якщо присутній скрипт grub-install. Я зустрічав LiveCD, де його не було. Проте був сам grub.

Відсутній v.2.1

  • Письменник
  • *****
  • дописів: 639
  • Карма: +0/-0
Дуже дохідлива інструкція про
ВІДНОВЛЕННЯ ЗАВАНТАЖУВАЧА GRUB

Після перевстановлення Віндоус зникло меню вибору системи. Не можу завантажити Лінукс.
Віндоус досить недружелюбно ставиться до інших систем. Поважає тільки продукти Майкрософт. Тому вона завжди після перевстановлення затирає завантажувальний запис Лінукс.

   1. Є два варіанти вирішення проблеми: - перевстановити Лінукс.
   2. - відновити завантажувальний запис наступним чином:

Завантажуємося з Лів-СіДі, або Лів-Флеш. Як правило диск, з якого ставився Лінукс має можливість завантаження в режимі LiveCD.
Запускаємо програму терміналу (xterm, konsole, ...)
Виконуємо команду sudo grub

Цитата
vitovt@Linux ~ $ sudo grub
    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ 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>

Як бачимо, GRUB запустився і перейшов в командний режим. Запускаємо команду пошуку завантажувача:

Цитата
grub> find /boot/grub/stage2

Якщо отримали помилку Error 15: File not found

Цитата
grub> find /boot/grub/stage2
Error 15: File not found

не розчаровуємося, а пробуємо задати команду пошуку без слова /boot

Цитата
grub> find /grub/stage2

В будь-якому разі, в результаті успіху GRUB скаже де знайдено завантажувач:

Цитата
grub> find /boot/grub/stage2
 (hd0,2)

Результат подається у вигляді двох цифр після hd розділених комою.
Перша (в нас 0) - фізичний номер диску,
друга (в нас 2) - номер логічного розділу на цьому диску.

Тепер треба вказати де знаходяться файли завантажувача

Цитата
grub> root (hd0,2)
 Filesystem type is ext2fs, partition type 0x83

Та заново встановити на фізичний диск завантажувач, який так підступно вбила Вінда:

Цитата
grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd0)"...  18 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd0) (hd0)1+18 p (hd0,2)/grub/stage2 /grub/menu.lst"... succeeded
Done.

grub>

Все повинно бути ОК. Тепер можна спокійно вийти з GRUB і перезавантажити машину. Повинно знову з'явитися меню вибору операційної системи, в якому присутній Лінукс.

Цитата
grub> quit  

В цілому процес виглядатиме так:

Цитата
vitovt@Linux ~ $ sudo grub

    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ 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>

grub> find /boot/grub/stage2

Error 15: File not found

grub> find /grub/stage2
 (hd0,2)

grub> root (hd0,2)
 Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd0)"...  18 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd0) (hd0)1+18 p (hd0,2)/grub/stage2 /grub/menu.lst"... succeeded
Done.

grub>

grub> quit  

Також ця інструкція може знадобитися, якщо у вас 2 вінчестери і ви випадково під час встановлення поставили GRUB на один вінчестер, а Лінукс на інший фізичний. Якщо система не хоче завантажуватися без одного з них, або після зміни порядку їх фізичного підключення - то це так і є.

Узяв з Груші
http://grusha.org.ua/faq/245

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Приблизно аналогічним чином мені довелося ставити груба на дженту з федориного інсталяційного диску. grub-install взагалі відмовився працювати: лише сам груб в командному режимі.
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній sigito

  • Кореспондент
  • ***
  • дописів: 105
  • Карма: +0/-0
можна також змонутвати в деяку папку свою особисту файлову і тоді chroot <куди змонтував корінь>
grub-install hd0 # якщо у вас бут з першого вінта
або ж якщо /boot на окремому розділі, то зайшовши з live CD, виконуємо команду:
grub-install --root-directory=<шлях до замаунченого /> --recheck hd0
# /boot маунтить в / перед командою
Debian/wheezy x86_64, lxde

Денис

  • Гість
Дуже дякую VITRE!!!!!!!!!!!!!! Дуже допомiг!!!!!!!!!!!!!!!!!!!!! Я думав, що вже доведеться перевстановлювати Лiнукс, коли вискочила помилка(Error 15 : File not found)!!!!  ;)

Відсутній Paul Carroty

  • Кореспондент
  • ***
  • дописів: 144
  • Карма: +0/-0
Актуальрий рецепт. Я завжди завантажувався через установочний диск і робив це в режимі відновлення.

roman-pikalyuk

  • Гість
А в мене на лазерному диску є така штука, яка називається Super Grub Disk.
Хє-хє.
« Змінено: 2009-12-04 12:10:44 від roman-pikalyuk »

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Бажаючі вміють Google і тепер також можуть мати таку штуку.
http://www.supergrubdisk.org/
Хє-хє.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.