Informació del sistema LinuxInformáticaLinuxMuntar sistemes de fitxers

El muntatge de la partició arrel en l’arrencada de Linux



Un dels passos clau de l’arrencada de Linux és el muntatge de la partició arrel (/): el moment en què el sistema enganxa la partició que conté el sistema de fitxers principal a l’arbre de directoris. Fins que no passa això, no hi ha /etc, ni /usr, ni cap dels programes del sistema, i l’arrencada no pot continuar.

En aquest post t’explico com es fa aquest muntatge, qui el fa i com comprovar-ne el resultat.

Què vol dir muntar la partició arrel

A Linux tots els discos i particions es veuen dins d’un únic arbre de directoris que comença a /. Muntar una partició és associar-la a un directori d’aquest arbre (el punt de muntatge). La partició arrel és especial perquè el seu punt de muntatge és el mateix /: és la base sobre la qual després es munten la resta (/boot, /home, discos externs…).

Com passa durant l’arrencada

No el fa l’usuari amb la comanda mount: és automàtic i el reparteixen diverses peces.

  1. El carregador d’arrencada (GRUB, o el firmware al Raspberry Pi) passa al nucli el paràmetre root=, que indica quina és la partició arrel. Es pot identificar per nom de dispositiu (/dev/sda2), però és molt millor fer-ho per UUID= o PARTUUID=, perquè els noms de dispositiu poden canviar d’un arrencada a l’altra.
  2. L’initramfs carrega els controladors necessaris, espera que el dispositiu aparegui (paràmetre rootwait en alguns sistemes), si cal el desxifra o activa l’LVM, i munta la partició, normalment en mode de només lectura.
  3. Canvi d’arrel: l’initramfs passa el control a la partició real i hi executa el sistema d’inicialització (systemd).
  4. systemd comprova el sistema de fitxers si cal (fsck) i el torna a muntar en lectura i escriptura amb les opcions de /etc/fstab (servei systemd-remount-fs). Després munta la resta de particions de fstab.

Pots veure els paràmetres que ha rebut el nucli a /proc/cmdline. En un Raspberry Pi amb Debian 13:

$ tr ' ' '\n' < /proc/cmdline | grep -E '^(root|rootfstype|rootwait)'
root=PARTUUID=f1f57af8-02
rootfstype=ext4
rootwait

I la línia corresponent de /etc/fstab:

$ grep ' / ' /etc/fstab
PARTUUID=f1f57af8-02  /               ext4    defaults,noatime  0       1

El darrer 1 vol dir que és la primera partició que s’ha de revisar amb fsck.

Comprovar com està muntada

Per saber quina partició fa d’arrel i amb quines opcions, la comanda més clara és findmnt:

$ findmnt /
TARGET SOURCE         FSTYPE OPTIONS
/      /dev/mmcblk0p2 ext4   rw,noatime

També pots fer servir df per veure’n l’espai, i lsblk per relacionar-la amb el seu identificador:

$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2  117G   21G   91G  19% /

$ lsblk -o NAME,PARTUUID,MOUNTPOINTS /dev/mmcblk0
NAME        PARTUUID                             MOUNTPOINTS
mmcblk0
├─mmcblk0p1 f1f57af8-01                          /boot/firmware
└─mmcblk0p2 f1f57af8-02                          /

Si a la columna OPTIONS veus ro en lloc de rw, el sistema ha quedat en només lectura, normalment perquè fsck ha trobat errors o hi ha un problema amb el disc: mira journalctl -b i dmesg.

Quan alguna cosa falla

Si el nucli no troba la partició arrel, l’arrencada s’atura. Els símptomes típics són:

  • L’initramfs et deixa en un shell d’emergència (initramfs) amb un missatge com «ALERT! UUID=… does not exist»: el root= apunta a una partició que no hi és (has clonat el disc, has canviat l’UUID o falta un controlador a l’initramfs).
  • Un kernel panic amb «VFS: Unable to mount root fs»: el nucli no pot muntar l’arrel, sovint per un initramfs que falta o està malmès.

Des del shell (initramfs) pots fer blkid per veure els UUID reals i comparar-los amb els del carregador d’arrencada i de /etc/fstab.

Personalitzar-ho, amb compte

Es pot canviar quina partició és l’arrel o amb quines opcions es munta (paràmetres del nucli a GRUB o a cmdline.txt al Raspberry Pi, /etc/fstab, l’initramfs…), però un error aquí deixa el sistema sense arrencar. Fes-ho només si saps què toques, amb una còpia de seguretat i, si pots, amb accés a la consola o a un sistema de rescat.

Posts relacionats