GRUB

De MAnteniment INformatic Kike VIlchez
Dreceres ràpides: navegació, cerca

NOTA - Aquesta pàgina encara està per dessenvolupar

Introducció

GRUB és el programari encarregat de gestionar l'engada de l'equip.

Recuperar GRUB

Hi han diverses eines per fer-ho però jo explicaré com fer-ho des d'una LiveUSB o LiveCD. Primer engegarem l'ordinador des de la Live i obrirem un terminal. Ara llistarem les particions:

sudo fdisk -l

Una vegada hem vist quina es la partició on està muntada Ubuntu, la montem en /mnt (la partició del sistema pot estar sota l'etiqueta Linux filesystem).

/dev/sda1    1050624 226209791 225159168 107,4G Linux filesystem

En aquest cas es /dev/sda1.

sudo mount /dev/sda1 /mnt

I ara montem la resta dels dipositius (molt important).

sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

I executem la comanda chroot per accedir com root al sistema operatiu muntat.

sudo chroot /mnt

Ara carreguem el GRUB en el MBR executant:

grub-install --boot-directory=/boot/ --recheck /dev/sda

( dono per fet que sda es el disc dur principal on està el sistema). Ara, tant des de la liveusb com després de reiniciar el sistema, actualitzem el grub instal.lat.

sudo update-grub2

Recuperant un GRUB que no engega ( manualment )

Es pot donar el cas que hem restaurat un equip i no carrega el sistema mostrant en pantalla:

grub > 

Podem recuperar l'engegada des d'el mateix GRUB amb aquest pas per pas. Primer habilitem que pugui paginar, de tal manera que puguem introduir comandes llargues i auto-completades.

ATENCIÓ - el teclat estarà definit en EN_US per defecte pel que alguns signes no correpondran a la tecla.

La primera comanda és:

grub> set pager=1

Ara llistarem les particions disponibles:

grub> ls
hd0) (hd0,msdos2) (hd0,msdos1)

Si la taula de particions és 'GPT el nom canviaria a:

grub> ls
(hd0) (hd0,gpt2) (hd0,gpt1)

Ara llistarem el contingut de cada partició per comprovar quina és la que te el kernel:

grub> ls (hd0,1)/
lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/  lib/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old initrd.img initrd.img.old

En aquest cas, la partició hd0,1 és la que te el sistema operatiu. Ara podriem comprovar-ho amb:

grub> cat (hd0,1)/etc/issue
Ubuntu 18.04 LTS n l

Es comprova que la distribució és Ubuntu 18.04. Ara procedim a iniciar el sistema, per exemple amb:

grub> set root=(hd0,1)

Per indicar quina partició te el sistema ( arrel ).

grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1

Per indicar el kernel que utilitzarem, no cal escriure tota la ruta, podem utilitzar la tecla TAB per auto-completar el fitxer de kernel.

grub> initrd /boot/initrd.img-3.13.0-29-generic

Igualment, aquí també podem utilitzar la tecla TAB.

grub> boot

I iniciem el sistema amb el kernel indicat. Una vegada iniciat correctament el sistema em de recordar de fer la instal·lació en el MBR amb:

sudo update-grub2

Recuperant un GRUB que no engega (Rescatux)

Finestra principal de l'aplicació

Rescatux és una distribució live-cd amb el mínim per recuperar de manera gràfica l'inici del sistema i que, a més, és compatible amb sistemes de particions GPT i inici UEFI. Rescatux és la distribució gràfica i evolucionada de SuperGrub. Es pot descarregar de manera lliure i gratuïta.

Instal.lant GRUB en un pendrie

Primer averigüem el punt de montatge i dispositiu del pendrive.

lsblk

I proceim a instal.lar:

grub-install --target=i386-pc --recheck --boot-directory=/media/USB/boot /dev/sdX
grub-install --target=x86_64-efi --efi-directory /media/USB --boot-directory=/media/USB/boot --removable

Virtualitzam:

qemu-system-x86_64 -hda /dev/sdx
qemu-system-i386 -hda /dev/sdx

Engegar en mode gràfic bàsic

Caldrà editar el fitxer de configuració:

/etc/default/grub

I editar la linia:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Deixant-la de la següent manera:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

Especificant la configuració de de pantalla

Es pot donar el cas que, tot i treballar i engegar be l'equip en el monitor surt l'alerta:

Input signal out of range, change settings to 1600 x 900 - 60 MHz

Aquest missatge es veurà, sobretot en equips servidors com ProLiants. Per solventar-lo, a part d'especificar el nomodeset, podem forçar una resol·lució base. Per fer-ho editem el fitxer GRUB:

sudo nano /etc/default/grub

I descomentem la linia

#GRUB_GFXMODE=640x480 

deixant-la així:

GRUB_GFXMODE=640x480 

Desem els canvis i actualitzem amb:

sudo update-grub2

A l'iniciar de nou es veurà amb la resol·lució mínima.