LINUX.ORG.RU

2 жестких диска, 3 ОС: GRUB2 не видит ОС на первом диске


0

1

На sda установлена лишь Windows XP. На sdb установлены Windows 7 и Debian. XP устанавливалась уже после Debian и 7. Сделал grub-install /dev/sdb, update-grub - в меню груба появились Debian и Win7, а XP нет. Если grub на /dev/sda ставить - та же песня, XP не появляется в меню.

Господа, помогите нубу: Как всё-таки добавить XP в меню? Если автоматически не добавляется, то какие конфиги править и что писать туда?

Общая схема разделов: /dev/sda: /dev/sda1 - Win XP

/dev/sdb: /dev/sdb1 - Windows 7 /dev/sdb2 - Extended /dev/sdb5 - Debian / (корень) /dev/sdb6 - Debian /home

Поиском других ОС для grub занимается os-prober, а в случае с вендой - он ищет ее загрузчик и добавляет в grub, если таковой находится.
Не представляю, по какой причине он не нашелся в первый раз, но после установки grub на /dev/sda он уже точно никогда не появится, ибо загрузчик XP затерт.

ArtKun ★★★★★ ()
Ответ на: комментарий от mbwa

Семерка создает отдельный 100-мегабайтный раздел для загрузчика, и если его не трогать - все будет работать. XP такого еще не умела.

ArtKun ★★★★★ ()
Последнее исправление: ArtKun (всего исправлений: 3)
Ответ на: комментарий от ArtKun

Я про MBR писал, ты мне про разделы. При чём тут разделы?

mbwa ()
Ответ на: комментарий от ArtKun

Я про MBR писал, ты мне про разделы. При чём тут разделы?

Уже ответил.

mbwa ()
Ответ на: комментарий от ArtKun

Загрузчик в винде - это файл в корне раздела. MBR - это указатель.

Для загрузки хр достаточно: chainloader /ntldr

Для семерки: chainloader /bootmgr

Grub2 должен сам все это хозяйство найти и добавить. Но никто не отменял тот факт, что grub2 глючное говно.

Radius ★★★★ ()
Ответ на: комментарий от Radius

То есть в венде загрузчик - это файл в корне раздела, а к нему нас приводит bootmgr, который расположен на отдельном разделе, а к bootmgr - запись в MBR? Вот это костыли...

ArtKun ★★★★★ ()
Ответ на: комментарий от ArtKun

Да, с виндой сплошное веселье. Граб умеет chainloader с любого диска, с любого раздела, но сама винда умеет грузиться только с первого диска (!!!) и первичного раздела (не логического) с пометкой bootable. Т.е. должны выполняться все эти три условия.

Но в грабе есть прекрасные средства для того, чтобы сделать диск первым по счету (если биосом он задан как hd1)
Для этого надо:
map (hd1) (hd0)
map (hd0) (hd1)
только после чего винда сможет загрузиться.

Radius ★★★★ ()
Последнее исправление: Radius (всего исправлений: 1)

Вы не указли ни версию grub'а, ни версию Debian.

Можете попробовать посмотреть содержимое файла ″/boot/grub/menu.lst″, если он есть. Если он есть, и там есть запись для win7, то можно попробовать создать запись по аналогии для winXP, только указать другой раздел ″(hd0,0)″.

Если grub на /dev/sda ставить - та же песня

А winXP то сейчас вобще загружается (при смене загружаемого диска в BIOS'е)?

mky ★★★★★ ()
Ответ на: комментарий от ArtKun

Пардон, я твой вопрос так и не осветил.

bootmgr и ntldr - это и есть сами загрузчики, на подобие grub, только очень убогие. Обычно стандартными средствами нельзя даже поменять место его размещения (корень или каталог). В MBR обычно записано место расположения загрузчика и возможно какая-то минимальная программа для инициализации. MBR на диске нужен только для загрузки с этого диска из BIOS.

Radius ★★★★ ()
Ответ на: комментарий от ArtKun

А чтобы этот костыль установился, часто приходится физически отключать жёсткие диски.

Programmist11180 ★★★ ()

Когда ставишь несколько осей на разных винтах не ленись отключать винт (питание). И приучись к boot menu - это удобнее.

nihil ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.