Instalowalem Debiana po Ubuntu i zadnych problemow z Grubem nie bylo.
Wziolem to z poradnika do Gentoo.
-----------------------------------------------
Błąd Gruba numer 15
Sytuacja
Ten błąd występuje w dwóch różnych przypadkach. Podczas wstępnej konfiguracji (instalując Gruba do głównego sektora rozruchowego) lub po załadowaniu systemu i próbie uruchomienia Linuksa (lub innej pozycji).
Listing 4.1: Wyjście Gruba - wstępna konfiguracja
Kod: Zaznacz cały
grub> root (hd0,0)
Filesystem type is xfs, partition type 0x83
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... no
Error 15: File not found
Listing 4.2: Wyjście Gruba - ładowanie wpisu
Kod: Zaznacz cały
Booting 'gentoo Linux'
root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
kernel (hd0,0)/boot/kernel-2.4.20 root=/dev/hda3 vga=792
Error 15: File not found
Press any key to continue...
Rozwiązanie - wstępna konfiguracja
Ten błąd jest zwracany jeśli podana nazwa pliku nie może być znaleziona, ale wszystko inne (takie jak informacje o dyskach i partycjach) jest poprawne.
Często ten błąd informuje o brakującym pliku obrazu jądra. Należy się upewnić, że plik, do którego Grub się odnosi, istnieje na partycji rozruchowej.
Aby dowiedzieć się o dokładnej nazwie obrazu jądra należy załadować system z płyty instalacyjnej i zamontować partycję głównego systemu plików i partycję rozruchową (jeśli taką mamy). Potem chrootujemy się do naszego Gentoo, a następnie wyświetlamy pliki, aby zobaczyć jakie mamy dostępne obrazy jądra:
Listing 4.3: Weryfikacja istnienia obrazu jądra
To polecenie wyświetli wszystkie obrazy jądra, które mamy na partycji rozruchowej. Jeśli brakuje nam obrazu jądra, wtedy należy ponownie skompilować jądro (za pomocą genkernela lub ręcznie):
Listing 4.4: Ponowna kompilacja jądra
Kod: Zaznacz cały
# cd /usr/src/linux/
# make menuconfig (konfigurujemy jądro, jeśli trzeba)
# make
Po czym skopiować obraz na partycję rozruchową:
Listing 4.5: Kopiowanie jądra
Kod: Zaznacz cały
# cp /usr/src/linux/arch/i386/boot/bzImage /boot
Powinniśmy się upewnić czy nazwa obrazu jądra jest dokładnie taka sama jak w pliku grub.conf. Musimy również sprawdzić czy linia kernel w grub.conf odnosi sie do odpowiedniej partycji (jawnie lub niejawnie).
Innym powodem tego problemu może być nakazanie BIOS-owi, aby ignorował dysk na którym mamy stage Gruba lub obraz jądra. Ponadto partycja, na której znajdują się etapy GRUB-a, nie może korzystać programowego RAID-5 (lub innej tego typu techniki).
Rozwiązanie - ładowanie wpisu
Najpierw należy zweryfikować, że polecenia root oraz setup są poprawne.
Jeśli jesteśmy pewni, że są poprawne, to jest możliwe, że używamy wadliwej wersji Gruba (0.93.20031222). Wówczas należy uaktualnić drzewo portage lub zamaskować tę wersję Gruba:
Listing 4.6: Maskowanie Gruba
Kod: Zaznacz cały
(Należy to wykonać będąc w środowisku chroot)
# echo "=sys-boot/grub-0.93.20031222" >> /etc/portage/package.mask
# emerge grub -p
Możemy również użyć skryptu grub-install, który jest zalecany przez autorów Gruba:
Listing 4.7: Używanie grub-install
(parametr --root-directory jest konieczny jeśli używamy osobnej
partycji rozruchowej, w przeciwnym wypadku możemy go pominąć)
Kod: Zaznacz cały
# grub-install --root-directory=/boot /dev/hda
Jeśli to wszystko zawiedzie, to nasza partycja rozruchowa może być uszkodzona. Należy sprawdzić tę partycję w poszukiwaniu błędów:
Listing 4.8: Sprawdzanie partycji w poszukiwaniu błędów
(Należy się upewnić, że partycja rozruchowa, w tym przypadku /dev/hda1, nie jest zamontowana)
-----------------------------------------------
Ps.A teraz niech bardziej obcykani ode mnie to rozwina