Prems el botó d’engegada i, uns segons després, apareix l’escriptori de la teva distribució preferida. Entremig s’executa una coreografia precisa que gairebé ningú no veu. Del silenci del maquinari apagat al sistema operatiu plenament funcional hi ha diverses etapes encadenades, i al centre de moltes d’elles hi viu un protagonista discret però imprescindible: GRUB. Entendre aquest procés no és només curiositat tècnica. És el que separa quedar-te bloquejat davant d’una pantalla negra de saber exactament on tocar quan alguna cosa falla.
Del firmware al gestor d’arrencada
Tot comença al firmware de la placa base. Durant dècades aquest firmware va ser la BIOS (Basic Input/Output System), hereva del PC original d’IBM. Avui l’habitual és UEFI (Unified Extensible Firmware Interface), més modern, capaç de gestionar discos enormes i d’arrencar des d’una partició especial anomenada ESP (EFI System Partition).
Sigui quin sigui el firmware, la seva feina és la mateixa: comprovar el maquinari i cedir el control a un gestor d’arrencada (bootloader). A la BIOS clàssica aquest gestor viu al MBR del disc; a UEFI és un executable .efi dins de l’ESP. El gestor d’arrencada és la peça que sap on és el sistema operatiu i com carregar-lo a la memòria.
Què és GRUB i per què és el més utilitzat
GRUB significa GRand Unified Bootloader i és, amb diferència, el gestor d’arrencada més estès al món Linux. La seva història es remunta al 1995, quan Erich Boleyn el va crear per arrencar el microkernel GNU Mach. El 1999 va passar a ser un paquet oficial del projecte GNU, i a partir del 2002 Yoshinori K. Okuji va començar una reescriptura completa que acabaria anomenant-se GRUB 2, mentre la versió original quedava com a “GRUB Legacy”. Cap a finals del 2009 les grans distribucions ja instal·laven GRUB 2 per defecte, i aquest és el GRUB que fas servir avui.
La seva funció principal és fàcil d’enunciar i complexa d’executar: carregar el nucli de Linux a la memòria i arrencar-lo. Però fa alguna cosa més. Et presenta un menú on tries entre diferents sistemes operatius o entre diverses versions del nucli, una cosa molt pràctica quan una actualització trenca alguna cosa i necessites tornar a un nucli anterior. Distribucions com Debian, Ubuntu o Fedora confien en GRUB per gestionar precisament aquesta flexibilitat.
El menú, la configuració i els paràmetres del nucli
En un sistema modern, els fitxers de GRUB viuen a /boot/grub, amb el menú generat a grub.cfg. Aquest fitxer no s’edita a mà: es genera sol a partir dels scripts de /etc/grub.d i de les teves preferències a /etc/default/grub. Allà defineixes coses com el temps d’espera del menú o els paràmetres del nucli, aquelles opcions que es passen a la línia d’arrencada (per exemple quiet splash per a una arrencada silenciosa, o nomodeset quan la targeta gràfica fa la guitza).
Saber on tocar marca la diferència. Si el teu sistema arrenca amb pantalla negra, sovint n’hi ha prou amb editar de manera temporal la línia del nucli des del mateix menú de GRUB, prement e, i surts del pas sense reinstal·lar res.
initramfs: el pont cap al sistema real
Un cop GRUB carrega el nucli, aquest inicialitza la CPU, la memòria i els dispositius bàsics. Però apareix el problema de l’ou i la gallina: per muntar el disc arrel, el nucli necessita controladors (de la teva controladora SATA o NVMe, del xifratge, del sistema de fitxers) que sovint són dins d’aquest mateix disc que encara no pot llegir.
Aquí entra l’initramfs (hereu de l’antic initrd): un petit sistema de fitxers temporal que GRUB carrega a la memòria juntament amb el nucli. Porta just els mòduls imprescindibles per localitzar i muntar el sistema de fitxers arrel real. Un cop muntat, el nucli executa switch_root i lliura el control al sistema definitiu. Aquí arrenca el procés d’init, que avui gairebé sempre és systemd, encarregat d’aixecar tots els serveis fins a deixar-te el login o l’escriptori.
systemd-boot i el dual boot
GRUB no és l’única opció. En equips UEFI moderns guanya terreny systemd-boot, un gestor molt més lleuger, d’amb prou feines uns quants milers de línies de codi, que es recolza directament en el firmware UEFI en lloc de carregar “gairebé un sistema operatiu” com fa GRUB. A canvi només arrenca executables EFI des de la partició ESP (o una partició XBOOTLDR addicional), de manera que és menys flexible. Distribucions per a usuaris avançats, com Arch, permeten triar còmodament entre tots dos.
El dual boot —tenir Linux i un altre sistema al mateix equip— és un dels escenaris on GRUB brilla. En instal·lar una distro al costat de Windows o macOS, GRUB detecta els altres sistemes i els afegeix al menú sol. Per això convé instal·lar primer l’altre sistema i Linux després: així GRUB pren el control de l’arrencada i et deixa triar cada vegada que engegues.
Conclusió
L’arrencada de Linux és una cadena lògica i comprensible: firmware (BIOS/UEFI) → gestor d’arrencada → nucli + initramfs → init (systemd). GRUB és l’enllaç que connecta el maquinari amb el teu sistema, et dóna el poder de triar i t’ofereix una via de rescat quan alguna cosa es torça. Tant si fas servir el veterà GRUB com el minimalista systemd-boot, conèixer cada etapa et converteix en un usuari que no tem la pantalla negra, sinó que sap llegir-la. I aquest coneixement, a Linux, sempre es paga sol.
