GRUB ne prepoznaje moj operativni sustav? Kako to riješiti?
Nastavljamo naš GRUB 2 tečaj. Instalirali ste novu Linux distribuciju. Sve je divno i krasno, ali kad ste napravili reboot vidite da u boot meniju nema drugog operativnog sustava! Kako ga vratiti natrag?
Postoje dva načina – automatski i ručno. Ako imate sreće operativni sustav će biti prepoznat automatski. A ako ne, malo ćete zasukati rukave i pokazati vašem računalu gdje se izgubio drugi operativni sustav.
Automatski
Najprije pokušajte autodetekciju. Kao root pokrenite u Terminalu ili Konzoli:
update-grub
naredbu. To će pokrenuti autodetekciju i postoji šansa da će GRUB sam pronaći izgubljeni operativni sustav.
Ručno
Ukoliko to ne pomogne, morati ćete ručno dodati vaš operativni sustav u /etc/grub.d/40_custom datoteku.
To nije baš jednostavno, ali ako slijedite upute, ne bi smjelo biti problema.
Dakle, kao root otvorite nekim uređivačem teksta (Gedit, Kate, Kwrite, nano) /etc/grub.d/40_custom datoteku.
Prazna datoteka izgleda ovako:
#!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above.
Ispod tog teksta dodajemo naš operativni sustav.
Ručno dodavanje neke Linux distribucije
Za to trebamo znati na kojem se disku i kojoj particiji nalazi početak tog operativnog sustava. Kao root pokrenite
fdisk -l
Dobiti ćete ispis svih diskova i particija na vašem računalu.
Ovo je npr. moj ispis:
Disk /dev/sda: 250.1 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xc3ffc3ff Device Boot Start End Blocks Id System /dev/sda1 * 25839 29699 31013482+ 83 Linux /dev/sda2 29700 30401 5638815 5 Extended /dev/sda3 1 25838 207543703+ 83 Linux /dev/sda5 29700 30401 5638783+ 82 Linux swap / Solaris
U ovoj vježbi praviti ću se da mi nedostaje Linux na /dev/sda3. Vidim da se radi o particiji od u grubo negdje dvjestotinjak Gb. A od ranije znam da imam na toj particiji instaliran Ubuntu 9.10.
Napomena! GRUB uređaje označava s hdX,Y – X je oznaka diska i broji se od 0. Y je oznaka particije i broji se od 1. (sda3 je znači hd0,3; sdc4 bi npr. bio hd2,4)
Dalje, trebati će mi UUID broj te particije.
Njega dobijem naredbom
blkid
Naredba se također mora pokrenuti kao root.
Ovo je ispis za sda3
/dev/sda3: UUID="a8f93734-8747-418f-a814-0d270c8156fa" TYPE="ext4"
Slijedeće mi treba doznati odakle će se kernel (jezgra) operativnog sustava očitati. Odite na taj disk (sda3) i pronađite
/boot/vmlinuz-neki-broj.generic
datoteke. Ona s najvećim brojem (posljednjim kernelom) je mjesto odakle će početi podizanje operativnog sustava. Na istom mjesti će se tijekom učitavanja sustava naći i initrd datoteka. U njoj će se stvoriti slika novoučitanog kernela.
Sada smo skupili sve podatke i možemo polako stvoriti novi unos u boot meniju. Proučite najprije ova pravila:
- Općenita pravila:
- Prva linija mora početi s menuentry i završiti s {
- Tekst u navodnicima će se prikazati u GRUB meniju. Sadržaj možete napisati po želji.
- Posljednja linija u menuentry mora biti }
- Ne ostavljajte praznu liniju na kraju!
- set root= linija pokazuje na kojem se disku i particiji nalazi operativni sustav kojeg želimo dodati.
- root u linux liniji pokazuje na particiju na koju je instaliran operativni sustav.
- Ukoliko GRUB 2 ne može pronaći navedeni kernel, pokušajte zamijeniti UUID s imenom uređaja. Npr:/dev/sda6 .
- Ovo je uzorak kako bi to trebalo izgledati:
menuentry "Ubuntu dodan rucno" { set root=(hd0,3) search --no-floppy --fs-uuid --set a8f93734-8747-418f-a814-0d270c8156fa linux /boot/vmlinuz-2.6.31-17-generic root=UUID=a8f93734-8747-418f-a814-0d270c8156fa ro quiet splash initrd /boot/initrd.img-2.6.31-17-generic }
Kada ste uredili novu stavku, snimite promjene i osvježite grub. Pokrenite kao root
grub-update
naredbu i slijedeći puta kada pokrenete računalo, imati ćete novu stavku u meniju.
Pogledajmo stavku po stavku:
- menuentry “Ubuntu dodan rucno” { Jasno, ovo je naziv kojeg smo sami dodali.
- set root=(hd0,3) Na tom disku se nalazi operativni sustav kojeg želimo pokrenuti.
- search –no-floppy –fs-uuid –set a8f93734-8747-418f-a814-0d270c8156fa Traži se disk prema njegovom UUID-u.
- linux /boot/vmlinuz-2.6.31-17-generic root=UUID=a8f93734-8747-418f-a814-0d270c8156fa ro quiet splash Odavde kreće učitavanje kernela.
- initrd /boot/initrd.img-2.6.31-17-genericTu će se spremiti slika kernela.
- } Kraj unosa.
Ručno dodavanje Windowsa
Ako vam iz nekog razloga Grub nije automatski prepoznao Windowse, njih je lako dodati.
Pomoću
fdisk -l
koju pokrećete kao root, doznajte na kojem disku i particiji se nalaze vaši Windowsi. Obično će disk (ili particija) imati ntfs datotečni sustav, pa ga je već prema tome lagano razlikovati od Linux distribucija koje imaju ext3 ili ext4 datotečni sustav.
Kada ste doznali gdje se nalaze Windowsi dodajte na dno /etc/grub.d/40_custom datoteke tekst prema donjem uzorku.
- Uzorak koji pokazuje “chainloading” na drugi GRUB boot loader:
menuentry "Windowsi dodani rucno" { set root=(hd0,3) chainloader +1 }
Kada ste dodali, osvježite grub. Kao root pokrenite
update-grub
Kada slijedeći puta budete pokretali računalo, moći ćete birati i Windows operativni sustav.
Vrućina je vani i nećemo vas više opterećivati. Za par dana nas čeka posljednji dio. Učiti ćemo kako reinstalirati GRUB. S posljednjim dijelom ćete dobiti i PDF datoteku koja će sadržavati sva tri dijela ovog tečaja GRUB-a. Neka se nađe pri ruci kad zatreba. 😉
S HOW-a priredio za objavu:Branko S
Gdje si bio prije dvije godine kada mi je trebalo ovo 🙂
Odličan članak, čuvajte ga da imamo za referencu. Zahvaljujem.
sreca pa se meni to ni9je desilo 🙂 😀
PDF je dobra ideja.
Izuzetno korisna stvar, svaka čast!
Neke porbleme ne može riješiti ni Boot Repaire Disc, zato je uvijek tu wiki! 😉
Izvrstan članak i izvrsna ideja za .pdf datoteku, stvarno zgodno za imati. Pozdrav 🙂