Posiadam na dysku (SATA) zainstalowane 2 systemy operacyjne: Debian Linux (Wheezy) i Windows XP.
Niedawno wpadłem na pomysł aby zainstalować FreeBSD. Postanowiłem podpiąć stary dysk ATA i odłączyć SATA aby się nie patyczkować z nadpisywaniem MBR’a. System zainstalował się gładko, było trochę zabawy z instalacją i… Postanowiłem sparować diabełka (FreeBSD) z GRUB 2.
W tym celu podpiąłem dysk SATA i ponownie ustawić w BIOSie bootowanie SATA jako pierwszego (po zabawach z przepinaniem dysków domyślnie jako pierwszy bootuje ATA nawet ustawionego jako slave) i… załadowałem pingwinka.
Polecenie
update-grub
nie przyniosło pożądanych rezultatów. Z windowsem działało… Tylko że przy 8’ce były ciągle resety przy próbie bootowania z GRUB’a ;/
Nim odpisałeś, pokombinowałem i udało mi się zbootować spod gruba BSD, ale tylko “w locie” - tj przy zmodyfikowaniu wpisu z poziomu gruba. Po zmodyfikowaniu pliku /etc/grub.d/40_custom, system nadal nie był bootowany a grub przestał w ogóle widzieć partycje z tego dysku.
W ogóle to pofiksowało mi menu z gruba - wywaliło tło i ustawiło jakiś dziwny układ kolorów. Co zabawne, GRUB po update wyświetla czasami zaktualizowaną listę dopiero po którymś restarcie… Nigdy tak dziwnie nie reagował.
Widoczne partycje przez gruba wyświetlałem za pomocą polecenia ls. Z dysku hd0 (ten na którym jest grub) widział wszystko, a w przypadku dysku hd1 wyświetlał tylko jego identyfikator.
Nie chcę instalować na tamtym dysku gruba ponieważ jest to taki dysk trochę do zabawy - czyli dziś jest, jutro go może nie być i często zmieniam na nim systemy. Win 8 też fiksował ale np. Windows 7 nie… Był czas że tylko ten dysk miałem podpięty gdy testowałem 8 i też chodziło.
Chciałbym zwrócić uwagę na to że nie mam płyty z EFI więc teoretycznie powinno iść jak po masełku. Z tego co czytałem na forach to z EFI bywają kłopoty… ;/
Pisząc, że FreeBSD należy dodać tak, jak Windowsa, chodziło mi o chainloader. Podana przeze mnie dokumentacja była przykładem konfiguracji. Spróbuj zrobić to w taki sposób. Dodaj do pliku 40_custom taki wpis.
menuentry “FreeBSD″ {
set root=(hd0,1)
chainloader +1
}
Jako set root podajesz partycję, na której masz katalog /boot, jeśli jest inna to zmień tę wartość na odpowiednią dla twojej sytuacji. Następnie wykonujesz polecenie.
su -c update-grub
U mnie ten sposób działał, gdy korzystałem z FreeBSD. Po wybraniu z z listy FreeBSD w Grubie, powinien uruchomić się program rozruchowy FreeBSD.