Мини-howto от себя:
В Linux диски обычно отображаются как /dev/sdXY, где X это идентификатор физического диска, а Y - логического раздела. Так например, /dev/sda это будет ваш первый диск (MASTER если используется IDE-канал), /dev/sdb ваш второй диск (SLAVE) а /dev/sdc обычно это USB-флэхи. Соотвественно, /dev/sda1 может быть разделом SWAP, /dev/sda2 вашим корневым разделом и /dev/sda3 диском с виндой. Ситуация чуть-чуть сложнее если винда и линукс стоят на разных физических дисках. А теперь поговорим о том как диски именуются в GRUB. Тот-же /dev/sda1 будет называться (hd0,0), /dev/sda2 становится (hd0,1), /dev/sda3 - (hd0,2) а /dev/sdb1 - (hd1,0) и так далее. Ничего сложного, так ведь? Важно помнить только что в GRUB нумерование начинается с нуля. Думаю будет лишним писать как устанавливается сам пакет GRUB и что он необходим. А теперь вот вам мой конфиг (обычно это /boot/grub/menu.lst), там всё прокомментировано, так что проблем не должно быть.
# По истечению 7-и секунд, загружается Gentoo Linux с ядром 2.6.31-R10
default 1
# Время ожидания перед началом загрузки ОС по умолчанию
timeout 7
# Красивая фоновая картинка
splashimage=(hd0,1)/boot/grub/iron_maiden.xpm.gz
# Первый пункт меню
title Gentoo Linux [2.6.31-R6]
root (hd0,1)
kernel /boot/linux-2.6.31-r6.img root=/dev/sdb2 rw vga=0x31A
# Второй пункт меню
title Gentoo Linux [2.6.31-R10]
root (hd0,1)
kernel /boot/linux-2.6.31-r10.img root=/dev/sdb2 rw vga=0x31A
# Пункт меню для загрузки винды.
title Windows XP Pro SP3
map (hd0,0) (hd1,0)
map (hd1,0) (hd0,0)
rootnoverify (hd1,0)
makeactive
chainloader +1
А теперь объясним по-порядку ситуацию:
- Имеются два диска и три раздела: /dev/sda1 с разделом подкачки SWAP, /dev/sda2 с корневым разделом в формате ReiserFS и /dev/sdb1 с Windows XP.
- В списке разделов, загрузочным отмечен /dev/sda1 (раздел подкачки), поэтому MBR будет записываться на него.
- Так как мелкософт считает что они больно козырные, и что первый жесткий диск должен обязательно отводиться под их любимую винду, то нужно "схитрить": мы переназначаем диск с линуксом так, что он как бы становится /dev/sdb, а диск с виндой - /dev/sda. Это происходит виртуально, поэтому не беспокойтесь, ваши диски будут на своих местах :) Если у вас линукс и виндоус на одном физическом диске, просто удалите две строчки следующие после title, и отредактируйте пункт rootnoverify() под ваши нужды.
Теперь необходимо установить GRUB в загрузочный сектор. Для этого из-под рута пишем
# grub
grub> root (hd0,1)
grub> setup (hd0)
Первая команда назначает ваш корневой раздел (с линуксом) а вторая устанавливает GRUB. Почему только hd0 а не hd0,0? Да потому-что он сам найдет раздел, отмеченный как Bootable.
Не знаю зачем я убил столько времени чтобы написать это, наверное всё банально и понятно без этого, но надеюсь хоть кому-то пригодится.
P.S: Вложил так-же самопальную темку для GRUB, кидайте в папку /boot.