LinuxForum.Fans
Тема

[Решено] Как добавить в список загрузки windows?

Автор: n9uf 22 сообщений 11712 просмотров 🔒 закрыта
#11098

Мини-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), там всё прокомментировано, так что проблем не должно быть.

text

# По истечению 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 в загрузочный сектор. Для этого из-под рута пишем

text

# grub
grub> root (hd0,1)
grub> setup (hd0)

Первая команда назначает ваш корневой раздел (с линуксом) а вторая устанавливает GRUB. Почему только hd0 а не hd0,0? Да потому-что он сам найдет раздел, отмеченный как Bootable.

Не знаю зачем я убил столько времени чтобы написать это, наверное всё банально и понятно без этого, но надеюсь хоть кому-то пригодится.

P.S: Вложил так-же самопальную темку для GRUB, кидайте в папку /boot.

#11710

Эпопея закончилась тем, что установил plbt-менеджер. Он сам определил диски и создал меню. В общем вопрос решен.

Войдите или зарегистрируйтесь, чтобы ответить.