Однажды я решил установить на попавшийся под руку компьютер 8 популярных дистрибутивов Linux и одну FreeBSD. Да, вот так оригинально. Последней установил Ubuntu, т.к. она замечательно определила все 7 остальных установленных дистрибутивов и добавила необходимые строчки в GRUB (мне было лень возиться самому, вспоминая, на какой раздел что я установил). Но это не главное.
Осталось только добавить в GRUB пару строчек для загрузки FreeBSD.
1 2 3 4 |
menuentry "FreeBSD" { root (hd0,a) kernel /boot/loader } |
Но не тут-то было — у меня стоял GRUB 1.98, который ругался на команду kernel:
1 |
error: unknown command `kernel'. |
Тогда я попробовал загрузить шнягу наподобие windows:
1 2 |
set root=(hd0,a) chainloader +1 |
Но тут мне показалась другая ошибка:
1 |
error: invalid signature |
После довольно продолжительного поиска, я нашел такой способ:
1 2 |
set root=(hd0,a) freebsd /boot/loader |
Но и тут меня ждала неудача 🙁
1 |
error: unknown command `freebsd'. |
И лишь в четвертый раз все получилось — когда в консоль GRUB я ввел следующие строки, пошла загружаться Фря.
1 2 3 |
set root=(hd0,a) kfreebsd /boot/loader boot |
Т.е. команды freebsd нет, есть kfreebsd. Необычно.
А в сам конфиг Grub’а ( /boot/grub/grub.cfg) нужно добавить следующее:
1 2 3 4 |
menuentry "FreeBSD" { set root=(hd0,a) kfreebsd /boot/loader } |
Такой вариант подходит для GRUB 1.98, для остальных — не знаю, с GRUB2 я дел особо не имел и не собираюсь, т.к. привычный grub 0.97 на моих рабочих компьютерах выполняет все необходимое и смысла пробовать что-то другое пока нет 🙂
Если вы не знаете, какой раздел указывать для загрузки, то определить его можно простым перебором. Включаете компьютер, дожидаетесь появления меню Grub, жмете C, попадаете в его командную консоль и смотрите, где что:
1 2 3 4 5 6 7 8 |
grub> root (hd0,0) error: no such partition grub> root (hd0,3) (hd0,3): Filesystem is ext2 grub> root (hd0,1) (hd0,3): Filesustem is unknown grub> root (hd0,a) (hd0,a): Filesystem is ufs2 |
Вот на ufs2, скорее всего, и стоит FreeBSD. Надеюсь, что кому-то удалось помочь, удачи!