GRUB - instalacja, konfiguracja, naprawa itp.

Archiwalne, stare wpisy FAQ i HowTo Użytkowników
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

GRUB - co to?


Co to jest w ogóle GRUB? Grub (GRand Unified Bootloader) jest to program rozruchowy. Dzięki niemu możemy zaraz przy włączeniu komputera wybrać system który chcemy uruchomić. Grub potrafi odczytać bardzo wiele systemu plików (ext2, minix, FAT, FFS, ReiserFS, XFS, JFS i wiele innych). Potrafi on również załadować system bezpośrednio z urządzenia. GRUB obsługuje zabezpieczenia hasłem uruchamiania dowolnego systemu operacyjnego lub możliwości uruchomienia powłoki. Dla haseł obliczana jest suma MD5 co powoduje trudności w odgadnięciu hasła nawet, gdy przez przypadek mamy do dyspozycji sumę kontrolną.
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Naprawa GRUB-a

Czasami się zdarza, że GRUB pokaże nam jakiś błąd, nie wiadomo dlaczego i nie możemy uruchomić żadnego systemu. W takim wypadku mamy kilka rozwiązań. Poniżej podaję sposoby naprawy GRUB-a. Jeżeli, któryś z nich nie zadziała, to próbuj następnym.
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Uruchamianie systemu z poziomu GRUB-a Autor: gson
  • Gdy zobaczysz ekran z wyborem systemu wciśnij c co sprowadzi cię do linii poleceń.
  • Zakładając, że system, który chcesz uruchomić znajduje się na partycji hda7 to wpisujesz:

    Kod: Zaznacz cały

    root (hd0,6)
    Dlaczego właśnie hd0,6? Ponieważ hd0 to jest dysk, a 6 partycja, liczona od zera, to hda7.
  • Wpisujesz:

    Kod: Zaznacz cały

    kernel /boot/vmlinuz-2.6.?? root=/dev/hda7

    lub w przypadku jądra z serii 2.4:

    Kod: Zaznacz cały

    kernel /boot/vmlinuz-2.4.?? root=/dev/hda7
    Gdzie w miejscu ?? wpisujesz posiadaną wersję jądra. Jeżeli nie wiesz jakie masz jajko użyj Tab a nazwa zostanie dokończona.
  • Jeżeli masz zrobione dowiązanie to możesz spróbować:

    Kod: Zaznacz cały

    kernel /vmlinuz root=/dev/hda7
  • Jeżeli musisz załadować obraz initrd:

    Kod: Zaznacz cały

    initrd /boot/initrd.img-2.??
  • I w końcu:

    Kod: Zaznacz cały

    boot
    Jeżeli wpisałeś wszystko dobrze to będziesz miał uruchomiony system.
  • Możesz jeszcze spróbować wpisać:

    Kod: Zaznacz cały

    grub-install hda
  • Spróbuj także pozmieniać pliki GRUB-a w /boot/grub/ oraz przyjrzyj się plikowi /boot/grub/menu.lst
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Instalacja GRUB-a w MBR za pomocą LiveCD Autor: Adamo8

Uruchamiamy jakąś dystrybucję LiveCD np. Knoppix, Ubuntu Live, Debian LiveCD itp.

Klk-> Dystrybucje narzędziowe livecd
  • Jeśli nie pamiętamy jakie właściwie mamy partycje na dysku (numeracja i system plików) to po odpaleniu systemu z płytki możemy to sprawdzić graficznym programem qparted lub wydając w terminalu polecenie (jako root):

    Kod: Zaznacz cały

    fdisk -l
  • Jako root wydajemy kolejno polecenia (oczywiście musisz wpisać zamiast hda7 swoją partycję):

    Kod: Zaznacz cały

    mkdir /mnt/root
    mount -t ext3 /dev/hda7 /mnt/root
    mount -t proc none /mnt/root/proc
    mount -o bind /dev /mnt/root/dev
    chroot /mnt/root /bin/bash
    grub
  • Powinieneś zobaczyć taki wpis:

    Kod: Zaznacz cały

    grub>
    Jeśli tak, to uzyskałeś dostęp do powłoki gruba.
  • Wpisujemy dalej:

    Kod: Zaznacz cały

    find /boot/grub/stage1
    Pokaże nam to jakie są dostępne dalsze opcje.
  • Sprawdzamy dalej (też podaj swój dysk i partycję):

    Kod: Zaznacz cały

    root (hd0,6)
    setup (hd0)
    Po restarcie powinniśmy mieć Gruba zainstalowanego i dostęp do systemu. Jeżeli tak nie będzie, upewnij się, że dobrze robisz i spróbuj ponownie. Jeżeli znowu się nie uda, spróbuj innego sposobu.
  • Korzystanie z linii poleceń gruba do naprawy:
    http://debian.linux.pl/threads/14030-GR ... #post90270
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Edycja /boot/grub/menu.lst
Autor: mlyczek


Możemy to zrobić zrobić z poziomu dowolnego systemu np. Windows, jakiś LiveCD itp.
  • Otwieramy w edytorze plik /boot/grub/menu.lst
  • Wpis w tym pliku powinien wyglądać miej więcej tak:

    Kod: Zaznacz cały

    title        Debian GNU/Linux, kernel 2.6.18-2-k7
    root        (hd0,6)
    kernel        /boot/vmlinuz-2.6.18-2-k7 root=/dev/hda6 ro
    initrd        /boot/initrd.img-2.6.18-2-k7
    savedefault
    boot
Teraz parę wyjaśnień:
  • title - tekst, który zobaczysz w GRUB-ie podczas wyboru systemu.
  • root - partycja, na której jest dany Linux (musi być w nawiasie) - 0 to nr dysku (tutaj master), a 6 to nr partycji (systemowej /), licząc od zera (w tym wypadku Linux jest na hda7, więc wpis wygląda tak jak wyżej).
  • kernel - podaje ścieżkę do wersji jądra - pod Knoppiksem wejdź do katalogu /boot na dysku, na którym masz Linuksa i sprawdź jaką końcówkę ma plik vmlinuz i wpisz zamiast tych co są wyżej. Zmień jeszcze dysk na jakim ten Linux jest zainstalowany, bo wyżej jest tak jak już wspominałem hda7.
  • initrd - tak samo jak przy opcji ,,kernel'' - sprawdzasz jakie numery ma plik initrd.img w twoim katalogu boot na dysku z Linuksem i poprawiasz.
  • boot to polecenie, które uruchamia system.
Zapisujesz teraz plik, zrestartuj komputer i powinno działać. Uwaga! Najczęściej trzeba tylko zmienić linijkę root.
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Odzyskiwanie GRUB-a
Autor: tanatos


Wkładamy jakąś najnowszą płytę instalacyjną Debiana do napędu i wpisujemy:

Kod: Zaznacz cały

rescue
lub:

Kod: Zaznacz cały

rescuegui
Wykonujemy po kolei wszystkie montowania dysków, klawiatury, sprawdzanie internetu itp. (tak jak w przypadku normalnej instalacji). W pewnym momencie następnym krokiem, który się pojawi będzie uruchom konsolę odzyskiwania (lub coś w tym stylu). Tam wybieramy partycję, na której mamy zainstalowany system. Teraz ładuje Ci się powłoka z twoim systemem w trybie naprawy. Sprawdź plik /etc/lilo.conf lub /boot/grub/menu.lst w poszukiwaniu błędów. Jak już wszystko poprawisz, w przypadku używania LILO, wpisz:

Kod: Zaznacz cały

lilo

W przypadku używania GRUB-a po prostu zapisz zmieniany plik.

I to wszystko. Jeżeli problem był w MBR to po restarcie wszystko powinno się naprawić.
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Błędy GRUB-a


Jak wiadomo GRUB potrafi czasami się wywalić z różnymi błędami. Listę tych błędów znajdziemy tutaj: http://www.gentoo.org/doc/pl/grub-error-guide.xml. Jak widać jest to dokumentacja Gentoo. Ale bezsensem byłoby przepisywać, wszystko co się tam znajduje, tutaj, więc po prostu podaję odnośnik.

Zobacz dokładnie, czy znajduje się tam błąd, który akurat u Ciebie występuje. Jeżeli tak właśnie jest, zobacz co powinieneś zrobić i wykonaj.

Spis wszystkich błędów w języku angielskim:
http://www.gnu.org/software/grub/manual ... ge2-errors
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Zamiana LILO na GRUB-a oraz instalacja GRUB-a


Najpierw odpowiedzmy sobie na jedno pytanie: Dlaczego nie LILO?. LILO można by powiedzieć, że jest już przestarzały i słabo rozwijany. Grub natomiast ma o wiele większe możliwości niż LILO i jest bardzo dobrze rozwijany. Oczywiście nikt nie zmuszą Cię do GRUB-a, zrobisz jak zechcesz. Jeżeli posiadasz LILO i dobrze Ci działa, to nie musisz bawić się w GRUB-a.


Aby zmienić LILO na GRUB-a należy najpierw odinstalować LILO, a następnie zainstalować GRUBa. Nie można po odinstalowaniu LILO uruchomić ponownie komputera. Należy najpierw odinstalować LILO, a następnie zainstalować GRUB-a. Mówiąc krótko zrób to:

Kod: Zaznacz cały

apt-get remove lilo
i

Kod: Zaznacz cały

apt-get install grub
lub jeśli korzystasz a aptitude:

Kod: Zaznacz cały

aptitude remove lilo
i:

Kod: Zaznacz cały

aptitude install grub
i w zależności z jakiego dysku korzystamy to w konsoli GRUB-a (wchodzimy tam (do konsoli gruba) za pomocą klawisza c wtedy kiedy zaraz przy uruchomieniu komputera pokaże się nam ekran GRUB-a):

Kod: Zaznacz cały

root (hd0,6) setup (hd0)
Co to oznacza? Wywnioskuj to z opisów przywracania GRUB-a.
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Usuwanie LILO lub GRUB-a z MBR


Tak, nie raz się zdarza, że ktoś już nie chce mieć Linuksa na dysku, ale po usunięciu go, pozostał ten "wredny" GRUB bądź LILO. Sprawa jest bardzo prosta. Wkładamy płytkę Windowsa (testowane na Windows XP Pro), uruchamiamy tryb odzyskiwania/naprawa (lub coś w tym stylu - najczęściej klawisz R). Następnie logujemy się na konto administratora i wpisujemy:

Kod: Zaznacz cały

fixmbr
i uruchom ponownie komputer. Teraz nie ma już GRUB-a/LILO.
Zablokowany