Όλα τα σημαντικά δεδομένα μας βρίσκονται σε ένα σύστημα αρχείων ενός τύπου ή άλλου και τα θέματα συστήματος αρχείων είναι υποχρεωμένα να συμβούν. Στο Linux, μπορούμε να χρησιμοποιήσουμε το
fsck
εντολή για να βρείτε και να διορθώσετε σφάλματα συστήματος αρχείων.
Τα συστήματα αρχείων είναι λογισμικά
Τα συστήματα αρχείων είναι ένα από τα πιο κρίσιμα συστατικά ενός υπολογιστή. Χωρίς ένα σύστημα αρχείων, ο υπολογιστής δεν μπορεί να αποθηκεύσει δεδομένα σε σκληρό δίσκο, είτε αυτή η μονάδα δίσκου είναι μια περιστρεφόμενη μηχανική πιατέλα ή α Οδηγός στερεάς κατάστασης . Στην πραγματικότητα, πρέπει να δημιουργηθεί ένα σύστημα αρχείων πριν το λειτουργικό σύστημα μπορεί να εγκατασταθεί στο σκληρό δίσκο. Πρέπει να υπάρχει κάτι για να αποθηκευτούν τα αρχεία λειτουργικού συστήματος. Έτσι δημιουργείται ένα σύστημα αρχείων κατά τη διάρκεια της διαδικασίας εγκατάστασης.
Τα συστήματα αρχείων είναι Δημιουργήθηκε από λογισμικό , γραμμένο από το λογισμικό και να διαβάσετε από το λογισμικό. Όπως γνωρίζετε, όλο το σύνθετο λογισμικό έχει σφάλματα. Τα δεδομένα μας είναι κρίσιμα σημαντικά για εμάς, οπότε βάζουμε πολλή πίστη στα συστήματα αρχείων και το λογισμικό που δημιουργεί και τις χρησιμοποιεί. Εάν κάτι πάει στραβά, μπορούμε να χάσουμε την πρόσβαση σε μερίδες του συστήματος αρχείων ή ακόμα και ένα ολόκληρο διαμέρισμα.
Μοντέρνο Συστήματα αρχείων καταγραφής είναι καλύτερα σε προβλήματα χειρισμού που μπορούν να προκληθούν από μια ξαφνική απώλεια ισχύος ή μια συντριβή συστήματος. Είναι ισχυρές, αλλά δεν είναι αήττητοι. Αν τους Οι εσωτερικοί πίνακες γίνονται κωδικοποιημένοι Μπορούν να χάσουν το κομμάτι όπου κάθε αρχείο βρίσκεται στη μονάδα, ποιο μέγεθος είναι, ποιο όνομα έχει και ποια δικαιώματα αρχείων τοποθετούνται σε αυτά.
ο
fsck
Η εντολή σάς επιτρέπει να ελέγχετε ότι τα συστήματα αρχείων σας είναι υγιή. Εάν διαπιστώσει τυχόν προβλήματα, μπορεί συνήθως να τα διορθώσει και για εσάς.
Κάνετε τους ελέγχους πριν από την πτυχή
Χρησιμοποιώντας
fsck
απαιτεί
προνόμια sudo
. Οποιαδήποτε εντολή που μπορεί να κάνει αλλαγές σε ένα σύστημα αρχείων πρέπει να αντιμετωπιστεί με προσοχή και να περιορίζεται σε εκείνους που γνωρίζουν τι κάνουν.
Οι πιλότοι δεν πηδούν σε ένα αεροσκάφος, ξεκινήστε το, και πετάξτε στο ανοιχτό μπλε. Κάνουν ελέγχους προεπιλογής. Υπάρχει πάρα πολύ διακυβεύεται να κάνει διαφορετικά. Αυτή είναι μια καλή συνήθεια να αναπτυχθεί. Πριν χρησιμοποιήσετε
fsck
Πρέπει να βεβαιωθείτε ότι θα το χρησιμοποιήσετε στη σωστή μονάδα δίσκου. Έτσι πριν κάνετε κάτι με
fsck
, θα κάνουμε λίγη αναγνώριση.
Θα ξεκινήσουμε με
νίκος
και το σωλήνα
πιο λιγο
. Δεν ζητάμε πληροφορίες σχετικά με ένα συγκεκριμένο διαμέρισμα. Χρησιμοποιώντας το
-μεγάλο
(κατάλογος) επιλογή
νίκος
Καταχωρίζει τους πίνακες διαχωρισμού σε όλες τις συσκευές που βρίσκει στο αρχείο "/ proc / διαμερίσματα", εάν υπάρχει.
sudo fdisk -l | Λιγότερο
Μπορούμε να δούμε τις καταχωρήσεις για
/ dev / sda
και
/ dev / sdb
. Μπορείτε να μετακινηθείτε στο αρχείο για να δείτε οποιεσδήποτε άλλες καταχωρήσεις που μπορεί να υπάρχουν στον υπολογιστή σας.
Τα χωρίσματα
/ dev / sda
αναφέρονται ως
/ dev / sda1
,
/ dev / sda2
, και
/ dev / sda3
. Έχουμε λοιπόν τρία διαμερίσματα στην πρώτη μονάδα δίσκου. Μπορούμε να δούμε λίγο περισσότερες πληροφορίες χρησιμοποιώντας το
χωρισμένος
εντολή. Θα χρησιμοποιήσουμε το
'Τυπώνω'
Επιλογή για την εμφάνιση των πινάκων διαχωρισμού στο παράθυρο του τερματικού σταθμού.
Sudo χωρισμένο / dev / sda 'print'
Λαμβάνουμε μερικές επιπλέον πληροφορίες αυτή τη φορά, συμπεριλαμβανομένου του τύπου του συστήματος αρχείων σε κάθε διαμερίσματα.
Μοντέλο: ATA VBOX Harddisk (SCSI) Δίσκος / DEV / SDA: 34.4GB Μέγεθος του τομέα (λογική / φυσική): 512B / 512B Πίνακας διαμερίσματος: GPT Σημαίες δίσκου: Αριθμός εκκίνησης Τέλος μεγέθους αρχείου Όνομα Σημαίες Σημαίες 1 1049KB 2097KB 1049KB BIOS_GRUB 2 2097KB 540MB 538MB FAT32 EFI Boot Partition System, ESP 3 540MB 34.4GB 33.8GB Ext4
Υπάρχουν τρεις μονάδες δίσκου σε αυτόν τον υπολογιστή δοκιμής. Αυτά είναι τα αποτελέσματα για τους άλλους δύο δίσκους
/ dev / sdb
και
/ dev / sdc
. Σημειώστε ότι αυτά τα συστήματα αρχείων δεν έχουν πεδίο «Όνομα».
sudo χώρισε / dev / sdb 'εκτύπωση'
Μοντέλο: ATA VBOX Harddisk (SCSI) Disk / dev / sdb: 21.5GB Μέγεθος του τομέα (λογική / φυσική): 512B / 512B Partition Table: msdos Σημαίες δίσκου: Αριθμός Έναρξη Λήξη Μέγεθος Τύπος Σημαίες σύστημα αρχείων 1 1049kB 21.5GB 21.5GB πρωτογενούς ext4
sudo χώρισε / dev / SDC 'εκτύπωση'
Μοντέλο: ATA VBOX Harddisk (SCSI) Disk / dev / SDC: 21.5GB Μέγεθος του τομέα (λογική / φυσική): 512B / 512B Partition Table: msdos Σημαίες δίσκου: Αριθμός Έναρξη Λήξη Μέγεθος Τύπος Σημαίες σύστημα αρχείων 1 1049kB 21.5GB 21.5GB πρωτογενούς ext3
Το δεύτερο και το τρίτο δίσκους τυχαίνει να είναι το ίδιο μέγεθος, και το καθένα έχει μόνο ένα διαμέρισμα. Αλλά το σύστημα αρχείων για το δεύτερο δίσκο είναι
ext4
Και το σύστημα αρχείων στον τρίτο δίσκο είναι η παλαιότερη
ext3
.
Περνάμε ένα αναγνωριστικό διαμερίσματος στο
fsck
Και ελέγχει το σύστημα αρχείων σε αυτό το διαμέρισμα. Αλλά δεν μπορεί να τρέξει
fsck
σε ένα τοποθετημένο σύστημα αρχείων. Πρέπει να κάνετε unmount το δίσκο. Για να γίνει αυτό πρέπει να γνωρίζουμε το σημείο προσάρτησης ότι το διαμέρισμα-και ως εκ τούτου, το σύστημα αρχείων, είναι τοποθετημένη επάνω.
Μπορούμε να βρούμε ότι εύκολα χρησιμοποιώντας το
κουβέντα
εντολή.
df / dev / sdb1
df / dev / sdc1
Χρησιμοποιώντας την εντολή fsck
Έχουμε όλες τις πληροφορίες που χρειάζεστε. Το πρώτο πράγμα που θα κάνουμε είναι να αποπροσαρτήσετε το σύστημα αρχείων θα πάμε να ελέγξετε. Εμείς πάμε στη δουλειά με το σύστημα αρχείων για την πρώτη και μοναδική κατάτμηση της
/ dev / sdb
, το οποίο είναι
/ Dev / sdb1
. Είδαμε νωρίτερα ότι αυτή είναι μια
ext4
σύστημα αρχείων, και τοποθετείται στο «/ run / mount / dave / SATA2.»
Θα χρησιμοποιήσουμε το
umount
εντολή. Σημείωση δεν υπάρχει «n» σε «umount.»
sudo umount / run / mount / dave / SATA2
Με
umount
, Καμία είδηση είναι καλές ειδήσεις. Αν είστε επέστρεψε σιωπηλά την γραμμή εντολών, έχουμε καλή είσαι για να πάει.
sudo fsck / dev / sdb1
Αυτό το σύστημα αρχείων έχει αναφερθεί ότι είναι καθαρό. Αυτό σημαίνει ότι το σύστημα αρχείων αναφέρει ότι δεν έχει σφάλματα ή προβλήματα. Ένα βαθύτερο έλεγχο του συστήματος αρχείων δεν γίνεται αυτόματα. Μπορούμε επίσης να δούμε τον κώδικα επιστροφής που
fsck
επέστρεψε στο κέλυφος.
echo $;
Η τιμή επιστροφής του μηδενός δείχνει κανένα λάθος. Οι πιθανοί κωδικοί επιστροφής είναι οι εξής:
- 0 : Δεν υπάρχουν λάθη
- 1 : Σφάλματα συστήματος αρχείων διορθωθούν
- 2 : Σύστημα θα πρέπει να επανεκκινηθεί
- 4 : Σφάλματα συστήματος αρχείων άφησε χωρίς διόρθωση
- 8 : Επιχειρησιακό λάθος
- 16 : Χρήση ή συντακτικό σφάλμα
- 32 : Έλεγχος ακυρωθεί από αίτημα του χρήστη
- 128 : Σφάλμα Shared-βιβλιοθήκη
Παρά το σύστημα αρχείων που αναφέρονται ως καθαρά, μπορούμε να αναγκάσει έναν έλεγχο συστήματος αρχείων που θα πραγματοποιηθεί, χρησιμοποιώντας το
-φά
(Δύναμη) επιλογή.
sudo fsck / dev / sdb1 -f
Αυτή τη φορά, ο έλεγχος χρειάζεται περισσότερο χρόνο για να ολοκληρωθεί, αλλά εκτελεί μια πιο ενδελεχή δοκιμή του συστήματος αρχείων. σύστημα αρχείων μας ήταν πραγματικά καθαρό, και τα σφάλματα που αναφέρθηκαν. Αν τα θέματα που βρέθηκαν, όπως οι δοκιμές που διεξάγονται, θα σας ζητηθεί να αφήσει
fsck
διορθώσετε το πρόβλημα ή να αγνοήσει το σφάλμα.
Όταν έχετε τελειώσει τη δοκιμή, θα πρέπει να τοποθετήσετε ξανά το σύστημα αρχείων. Ο ευκολότερος τρόπος να γίνει αυτό είναι να χρησιμοποιήσετε
βουνό
με την
-ένα
(Όλα) επιλογή. Αυτή έλεγχοι «/ etc / fstab» για τη λίστα των συστημάτων αρχείων, και φροντίζει να είναι όλα τοποθετημένα ακριβώς όπως θα ήταν μετά από μια κανονική εκκίνηση.
sudo mount -a
Σημειώστε ότι δεν χρειάζεται να πω
fsck
ό, τι τύπος του συστήματος αρχείων είναι σε ένα διαμέρισμα? το βοηθητικό πρόγραμμα καθορίζει ότι από την εξέταση του συστήματος αρχείων. Αυτό σημαίνει ότι μπορούμε να αναγκάσει έναν έλεγχο συστήματος αρχείων για
/ Dev / sdc1
, ο
ext3
σύστημα αρχείων σε υπολογιστή δοκιμών μας, χρησιμοποιώντας ακριβώς την ίδια εντολή που χρησιμοποιείται για την
/ Dev / sdb1
, Η οποία είναι μια
ext4
χώρισμα.
sudo fsck / dev / sdc1 -f
Μπορεί να μην θέλετε να βουτιά κατευθείαν στο καθορισμό του συστήματος αρχείων. Μπορεί να προτιμάτε να πριν να εξετάσουμε άλμα. Μπορείς να ρωτήσεις
fsck
να μην προσφέρουν οτιδήποτε λύση και απλά ζητήματα έκθεση στο παράθυρο τερματικού. ο
-Ν
(Ξηρή λειτουργία) η επιλογή κάνει ακριβώς αυτό:
sudo fsck -Ν / dev / sdb1
Το αντίθετο αυτού είναι να πει
fsck
για να μην ενοχλεί με αποτέλεσμα, εάν διαπιστώσει τυχόν λάθη, και να πάει μόνο μπροστά και να τα διορθώσετε. Για να το κάνετε αυτό, χρησιμοποιήστε το
-y
(Δεν υπάρχουν μηνύματα) επιλογή.
sudo fsck -Υ / dev / sdb1
Χρησιμοποιώντας fsck Από την Κατάτμηση Root
Δεν μπορείτε να χρησιμοποιήσετε
fsck
σε ένα τοποθετημένο διαμέρισμα, αλλά για να εκκινήσετε τον υπολογιστή σας η ριζική κατάτμηση θα πρέπει να τοποθετηθεί. Πώς, λοιπόν, μπορούμε να τρέξει
fsck
για την ριζική κατάτμηση; Η απάντηση είναι να διακόψετε τη διαδικασία εκκίνησης και να τρέξει
fsck
σε recovery mode.
Ενώ ο υπολογιστής σας είναι εκκίνηση, κρατήστε πατημένο ένα πλήκτρο «Shift». Αν έχετε προγραμματιστεί σωστά δεν θα εκκινήσετε το Linux. Η διαδικασία εκκίνησης θα σταματήσει σε ένα μαύρο και άσπρο μενού. Η μηχανή δοκιμών που χρησιμοποιούνται για αυτό το άρθρο έτρεχε Ubuntu, αλλά και άλλες διανομές έχουν τον ίδιο τύπο των μενού, αν και μπορεί να διαφέρουν στην εμφάνιση. Όταν λέει «Ubuntu» στις εικόνες που θα έχει το όνομα της διανομής σας.
Μετακινήστε τη γραμμή αποκορύφωμα με τα πλήκτρα «Επάνω βέλος» και «Down Arrow», ώστε να επιλεγεί το «Προχωρημένες επιλογές για το Ubuntu» μενού. Πατήστε «Enter» για να μετακινηθείτε στην επόμενη οθόνη.
Επιλέξτε την επιλογή που τελειώνει με το «(λειτουργία ανάκτησης).» Στο παράδειγμά μας, είναι «Ubuntu, με Linux 5.11.0-20-generic (λειτουργία ανάκτησης).» Πατήστε το πλήκτρο «Enter».
Θα δείτε το μενού ανάκαμψη. Επιλέξτε «fsck ελέγχει όλα τα συστήματα αρχείων» και πατήστε το πλήκτρο «Tab» για να μετακινήσετε την επισήμανση στο κουμπί «OK». Πατήστε Enter."
Θα δείτε μια ειδοποίηση ότι η ριζική κατάτμηση θα τοποθετηθεί μαζί με οποιεσδήποτε άλλες κατατμήσεις που ορίζονται στο σας αρχείο «/ etc / fstab» .
Πατήστε το πλήκτρο «Tab» για να μετακινήσετε την επισήμανση στο κουμπί «Ναι» και πατήστε το πλήκτρο «Enter».
Θα δείτε
fsck
τρέξει σε αλληλεπιδραστική λειτουργία. Εάν υπάρχουν προβλήματα, θα σας ζητηθεί να αφήσει
fsck
διορθώσετε ή να τις αγνοήσει. Όταν έχουν ελεγχθεί τα συστήματα αρχείων θα εμφανιστεί ξανά το μενού ανάκαμψη.
Επιλέξτε το «βιογραφικό» επιλογή, πατήστε το πλήκτρο «Tab» για να μετακινήσετε την επισήμανση στο κουμπί «Ok» και πατήστε «Enter». Η διαδικασία εκκίνησης θα συνεχιστεί, και θα εκκινήσετε το Linux.
Η εκκίνηση λειτουργία ανάκτησης μπορεί να επηρεάσει κάποιους οδηγούς, έτσι είναι καλή πρακτική να επανεκκίνηση για άλλη μια φορά, αμέσως μόλις εκκινήσετε το Linux. Αυτό εξασφαλίζει ο υπολογιστής σας λειτουργεί με τυπικό τρόπο του.
Όταν τα πράγματα πάνε στραβά
δίχτυα ασφαλείας είναι εκεί για έναν λόγο. Γνωρίστε το
fsck
εντολή. Αν παραστεί ανάγκη να το χρησιμοποιήσει στο θυμό μια μέρα, θα χαρούμε να σας εξοικειωθείτε εκ των προτέρων.