Open Source Support Forum

Please or Register to create posts and topics.

Πως να επιδιορθωσετε το συστημα αρχειων στο LINUX

Οταν το Λειτουργικο σας "κρασαρει" λογω διακοπης ρευματος,
βεβιασμενου shutdown ή απο αλλη αιτια,
τα συνδεδεμενα συστηματα αρχειων μπορει να καταστραφουν.
Ως κατεστραμενο συστημα αρχειων θεωρουμε το γεγονος οτι το superblock
(το τμημα του συστηματος που περιεχει πληροφοριες για τον τυπο του συστηματος αρχειων,
το μεγεθος,τα inodes κλπ)  δεν ειναι σωστα ενημερωμενο και περιεχει λανθασμενες πληροφοριες.

Βασικες εννοιες που θα χρησιμοποιησουμε

Η εντολη fsck:

Το fsck ειναι ενα προγραμμα που ελεγχει το συστημα αρχειων για σφαλματα,
και τα διορθωνει.
"Τρεχει" τοσο χειροκινητα,οσο και αυτοματα (στην εκκινηση εαν ανιχνευσει σφαλματα),
ή εαν εχει ορισθει στο fstab για καποιο συγκεκριμενο filesystem.
ΑΠΟΠΡΟΣΑΡΤΗΣΤΕ το συστημα αρχειων πριν το χρησιμοποιησετε σε καποιο filesystem!

Η εντολη dd:

Η εντολη αυτη χρησιμοποιηται για να αντιγραψει και (εαν το επιθυμουμε)
να μετατρεψει δεδομενα.
Προσοχη,η λανθασμενη χρηση της εντολης μπορει να προκαλεσει ΑΠΩΛΕΙΑ ΔΕΔΟΜΕΝΩΝ.

Ας δουμε μια περιπτωση οπου εχουμε ζημια λογω διακοπης ρευματος
(οποτε το μηχανημα μας εσβησε αποτομα)
Θα χρησιμοποιησουμε μια ΕΙΚΟΝΙΚΗ μηχανη (για να μην εργαστουμε σε πραγματικα δεδομενα!)
και θα χρησιμοποιησουμε την εντολη dd για να γραψουμε τυχαια δεδομενα σε ενα κενο filesystem.
Μετα θα χρησιμοποιησουμε την fsck για να επισκευασουμε τα σφαλματα.
(θυμηθειτε να αλλαξετε το PARTITION με το ονομα του εικονικου
που θα χρησιμοποιησουμε,πχ sda3)

Παμε βημα βημα:

Δωστε την dd ως εξης:
dd if=/dev/zero count=1 bs=4096 seek=0 of=/dev/PARTITION

(θυμηθειτε να αλλαξετε το PARTITION με το ονομα του εικονικου
που θα χρησιμοποιησουμε,πχ sda3)
επαναλαμβανω,ΜΗΝ το τρεξετε σε πραγματικα δεδομενα!

Τωρα,δωστε την fsck για να επισκευασετε διαδραστικα το συστημα
fsck /dev/PARTITION

Βεβαιωστε οτι η επισκευη εγινε,δινοντας παλι fsck /dev/PARTITION

Για να αναγκασετε τον ελεγχο ενος σωστου partition,
για να βεβαιωθειτε οτι ειναι ενταξει, δωστε
fsck -f /dev/PARTITION

Δωστε ξανα την dd για να δοκιμασουμε κατι αλλο:
dd if=/dev/zero count=1 bs=4096 seek=0 of=/dev/PARTITION

Ας διορθωσουμε το κατεστραμενο συστημα αυτοματα

fsck -y /dev/PARTITION

Ειμαστε ετοιμοι!

Τελειωνοντας,θυμηθειτε,ΠΟΤΕ μην τρεχετε την fsck σε συνδεδεμενο συστημα αρχειων!
Πρωτα αποπροσαρτηστε το (unmount) πριν τρεξετε την εντολη!