Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Загрузчик GRUB (http://forum.oszone.net/showthread.php?t=185476)

marat-link 14-09-2010 22:48 1495474

Загрузчик GRUB
 
Доброго времени суток форумчане!
Обращаюсь к Вам в надежде что Вы поможете решить сложившуюся проблему:
На машине стоит 3 системы:
  1. Windows XP SP3
  2. Windows 7 (без SP1)
  3. Runtu:
    1. Kernel: Linux 2.6.24-21-generic (i686)
    2. Distribution: Ubuntu 8.04.1
    3. 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 1495778

Для начала почитайте вот это - 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 1496354

Статью почитал - спасибо за ссылку (узнал о том, как конфигурировать GRUB). GRUB установлен на /dev/sda. По поводу Seven: она установлена на /dev/sda1.
Цитата:

но почему тогда "root (hd0,4)"
- это моя вина, менял настройки GRUB без имения определенных знаний.
Переустанавливать все системы не разумно: - все ОСи настроены в течении долго времени; - наверняка можно восстановить все загрузчики систем без переустановки их.
На основе советов Eakdrazile попытаюсь что-либо сделать, а именно: поправить (hd0,4) на (hd0,0). Пока это все.


Время: 23:35.

Время: 23:35.
© OSzone.net 2001-