PDA

Показать полную графическую версию : Загрузчик GRUB


marat-link
14-09-2010, 22:48
Доброго времени суток форумчане!
Обращаюсь к Вам в надежде что Вы поможете решить сложившуюся проблему:
На машине стоит 3 системы:

Windows XP SP3
Windows 7 (без SP1)
Runtu:
Kernel: Linux 2.6.24-21-generic (i686)
Distribution: Ubuntu 8.04.1
Desktop Environment: GNOME 2.22


Первой на машине была система XP (диск "D", но загрузчик лежал по умолчанию на диске "C").
Втрой системой Runtu (загрузчик Grub встал нормально).
Последней третьей Seven (перед установкой форматировал диск "С", соответственно затерся загрузчик XP. Grub она тоже снесла.)

Команда sudo fdisk -l:
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 1 2611 20972826 7 HPFS/NTFS #Seven
/dev/sda2 2612 6528 31463302+ 7 HPFS/NTFS
/dev/sda3 6529 7902 11036655 5 Расширенный
/dev/sda4 7903 9729 14675377+ 83 Linux #Runtu
/dev/sda5 * 6529 7902 11036623+ 7 HPFS/NTFS #XP

Восстановил Grub, но он не может загрузить Seven, зато Runtu грузит. Постоянно пользуюсь то Seven, то Runtu.
Проблема:
Заставить Grub иметь возможность загружать хоть бы Seven и Runtu (желательно еще и XP).
P.S. Содержимое файла /boot/grub/menu.lst

title Ubuntu 8.04.1, kernel 2.6.24-21-generic
root (hd0,3)
kernel /boot/vmlinuz-2.6.24-21-generic root=UUID=8589e293-895d-40eb-9aac-59df2f251130 ro splash vga=773
initrd /boot/initrd.img-2.6.24-21-generic
quiet

title Ubuntu 8.04.1, kernel 2.6.24-21-generic (recovery mode)
root (hd0,3)
kernel /boot/vmlinuz-2.6.24-21-generic root=UUID=8589e293-895d-40eb-9aac-59df2f251130 ro single
initrd /boot/initrd.img-2.6.24-21-generic

title Ubuntu 8.04.1, memtest86+
root (hd0,3)
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Windows Vista/Longhorn (loader)
root (hd0,4)
savedefault
makeactive
chainloader +1
1

Eakdrazile
15-09-2010, 12:02
Для начала почитайте вот это - http://www.opennet.ru/soft/GRUB.pdf.
Далее по /boot/grub/menu.lst:

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Windows Vista/Longhorn (loader)
root (hd0,4)
savedefault
makeactive
chainloader +1
/dev/sda1 он определил правильно (у вас там по ходу стоит семерка), но почему тогда "root (hd0,4)", (hd0,4) это /dev/sda5 (в переводе на обычный синтаксис, поскольку у GRUB он свой).
А куда у вас установлен GRUB? В MBR на /dev/sda?
В таблице разделов какой-то беспорядок:
- основных разделов (PRIMARY) должно быть всегда не больше четырех (соответственно это /dev/sda1, /dev/sda2, /dev/sda3, /dev/sda4), один из них, например /dev/sda1, в который мы всегда устанавливаем винду должен быть помечен как "boot" (загрузочный)
- логические разделы начинаются с /dev/sda5 и их может быть сколько угодно (Linux'ы можно устанавливать в логические разделы, для них это не играет никакой роли, а винда - в основной)
- логично было бы установить (если он еще вам нужен) XP в /dev/sda1, заранее пометив этот раздел как "загрузочный" (в MBR винта во время установки винды не должно быть GRUB'а), далее пометить /dev/sda2 как "загрузочный" и установить туда семерку (тогда во время загрузки будет по идее загружаться загрузчик с /dev/sda2 то есть семерки и из него можно выбрать, что грузить - XP или семерку)
- Runtu установить в логические разделы - /dev/sda5 (корневой раздел) и использовать /dev/sda6 как раздел подкачки, при установке пометить, что загрузчик устанавливается в MBR на hd0 (или /dev/sda - как он покажет).
/dev/sda2 2612 6528 31463302+ 7 HPFS/NTFS
непонятно, зачем ему быть основным, если в него не устанавливается ОС
/dev/sda5 * 6529 7902 11036623+ 7 HPFS/NTFS #XP
винда обычно настаивает быть установленной в основной раздел (а здесь в логический) и пометка "загрузочный" должна стоять на одном из основных разделов
В /boot/grub/menu.lst , исходя из вашей нынешней таблицы разделов, то что касается Runtu заполнено правильно.

marat-link
16-09-2010, 01:24
Статью почитал - спасибо за ссылку (узнал о том, как конфигурировать GRUB). GRUB установлен на /dev/sda. По поводу Seven: она установлена на /dev/sda1. но почему тогда "root (hd0,4)" - это моя вина, менял настройки GRUB без имения определенных знаний.
Переустанавливать все системы не разумно: - все ОСи настроены в течении долго времени; - наверняка можно восстановить все загрузчики систем без переустановки их.
На основе советов Eakdrazile попытаюсь что-либо сделать, а именно: поправить (hd0,4) на (hd0,0). Пока это все.




© OSzone.net 2001-2012