Skocz do zawartości

Reinstalacja I Rekonfiguracja Grub2 W Fedorze 16 I Wyzej.


*Mario*

Rekomendowane odpowiedzi

Poradnik jak zainstalowac i poprawnie skonfigurowac GRUB2

 

Poradnik napisalem bo tylko nieliczni administratorzy wiedza, ze nie da sie uzywajac tylko Live-cd stworzyc wlasciwego pliku grub.cfg a jedynie mozna go zepsuc czytajac poradniki w necie tak jak zrobilem to ja i stracilem 5 nocy zeby to wszystko poskladac do jednego opisu.

 

jak ktos to opanuje to zmiany w partycjach nie beda mu straszne. :)

Moja konfiguracja to:
Na dysku C - Windows - partycja NTFS
Na dysku D - Rozne dane partycja NTFS
Swap - partycja Swap 500 MB
Linux - Fedora 16 - partycja LVM

Uwaga, kazda zmiana w partycjach na dysku moze skutecznie uniemozliwic nam
uruchomienie komputera i dostanie sie do zainstalowanych na nim systemow.


Uruchamiamy komputer z plyty Live-cd najlepiej tej samej wersji linuxa ktora
jest zainstalowana lub troche nowszej.

Kiedy naszym oczom ukazuje sie pulpit naszego linuxa uruchamiamy terminal w
ktorym wklepiemy kilka komend.

na poczatek sprawdzmy jakie posiadamy partycje na dysku

logujemy sie na roota

su -

wklepujemy:
 

fdisk -l

dostajemy wynik podobny do takiego

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sda1   *       16071    44724959    22354444+   7  HPFS/NTFS/exFAT
/dev/sda2        44724960    76212359    15743700    f  W95 Rozsz. (LBA)
/dev/sda3        76214272    77238271      512000   83  Linux
/dev/sda4        77238272   117209087    19985408   8e  Linux LVM
/dev/sda5        44725027    76212359    15743666+   7  HPFS/NTFS/exFAT

oraz troche nizej:

Dysk /dev/mapper/vg_mario-lv_root: 17.3 GB, bajtów: 17280532480
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 2100, w sumie sektorów: 33751040
Jednostka = sektorów, czyli 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x00000000

Interesuje nas sciezka

/dev/mapper/vg_mario-lv_root

oraz informacja ze partycje znajduja sie na dysku 'sda'

w moim wypadku jest to nazwa partycji na ktorej mam zainstalowanego linuxa wraz
z bootloadrem Grub2.

Kolejnym krokiem bedzie zmapowanie partycji glownej linuxa oraz kilku katalogow.
Wykonaj kolejno polecenia, pierwsze z nich odpowiednio dopasowujac do tego co
pokazal wczesniej fdisk -l:

mount /dev/mapper/vg_mario-lv_root /mnt
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
chroot /mnt

w tej chwili jestes jako root na swoim sytemie ktory jest zainstalowany na
dysku twardym

i teraz do wyboru mamy dwie mozliwosci.
Pierwsza to przywracamy Gruba do MBRu dysku na tym samym configu ktory jest na
dysku, albo mamy pecha i juz tak popsulismy configa poradnikami z neta ze
wszystko trzeba zrobic na nowo, nawet konfiguracje Gruba wraz z wszystkimi
systemami.

Metoda 1 - przywracamy Gruba z konfiguracja z dysku.
Wpisz polecenie dopasowujac 'sda' do tego co pokazal wczesniej fdisk -l:
 

grub2-install --recheck --no-floppy --root-directory=/mnt /dev/sda

Jesli otrzymales informacje ze instalacja zakonczona zostala powodzeniem i nie
ma bledow to restartuj komputer i sprawdz czy wszystko dziala.
Jesli pojawily sie bledy jak ponizej, lub po restarcie miales tylko napis Grub
i migajacy kursor przejdz do kolejnego kroku.

Ponizszy blad informuje ze mamy za malo miejsca na poczatku dysku aby w calosci
zmiescic tam bootloadera Gruba.

/sbin/grub2-setup: warn: Your core.img is unusually large.  It won't fit in the
embedding area..
/sbin/grub2-setup: error: embedding is not possible, but this is required when the root device is on a RAID array or LVM volume.

Rozwiazanie jest proste, trzeba uruchomic komputer z plytki na ktorej mamy
program do partycjonowania dyskow, np Acronis Disk Director i nastepnie
przesunac poczatek pierwszej partycji na dysku (np tej z Windowsem) tak aby
przed nia bylo np 8 MB wolnej przestrzeni na ktorej nie ma partycji.
Jesli sie z tym uporamy to ponownie trzeba zaczac wszystko od poczatku.

Metoda 2 - komputer po restarcie nadal nie dziala i nie mamy dostepu nawet do
windowsa czy jakiego kolwiek innego systemu.

bedac nadal pod Live-cd wykonujemy wszystko to co wczesniej opisane i tworzymy
automatycznie plik konfiguracyjny dla Gruba
 

set -e
exec grub2-mkconfig -o /mnt/boot/grub2/grub.cfg "$@"

Mozliwe ze otrzymamy podobny komuniakt jesli posiadacie Windowsa

Generating grub.cfg ...
Found Microsoft Windows XP Professional on /dev/sda1
done

Instalujemy jeszcze raz Gruba w MBR

Wpisz polecenie dopasowujac 'sda' do tego co pokazal wczesniej fdisk -l:
dla pewnosci ponawiamy przejscie na roota i instalujemy Gruba.
 

chroot /mnt
grub2-install --recheck --no-floppy --root-directory=/mnt /dev/sda

Teraz restart komputera i sprawdzamy czy dziala jakikolwiek system z menu listy
Gruba.

Windows na pewno ruszy, problem pewnie pojawi sie z linuxem.
Dlatego teraz wyzsza szkola jazdy.

bedac w menu Gruba mamy w menu wyboru jakies linuxy ale nam nie dzialaja, pisze
ze nie moze znalezc pliku.

Teraz najciekawsze, juz nie potrzebujemy plytki live-cd skoro Grub
sie zainstalowal. Zostajemy w jego menu i wciskamy klawisz 'c'
Przejdziemy do lini komend.

pojawi sie napis grub>_ i migajacy kursor.

teraz wklepujemy
 

ls

otrzymamy liste partycji.
Bedzie tam znane nam wczesniej vg_mario-lv_root oraz inne typu (hd0,msdos3)

teraz musimy zidentyfikowac kilka rzeczy.
Mianowicie interesuja nas: partycja root, na jakim lezy dysku, oraz jakiego
mamy najnowszego zainstalowanego kernela.

kolejno:
Partycja root to ta z dopiskiem root czyli w moim wypadku: vg_mario-lv_root
Dysk w moim przypadku to (hd0,msdos3)

sprawdzamy wszystkie msdosy kolejno wpisujac

ls -l (hd0,msdos1)

Ja szedlem na domysly, nie wiem jak mam to wytlumaczyc, jak wylistujecie
kazdego to ktorys bedzie pasowal do partycji linuxowej.

ostatnia sprawa to cyferki z kernela.
wpisz
 

ls -l /usr/src/kernels

Powinna pojawic sie lista katalogow. Trzeba sobie zapisac cyfry z najwyzszej
wersji, w moim przypadku byl to: 3.6.11-4.fc16.i686

teraz zaczynamy zabawe.
bedac nadal w lini polecen Gruba wklepujemy kolejno polecenia
dopasowujac: (hd0,msdos3)  3.6.11-4.fc16.i686  vg_mario-lv_root
 

set root=(hd0,msdos3)
linux (hd0,msdos3)/vmlinuz-3.6.11-4.fc16.i686 root=/dev/mapper/vg_mario-lv_root selinux=0
initrd (hd0,msdos3)/initramfs-3.6.11-4.fc16.i686.img
boot

po tym ostatnim poleceniu 'boot' powinien zaczac wgrywac sie nasz system linux
Jesli wszystko przebieglo dobrze, wlasnie sie logujemy do naszego linuxa ale to
nie wszystko

teraz trzeba naprawic konfig Gruba

wgrywamy Terminal i wklepujemy
 

su -

podajemy nasze haselko do roota
nastepnie
 

set -e
exec grub2-mkconfig -o /boot/grub2/grub.cfg "$@"

Instalujemy jeszcze raz Gruba w MBR

Wpisz polecenie dopasowujac 'sda' do tego co pokazal wczesniej fdisk -l:

 

grub2-install /dev/sda

lub
 

grub2-install --recheck --no-floppy /dev/sda

Teraz restart komputera i sprawdzamy czy dziala.
Po ponownym uruchomieniu linux bedzie troche mielil dyskiem i sie zrestartuje
poniewaz musi odtworzyc ustawienia selinuxa ktorego wczesniej wylaczylismy.

Powodzenia,

Mam nadzieje, ze moj czas nie poszedl na marne i chociaz jednej osobie sie ten
poradnik przyda. :)

Odnośnik do komentarza
Udostępnij na innych stronach

Witam

 

Przejscie na roota pod Live-cd i zabawa w update konfiguracji, zniszczy naszą konfiguracje grub.cfg

Sprawdzilem i jestem pewny, ze w konfiguracji zamiast wpisów do linuxa na dysku pojawia sie tylko dwa wpisy do kernela na plycie live-cd + wpis do Windowsa jesli nie jestem na roocie lub sam wpis Windowsa jesli jestem rootem.

 

Kierujac sie mysla ze da sie odzyskac grub.cfg pod live-cd stracilem az 5 nocek i bez powodzenia. Dopiero jak znalazlem sposob aby sie zalogowac na system na dysku i wtedy w tym wlasciwym systemie dokonalem przebudowy konfiguracji Gruba i stworzyl sie prawidlowy grub.cfg

 

jesli jest jakis sposob aby pod live-cd bedac rootem w zamontowanym systemie odtworzyc grub.cfg ktory bedzie sie odwolywal do kerneli z dysku twardego to daj znac, ja to przetestuje bo mnie sie tego nie udalo dokonac.

 

Pomimo ze caly internet ma ten sam sposob na Gruba, ktory u mnie nie zadzialal juz na wydawaniu komendy grub2-update, ktora to nie dziala pod live-cd (na szczescie to tylko prosty skrypt, ktory ktos przedstawil jako komendy) to i tak ciesze sie, ze dokonalem reinstalcji, rozwiazania problemu z mala iloscia miejsca w pierwszych sektorach dysku, kiedy to poprzesuwalem sobie partycje i Grub sie nie miescil oraz, ze udalo sie zalogowac do linuxa z lini polecen Gruba i dokonania naprawy jego konfiguracji.

 

co do ls -l /usr/src/kernels mozliwe ze masz racje, mam zainstalowane kernel-devel.

w takim razie poprawie poradnik jak tylko znajde inna sciezke lub sposob na sprawdzenie numerkow kernela w lini komend gruba.

 

pozdrawiem

 

P.S.

 

polecenie grub2-install z Wiki tez nie zadziala pod live-cd. Przynajmniej u mnie nie dzialalo.

Nie wiem dlaczego wszedzie w poradnikach wlasnie jest takie polecenie zamiast tego z "--recheck"

Najgorsze, ze ktos napisal, wszyscy kopiują, a byc moze w miedzy czasie cos sie zmienilo i nikt nie sprawdzil czy nadal to dziala.

Albo ja mam jakis dziwny przypadek. Bo posiadam partycje LVM o ktorej nikt nie wspomina.

Odnośnik do komentarza
Udostępnij na innych stronach

Dopiero jak znalazlem sposob aby sie zalogowac na system na dysku i wtedy w tym wlasciwym systemie dokonalem przebudowy

Możesz uszczegółowić to wyjaśnienie?

Ja, w przypadku poważnych awarii, używam pendrajwa (płyty ratunkowej) z System Rescue CD http://www.sysresccd.org/, który jest łatwiejszy do ratowania systemu, w tym gruba, niż płyta live-cd, a przejście na niestatrtujący system jest możliwe już przy uruchamianiu.

Odnośnik do komentarza
Udostępnij na innych stronach

Możesz uszczegółowić to wyjaśnienie?

Ja, w przypadku poważnych awarii, używam pendrajwa (płyty ratunkowej) z System Rescue CD http://www.sysresccd.org/, który jest łatwiejszy do ratowania systemu, w tym gruba, niż płyta live-cd, a przejście na niestatrtujący system jest możliwe już przy uruchamianiu.

 

u mnie wygladalo to tak:

 

zassalem sobie Live-cd fedora 20 aby sobie zainstalowac i cieszyc sie aktualnym systemem.

rownoczesnie mam tez Windows ktorego malo co uzywam bo zaraz po jego wgraniu mialem 0 MB wolnego miejsca na dysku C

postanowilem wypalic plyte Live-cd, poprzesuwac partycje (pozmieniac im rozmiary tak aby miec dwa systemy sprawnie dzialajace)

i restart komputera i Zonk - brak systemu, brak mozliwosci uruchomienia czego kolwiek

 

no to Live-cd Fedora 20 - jak na zlosc nie dziala, do dzisiaj nie udalo mi sie zaladowac instalatora.

wiec jak uruchomic komputer ? przywracanie Windowsowego loadera do MBR

Windows wstal, mam internet i szukam sposobu na Gruba

 

po zassaniu Live-cd F16 przywrocilem gruba ale zniszczylem poradnikami z neta grub,cfg poniewaz nieswiadomy robilem grub update pod Live-cd i zastapilem swoj wlasciwy grub.cfg wpisami z live-cd mimo iz bylem jako chroot /mnt

 

na szczescie uzywajac Live-cd zainstalowalem do MBR gruba ale wpisy do linuxa nie dzialaly, jedynie tylko Windows dalo sie uruchomic. Wiec doczytalem, ze w lini komend gruba mozna z reki wpisywac komendy ktore pozwolily uruchomic moj system F16 ktory mialem zainstalowany na dysku.

Dopiero po zalogowaniu sie do mojej F16, grub update zadzialal prawidlowo i stworzyl wlasciwy konfig z kernelami jakie mam zainstalowane i Windowsem

 

jeden maly plik, jedna komenda za duzo (mam male doswiadczenie i praktyke jak na linuxa mimo iz pracuje na nim od kilku lat) i tyle problemow.

 

co do RescueCD nie mialem, nie wiedzialem czy pomoze w mojej sytuacji, szukalem rozwiazania bardziej typu: napraw to majac tylko plyte Windows i Live-cd F16 - bez reinstalcji obu systemow

a bootowanie z Pendriva moj laptop nie posiada mimo iz jest w biosie - taki zarcik programistow Biosa.

 

Wiesz, ciekawe bylo to ze poradniki w necie mowia o tym ze wlasnie z Live-cd mozna gruba przywrocic, owszem mozna pod warukniem ze sie pod ZADNYM pozorem nie uruchomi komendy grub update tzn grub2-mkconfig.

i co lepsze, grub install tez nie dziala (partycja LVM) dopoki sie nie dopisze recheck  a o tym to juz prawie nikt nie pisze. Nawet w Wiki na tym forum

 

Bladzilem jak slepiec, ale wytrwalem i zrobilem :)

 

teraz probuje zmusic Live-cd F20 do zaladowania sie az zobacze pulpit. zniszczylem juz 5 plyt DVD bo nie wiem czy to wina nagrywarki czy co, poprostu system sie nie laduje do konca. stworzylem juz nawet pena z obrazem Live-cd ale jeszcze nie umiem go zaladowac przez gruba na dysku no i nie wiem czy uruchamiajac grubem z dysku HDD pendriva z obrazem F20 moge dokonac instalacji na ten dysk ? wkoncu to dysk jest w jakims stopniu w uzyciu bo grub byl zaladowany a ja chce wymazac partycje Root na ktorej jest grub i jego pliki instalujac F20 z pena.

 

mam nadzieje, ze jasno opisalem moje przejscia i ciesze sie jak malo kto, ze zdobylem nowe doswiadczenie :D

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...