Vedi Posso eseguire fsck o e2fsck quando il file system di Linux è montato?, in cui si nota che l'esecuzione di qualsiasi fsck su un file system montato può causare il danneggiamento del disco o dei dati.
Suggerisce le seguenti soluzioni:
R. Portare il sistema in modalità utente singolo, smontare il sistema, quindi eseguire e2fsck
init 1
umount /dev/sda
e2fsck -y /dev/sda3
B. Avvia dal CD di installazione in modalità di ripristino
boot: linux rescue nomount<br/>
mknod /dev/sda
mknod /dev/sda3
fsck /dev/sda3
Un'altra soluzione sarebbe usare fsck per controllare l'intero disco (tranne lo swap) all'avvio, come root:
shutdown -Fr now
dove -F sta per force fsck check e -r per reboot.
Se i tuoi script init lo supportano (Fedora IIRC), puoi aggiungere -c -c
a /fsckoptions
(quindi crea /forcefsck
e riavviare). Sfortunatamente, questa funzione non è disponibile ovunque. Probabilmente dovrai invece riavviare su un LiveCD/LiveUSB.
Puoi avviare il sistema e specificare init=/bin/bash
come parametro di avvio. Questo eseguirà bash all'avvio e non i normali script di avvio. Di conseguenza nessun filesystem viene elaborato e ti rimane una root di sola lettura.
Ora hai una root di sola lettura e puoi fsckarla.