Come usare il comando fsck in Linux

Contenuti

Un disco rigido con sopra scritto codice binario.

Tutti i nostri dati importanti risiedono in un file system di un tipo o dell'altro, e sono probabili problemi di file system. En Linux, possiamo usare il fsck comando per trovare e correggere gli errori del file system.

I file system sono software

I file system sono uno dei componenti più critici di un computer. Senza un filesystem, il computer non può memorizzare alcun dato su un disco rigido, un disco meccanico rotante o un disco a stato solido. In realtà, è necessario creare un file system prima di poter installare il sistema operativo sul disco rigido. Ci deve essere qualcosa per salvare i file del sistema operativo. Perché, un file system viene creato durante la procedura di installazione.

I file system sono creati dal software, scritto dal software e letto dal software. Come sapete, tutto il software complesso ha dei bug. I nostri dati sono di vitale importanza per noi, quindi riponiamo molta fiducia nei file system e nel software che li crea e li utilizza. Se qualcosa va storto, possiamo perdere l'accesso a parti del file system o persino a una partizione completa.

I moderni file system journaling sono più efficaci nella gestione dei problemi che possono essere causati da un'improvvisa perdita di alimentazione o da un arresto anomalo del sistema.. Sono robusti, ma non invincibile. Se le tue tabelle interne sono codificate, possono perdere traccia di dove risiede ciascun file sull'unità, Che taglia ha, che nome ha e quali permessi di file sono impostati su di essi.

il fsck Il comando ti consente di verificare che i tuoi file system siano integri. Se trovi qualche problema, regolarmente può anche aggiustarlo per te.

Eseguire i controlli pre-volo

Usando fsck bisogno dei privilegi sudo. Qualsiasi comando in grado di apportare modifiche a un file system dovrebbe essere trattato con cautela e limitato a coloro che sanno cosa stanno facendo.

I piloti non salgono su un aereo, Lo accendono e volano verso l'azzurro pallido laggiù. Eseguono i controlli pre-volo. La posta in gioco è alta per fare il contrario. È una buona abitudine da sviluppare. Prima di usare fsck devi assicurarti di usarlo nell'unità corretta. Quindi, prima di fare qualcosa con fsck, facciamo un po' di accredito.

Inizieremo con fdisk e incanalalo in less. Non stiamo richiedendo informazioni su una partizione specifica. Usando il -l opzione (pronto) fdisk elenca le tabelle delle partizioni su tutti i dispositivi trovati nel file “/ proc / partizioni”, se esiste.

sudo fdisk -l | meno

Possiamo vedere le voci per /dev/sda e /dev/sdb. Puoi scorrere il file per vedere tutte le altre voci che potrebbero esistere sul tuo computer.

Osserva l'output nella finestra del terminale.

Le partizioni in /dev/sda sono elencati come /dev/sda1, /dev/sda2, e /dev/sda3 . Quindi abbiamo tre partizioni sul primo disco. Possiamo vedere un po' più di informazioni usando il parted comando. Useremo il 'print' opzione per mostrare le tabelle delle partizioni nella finestra del terminale.

sudo parted /dev/sda 'print'

Ulteriori informazioni sulle tabelle delle partizioni

Questa volta otteniamo ulteriori informazioni, incluso il tipo di file system su ciascuna partizione.

Modello: DISCO RIGIDO ATA VBOX (scsi) 
Disco /dev/sda: 34.4GB 
Sector size (logico/fisico): 512B/512B 
Partition Table: gpt 
Disk Flags:

Numero Inizio Fine Dimensione Nome del file system Flag 
1      1049kB 2097 kB 1049 kB bios_grub 
2      2097kB 540 MB 538 MB fat32 Avvio della partizione di sistema EFI, spec 
3      540MB 34,4 GB 33,8 GB est4

Ci sono tre unità in questo computer di prova. Questi i risultati delle altre due unità. /dev/sdb e /dev/sdc. Tieni presente che questi file system non hanno il campo “Nome”.

sudo parted /dev/sdb 'stampa'
Modello: DISCO RIGIDO ATA VBOX (scsi) 
Disco /dev/sdb: 21.5GB 
Sector size (logico/fisico): 512B/512B 
Partition Table: msdos 
Disk Flags:

Numero Inizio Fine Dimensione Tipo File system Flag 
1      1049kB 21,5 GB 21,5 GB primario ext4
sudo parted /dev/sdc 'stampa'
Modello: DISCO RIGIDO ATA VBOX (scsi) 
Disco /dev/sdc: 21.5GB 
Sector size (logico/fisico): 512B/512B 
Partition Table: msdos 
Disk Flags:

Numero Inizio Fine Dimensione Tipo File system Flag
1      1049kB 21,5 GB 21,5 GB primario ext3

La seconda e la terza unità hanno le stesse dimensioni e ciascuna ha una singola partizione. Ma il file system della seconda unità è ext4e il file system della terza unità è il più vecchio ext3.

Passiamo un identificatore di partizione a fscke controlla il file system di quella partizione. Ma non possiamo scappare fsck su un filesystem montato. Dobbiamo smontare l'unità. Fare quello, dobbiamo conoscere il punto di montaggio in cui è montata la partizione e, perché, il file system.

Possiamo scoprirlo facilmente utilizzando 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 andremo a controllare. Lavoreremo sul filesystem nel primo (e solo) partizione di /dev/sdb, quale /dev/sdb1 . Abbiamo visto prima che questo è un ext4 File System, ed è montato “/ correre / montare / dave / sata2”.

Useremo il umount comando. non è negativo quindici “n” Su “smontare”.

sudo umount /run/mount/dave/sata2

Usa il comando umount per smontare il filesystem.

Insieme a umount, L'assenza di cattive notizie è una buona notizia. Se torni silenziosamente al prompt dei comandi, siamo pronti per iniziare.

sudo fsck /dev/sdb1

Usa il comando fsck per controllare lo stato del file system.

Questo file system è segnalato come pulito. Ciò significa che il file system non segnala errori o problemi. Non viene eseguito automaticamente un controllo più approfondito del file system. Possiamo anche guardare il codice di ritorno che fsck tornato al guscio.

eco $?

Il valore restituito pari a zero indica che non ci sono errori. I possibili codici di ritorno sono:

  • 0: Senza errori
  • 1: Risolti errori del file system
  • 2: Il sistema deve riavviarsi
  • 4: Errori del file system che non sono stati corretti
  • 8: Errore operativo
  • sedici: Errore di utilizzo o di sintassi
  • 32: Verifica annullata su richiesta dell'utente
  • 128: Errore libreria condivisa

Sebbene il file system sia segnalato come pulito, possiamo forzare l'esecuzione di un controllo del file system, usando il -f Opzione (forza).

sudo fsck /dev/sdb1 -f

Forza un controllo del file system usando l'opzione force in un comando fsck

Questa volta, il controllo richiede più tempo per essere completato, ma fai un test più approfondito del filesystem. Il nostro file system era veramente pulito e non sono stati segnalati errori. Se vengono rilevati problemi durante il test, ti verrà chiesto di consentire fsck risolvere il problema o ignorare l'errore.

Quando hai finito di testare, devi rimontare il filesystem. Il modo più semplice per farlo è usare mount con il -a (tutti) opzione. Questo controlla "/ etc / fstab ”l'elenco dei filesystem e si assicura che siano tutti montati come farebbero dopo un normale avvio.

sudo mount -a

Rimontare il filesystem usando il comando mount

Tieni presente che non è necessario che ti venga detto. fsck che tipo di filesystem c'è su una partizione; l'utilità lo determina esaminando il file system. Ciò significa che possiamo forzare un controllo del filesystem su /dev/sdc1, il ext3 file system sul nostro PC di prova, usando esattamente lo stesso comando che usiamo in /dev/sdb1, cos'è un? ext4 Condividere.

sudo fsck /dev/sdc1 -f

Usa il comando fsck per forzare un controllo del file system

Potresti non voler tuffarti direttamente nella riparazione del file system. Forse preferisci guardare prima di saltare. Puoi chiedere fsck non offrire di risolvere nulla e segnalare i problemi alla finestra del terminale. il -N L'opzione (funzionamento a secco) fa esattamente questo:

sudo fsck -N /dev/sdb1

Prima di riparare un file system, Fai un test

Il contrario di questo è contare fsck quindi non preoccuparti di chiedere se trovi qualche bug, e vai avanti e aggiustalo. Per fare questo, usa el -y (nessun avviso) opzione.

sudo fsck -y /dev/sdb1

Utilizzo di fsck sulla partizione di root

Non puoi usare fsck su una partizione montata, ma per avviare il computer, la partizione di root deve essere montata. Quindi, Come possiamo correre?? fsck sulla partizione di root? La soluzione è interrompere la procedura di avvio ed eseguire fsck in modalità di ripristino.

Mentre il computer si avvia, torna nella scheda “Spostare”. Se l'hai cronometrato correttamente, non si avvia in Linux. La procedura di avvio si fermerà a un menu in bianco e nero. La macchina di prova utilizzata per questo post stava eseguendo Ubuntu, ma altre distribuzioni hanno lo stesso tipo di menu, anche se può variare nell'aspetto. Dove dice “Ubuntu” negli screenshot, avrà il nome della tua distribuzione.

Menu di ripristino con la voce di menu delle opzioni avanzate selezionata

Spostare la barra evidenziata con i tasti “Freccia su” e “Freccia in giù” per selezionare la voce di menu “Opzioni avanzate per Ubuntu”. premere “accedere” per passare alla schermata successiva.

Menu di ripristino con voce di menu

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 “accedere”.

Vedrai il menu di ripristino. Si prega di selezionare “fsck controlla tutti i file system” e premere il tasto “tab” per spostare l'evidenziazione sul pulsante “Accettare”. premere “accedere”.

Menu di ripristino con fsck selezionato

Vedrai una notifica che la partizione di root verrà montata insieme a qualsiasi altra partizione impostata nel tuo file "/ etc / fstab”.

Seleziona sì per avviare fsck in modalità interattiva

Premi il tasto “tab” per spostare l'evidenziazione sul pulsante “sì” e premi “Per entrare”.

Vedrai fsck eseguire in modalità interattiva. Se ci sono problemi, ti verrà chiesto di andartene fsck correggili o ignorali. Quando i file system sono stati verificati, vedrai di nuovo il menu di ripristino.

Selezionare l'opzione “riprendere”, premere il tasto “tab” per spostare l'evidenziazione sul pulsante “Accettare” e premi “Per entrare”. La procedura di avvio riprenderà e si avvierà in Linux.

L'avvio della modalità di ripristino può influire su alcuni driver, quindi è buona norma riavviare un'altra volta, appena avvio linux. Ciò garantisce che il tuo computer funzioni come standard..

Quando le cose vanno male

Le reti di sicurezza esistono per un motivo. Sapere il fsck comando. Se c'è bisogno di usarlo con rabbia un giorno, sarai felice di averti conosciuto in anticipo.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.