Tutti i nostri dati importanti si trovano in un file system di un tipo o di un altro, e i problemi del file system sono destinati ad accadere. Su Linux, possiamo usare il
fsck.
Comando per trovare e riparare gli errori del file system.
I file system sono software
I file system sono uno dei componenti più critici di un computer. Senza un file system, il computer non può memorizzare dati su un disco rigido, indipendentemente dal fatto che tale unità sia un piatto meccanico di filatura o a disco a stato solido . In effetti, un file system deve essere creato prima che il sistema operativo possa essere installato sul disco rigido. Deve esserci qualcosa per i file del sistema operativo da memorizzare. Quindi un file system viene creato durante il processo di installazione.
I file system sono. creato dal software , scritto dal software e leggi da software. Come sapete, tutto il software complesso ha bug. I nostri dati sono criticamente importanti per noi, quindi stiamo mettendo molta fede nei file system e nel software che crea e li usa. Se qualcosa va storto, possiamo perdere l'accesso a porzioni del file system o anche un'intera partizione.
Moderno Sistemi di file systemny. sono migliori a gestire problemi che possono essere causati da un'improvvisa perdita di energia o da un incidente di sistema. Sono robusti, ma non sono invincibili. Se il loro Le tabelle interne diventano criptate Possono perdere la traccia in cui ogni file risiede sull'azionamento, quale dimensione è, quale nome ha e quali autorizzazioni dei file sono impostate su di esse.
Il
fsck.
Il comando consente di verificare che i file system siano sani. Se trova problemi che di solito possono risolverli anche per te.
Fai i controlli di preflight
Usando
fsck.
richiede
privilegi sudo.
. Qualsiasi comando che può apportare modifiche a un file system deve essere trattato con cautela e limitata a coloro che sanno cosa stanno facendo.
I piloti non saltano in un aeromobile, inizialo su e volano nel pallido Blue Yonder. Fanno i controlli di preflight. C'è troppo in gioco per fare diversamente. Questa è una buona abitudine di svilupparsi. Prima di usare
fsck.
Devi assicurarti di usarlo sull'unità corretta. Quindi prima di fare qualsiasi cosa con
fsck.
, faremo un po 'di ricognizione.
Inizieremo con
fdisk.
e tu tu tubo in
meno
. Non stiamo chiedendo informazioni su una specifica partizione. Usando il.
-L.
(Elenco) opzione
fdisk.
Elenca le tabelle delle partizioni su tutti i dispositivi che trova nel file "/ proc / partitions", se esiste.
sudo fdisk -l | Meno
Possiamo vedere le voci per
/ dev / sda
e
/ dev / sdb
. È possibile scorrere il file per visualizzare altre voci che potrebbero esistere sul tuo computer.
Le partizioni accese
/ dev / sda
sono elencati come
/ dev / sda1
,
/ dev / sda2
, e
/ dev / sda3
. Quindi abbiamo tre partizioni sul primo disco. Possiamo vedere un po 'più informazioni usando il
separato
comando. Useremo il
'Stampa'
Opzione per visualizzare le tabelle delle partizioni nella finestra del terminale.
sudo parte / dev / sda 'stampa'
Facciamo alcune informazioni aggiuntive questa volta, incluso il tipo di file system su ciascuna partizione.
Modello: ATA VBOX HARDDISK (SCSI) Disco / Dev / SDA: 34.4 GB Dimensioni del settore (logico / fisico): 512b / 512b Tabella della partizione: GPT Bandiere del disco: Numero START Dimensione terminale File System Bandierine 1 1049kb 2097kb 1049kb Bios_Grub 2 2097KB 540MB 538MB FAT32 EFI System System Boot Boot, ESP 3 540MB 34.4 GB 33.8 GB EXT4
Ci sono tre unità in questo computer di prova. Questi sono i risultati per gli altri due azionamenti
/ dev / sdb
e
/ dev / sdc
. Si noti che questi file system non hanno alcun campo "Nome".
sudo parte / dev / sdb 'Stampa'
Modello: ATA VBOX HARDDISK (SCSI) Disco / Dev / SDB: 21,5 GB Dimensioni del settore (logico / fisico): 512b / 512b Tabella della partizione: MSDOS Bandiere del disco: Numero Start Type Type Type File System Flags 1 1049KB 21,5 GB 21.5 GB Primary Ext4
sudo parte / dev / sdc 'Stampa'
Modello: ATA VBOX HARDDISK (SCSI) Disco / Dev / SDC: 21,5 GB Dimensioni del settore (logico / fisico): 512b / 512b Tabella della partizione: MSDOS Bandiere del disco: Numero Start Type Type Type File System Flags 1 1049KB 21,5 GB 21,5 GB Primary Ext3
Le seconde e terze dischi sono le stesse dimensioni, e ognuna ha una singola partizione. Ma il file system sulla seconda unità è
ext4.
, e il file system sulla terza unità è il più vecchio
ext3.
.
Passiamo un identificatore di partizione a
fsck.
e controlla il file system su quella partizione. Ma non possiamo correre
fsck.
su un file system montato. Dobbiamo smontare l'unità. Per fare ciò, dobbiamo conoscere il punto di montaggio che la partizione e quindi il file system, è montato su.
Possiamo scoprirlo facilmente usando il
df.
comando.
DF / dev / sdb1
DF / dev / sdc1
Usando il comando fsck
Abbiamo tutte le informazioni di cui abbiamo bisogno. La prima cosa che faremo è smontare il file system che controlliamo. Lavoreremo sul file system sulla prima e solo-partizione di
/ dev / sdb
, che è
/ dev / sdb1
. Abbiamo visto prima che questo sia un
ext4.
File system, ed è montato su "/ run / mount / dave / sata2."
Useremo il
umount.
comando. Nota Non c'è "N" in "Umount".
Sudo Umount / Run / Mount / Dave / SATA2
Insieme a
umount.
, nessuna notizia è una buona notizia. Se sei restituito in silenzio al prompt dei comandi, siamo a posto.
sudo fsck / dev / sdb1
Questo file system è stato segnalato come pulito. Ciò significa che il file system sta segnalando che non ha errori o problemi. Un controllo del file system più profondo non viene condotto automaticamente. Possiamo anche guardare il codice di ritorno che
fsck.
restituito al guscio.
Echo $?
Il valore di ritorno dello zero indica nessun errore. I possibili codici di ritorno sono:
- 0. : Nessun errore
- 1. : Errori del filesystem corretti
- 2. : Il sistema dovrebbe essere riavviato
- 4. : Gli errori del filesystem sono rimasti non corretti
- 8. : Errore operativo
- 16. : Errore di utilizzo o sintassi
- 32. : Controllo annullato dalla richiesta dell'utente
- 128. : Errore della biblioteca condivisa
Nonostante il file system viene riportato come pulito, possiamo forzare un controllo del file system per avvenire, utilizzando il
-F
opzione (forza).
sudo fsck / dev / sdb1 -f
Questa volta, il controllo richiede più tempo per essere completato ma esegue un test più approfondito del file system. Il nostro file system è stato effettivamente pulito e non vengono segnalati errori. Se vengono trovati problemi man mano che i test vengono condotti, ti verrà richiesto di lasciare
fsck.
correggere il problema o ignorare l'errore.
Quando hai finito di test, è necessario rimondare il file system. Il modo più semplice per farlo è usare
montare
con il
-un
(tutti) opzione. Questo controlla "/ etc / fstab" per l'elenco dei file system e si assicura che siano tutti montati proprio come seguirebbero un avvio regolare.
Sudo Mount -a
Si noti che non abbiamo bisogno di dirlo
fsck.
Che tipo di file system è su una partizione; L'utilità lo determina esaminando il file system. Ciò significa che possiamo forzare un controllo del file system
/ dev / sdc1
, il
ext3.
Sistema system sul nostro PC di prova, utilizzando esattamente lo stesso comando che abbiamo usato
/ dev / sdb1
, che è un
ext4.
partizione.
sudo fsck / dev / sdc1 -f
Potresti non voler immergerti direttamente nel fissare il file system. Potresti preferire guardare prima di saltare. Puoi chiedere
fsck.
Non offrire di risolvere nulla e basta segnalare problemi alla finestra del terminale. Il
-N
L'opzione (corsa a secco) fa solo che:
sudo fsck -n / dev / sdb1
L'opposto di questo è da dire
fsck.
Non disturbare la spinta se trova errori e semplicemente andare avanti e sistemarli. Per fare questo, usa il
-y.
(nessuna richiesta) opzione.
sudo fsck -y / dev / sdb1
Usando FSCK sulla partizione principale
Non puoi usare
fsck.
Su una partizione montata, ma per avviare il computer deve essere montata la partizione principale. Quindi come possiamo correre
fsck.
sulla partizione principale? La risposta è di interrompere il processo di avvio e eseguire
fsck.
in modalità di recupero.
Mentre il tuo computer avviene, tieni premuto un tasto "MAIUSC". Se lo hai programmato, non si avvierai in Linux. Il processo di avvio si fermerà in un menu in bianco e nero. La macchina di prova utilizzata per questo articolo è stata eseguita Ubuntu, ma altre distribuzioni hanno lo stesso tipo di menu, anche se può variare nell'aspetto. Dove dice "Ubuntu" negli screenshots avrà il nome della tua distribuzione.
Spostare la barra di evidenziazione con i tasti "UP freccia" e "freccia giù" in modo che la voce di menu "Opzioni avanzate per Ubuntu" sia selezionata. Premi "Invio" per passare alla schermata successiva.
Seleziona l'opzione che termina con "(modalità di recupero)." Nel nostro esempio, è "Ubuntu, con Linux 5.11.0-20-generico (modalità di recupero)." Premi il tasto "Invio".
Vedrai il menu di recupero. Selezionare "FSCK Controllare tutti i file system" e premere il tasto "TAB" per spostare l'evidenziazione sul pulsante "OK". Premere Invio."
Vedrai una notifica che la partizione radice sarà montata insieme a qualsiasi altra partizione definita nel tuo File "/ etc / fstab" .
Premere il tasto "TAB" per spostare l'evidenziazione sul pulsante "Sì" e premere "Invio".
Vedrai
fsck.
eseguire in modalità interattiva. Se ci sono problemi, ti verrà richiesto di lasciare
fsck.
sistemali o ignorarli. Quando i file system sono stati controllati vedrai nuovamente il menu di recupero.
Seleziona l'opzione "Resume", premere il tasto "TAB" per spostare l'evidenziazione sul pulsante "OK" e premere "ENTER". Il processo di avvio riprenderà e si avvierai in Linux.
L'avvio della modalità di recupero può influire sui driver, quindi è una buona pratica riavviare ancora una volta, non appena si avvia in Linux. Ciò garantisce che il tuo computer funzioni nella sua moda standard.
Quando le cose vanno male
Le reti di sicurezza sono lì per una ragione. Conosci il
fsck.
comando. Se la necessità nasce per usarlo nella rabbia un giorno, sarai contento di averti familiarizzato in anticipo.