Βγάζεις το USB στικάκι χωρίς ασφαλή κατάργηση; Τι πραγματικά μπορεί να συμβεί

Ένας εξωτερικός δίσκος USB ή το λεγόμενο και στικάκι μπορεί να δείχνει απολύτως αδρανής, αλλά αυτό δεν σημαίνει απαραίτητα ότι ο υπολογιστής έχει τελειώσει μαζί του. Ακόμη και όταν η διαδικασία της αντιγραφής έχει φτάσει στο 100%, το λειτουργικό σύστημα ή η ίδια η μονάδα αποθήκευσης μπορεί να συνεχίζουν να διαχειρίζονται δεδομένα στο παρασκήνιο. Γι’ αυτό η ασφαλής εξαγωγή ενός SSD, HDD ή USB stick εξακολουθεί να έχει νόημα.

Το να αποσυνδέσουμε απλώς το καλώδιο συνήθως δεν οδηγεί σε καταστροφή δεδομένων. Αυτός είναι και ο λόγος που πολλοί χρήστες το κάνουν επί χρόνια χωρίς να αντιμετωπίσουν εμφανές πρόβλημα. Το ρίσκο, όμως, δεν είναι μηδενικό – και το πρόβλημα είναι ότι δεν μπορούμε πάντοτε να γνωρίζουμε αν ο εξωτερικός δίσκος εξακολουθεί να γράφει δεδομένα.

Η αντιγραφή μπορεί να έχει «τελειώσει» μόνο στην οθόνη

Τα σύγχρονα λειτουργικά συστήματα χρησιμοποιούν caching για να επιταχύνουν τις λειτουργίες αποθήκευσης. Ένα μέρος των δεδομένων μπορεί προσωρινά να βρίσκεται στη μνήμη και να εγγράφεται στον δίσκο λίγο αργότερα.

Υπάρχει μάλιστα και δεύτερο επίπεδο. Πολλές μονάδες αποθήκευσης διαθέτουν δική τους volatile write-back cache. Αυτό σημαίνει ότι μπορούν να δηλώσουν στο λειτουργικό σύστημα πως μια λειτουργία εισόδου/εξόδου ολοκληρώθηκε πριν τα δεδομένα φτάσουν οριστικά στο μη πτητικό μέσο αποθήκευσης. Για αυτό υπάρχουν διαδικασίες όπως τα cache flushes, που εξασφαλίζουν ότι οι εκκρεμείς εγγραφές ολοκληρώνονται πριν από την αποσύνδεση.

Όταν επιλέγουμε Eject ή Unmount, ουσιαστικά ζητάμε από το λειτουργικό σύστημα να ολοκληρώσει ό,τι απομένει, να αποδεσμεύσει το filesystem και να μας ενημερώσει πότε η μονάδα μπορεί να αφαιρεθεί με ασφάλεια.

Τι μπορεί να συμβεί αν τον τραβήξεις απότομα

Ο οδηγός που ξεκαθαρίζει επιτέλους το χάος με τα USB
photo by pixabay

Αν ο εξωτερικός δίσκος δεν πραγματοποιεί καμία εγγραφή, το πιθανότερο είναι να μη συμβεί τίποτα. Αν όμως αποσυνδεθεί την ώρα που γράφονται δεδομένα, το αποτέλεσμα μπορεί να είναι ένα ημιτελές ή κατεστραμμένο αρχείο.

Το πιο ύπουλο σενάριο είναι όταν η ζημιά δεν γίνεται αμέσως αντιληπτή. Μπορεί να θεωρήσουμε ότι ένα σημαντικό αρχείο αντιγράφηκε κανονικά, να διαγράψουμε το πρωτότυπο και να διαπιστώσουμε αργότερα ότι το αντίγραφο δεν ανοίγει σωστά.

Υπάρχει επίσης κίνδυνος αλλοίωσης των metadata του filesystem. Αν η αποσύνδεση γίνει την ώρα που ενημερώνονται πληροφορίες σχετικά με αρχεία και καταλόγους, η μονάδα μπορεί στην επόμενη σύνδεση να χρειαστεί έλεγχο ή επισκευή. Αυτό δεν σημαίνει ότι κάθε απότομη αφαίρεση καταστρέφει τον δίσκο, αλλά εξηγεί γιατί ένα λειτουργικό σύστημα μπορεί να ζητήσει έλεγχο μετά από μη ασφαλή αποσύνδεση.

Στα Windows τα πράγματα είναι λίγο διαφορετικά

Windows 11 update: Σχεδόν 1.000 διορθώσεις ασφαλείας έφεραν νέα προβλήματα και τώρα έρχεται emergency patch

Η Microsoft άλλαξε σημαντικά τη συμπεριφορά των Windows πριν από αρκετά χρόνια. Από τα Windows 10 version 1809, η προεπιλεγμένη πολιτική για τις αφαιρούμενες μονάδες είναι το Quick removal.

Με αυτή τη ρύθμιση, τα Windows διαχειρίζονται τις λειτουργίες αποθήκευσης έτσι ώστε η συσκευή να μπορεί να αφαιρεθεί χωρίς τη διαδικασία Safely Remove Hardware, περιορίζοντας το disk write caching. Υπάρχει όμως και η επιλογή Better performance, η οποία επιτρέπει write caching και απαιτεί ασφαλή εξαγωγή πριν την αποσύνδεση.

Ακόμη και έτσι, η ίδια η Microsoft εξακολουθεί να συστήνει την ασφαλή κατάργηση USB flash drives και εξωτερικών σκληρών δίσκων πριν από την αποσύνδεσή τους, ώστε να αποφεύγεται η πιθανότητα απώλειας δεδομένων.

Γιατί στο Mac το Eject παραμένει σημαντικό

Right-click on MacBook: Πώς ενεργοποιείται και πώς αλλάζουν οι ρυθμίσεις

Στο macOS υπάρχουν αρκετοί λόγοι για τους οποίους ένας εξωτερικός δίσκος μπορεί να χρησιμοποιείται χωρίς να είναι προφανές στον χρήστη.

Το Time Machine μπορεί να πραγματοποιεί backup, ενώ το Spotlight μπορεί να κάνει indexing του περιεχομένου. Η ίδια η Apple αναφέρει ότι όταν ένας δίσκος δεν μπορεί να γίνει unmount, ο χρήστης πρέπει μεταξύ άλλων να ελέγξει αν συνεχίζεται backup, αν υπάρχουν ανοιχτά αρχεία ή αν το Spotlight εξακολουθεί να πραγματοποιεί indexing.

Το Finder παρέχει γι’ αυτό ξεχωριστή εντολή Eject και, αν κάποια εφαρμογή εξακολουθεί να χρησιμοποιεί αρχεία από τη μονάδα, το macOS μπορεί να εμποδίσει την αποσύνδεσή της.

Και στο Linux το unmount δεν είναι διακοσμητικό

Στο Linux η ίδια βασική αρχή ισχύει. Τα δεδομένα μπορούν να βρίσκονται προσωρινά σε cache και το unmount αποτελεί μέρος της διαδικασίας με την οποία οι εκκρεμείς εγγραφές ολοκληρώνονται πριν αποδεσμευτεί το filesystem.

Η τεκμηρίωση του Linux kernel εξηγεί ότι οι μονάδες με volatile write-back caches μπορούν να δηλώνουν ολοκλήρωση πριν τα δεδομένα αποθηκευτούν μόνιμα και ότι λειτουργίες όπως sync και unmount χρησιμοποιούνται για να εξασφαλίσουν την εγγραφή τους.

Άρα μπορούμε ποτέ να τον βγάλουμε χωρίς Eject;

Τεχνικά, ναι – εφόσον είμαστε βέβαιοι ότι δεν βρίσκεται σε εξέλιξη καμία εγγραφή, κανένα πρόγραμμα δεν χρησιμοποιεί αρχεία και το λειτουργικό σύστημα έχει ολοκληρώσει κάθε εργασία. Στα Windows με ενεργό Quick removal το περιθώριο ασφαλείας είναι επίσης μεγαλύτερο.

Το πρόβλημα είναι ότι δεν είναι πάντοτε εύκολο να γνωρίζουμε τι συμβαίνει στο παρασκήνιο. Ένα backup, indexing ή μία καθυστερημένη εγγραφή μπορεί να μην έχει καμία εμφανή ένδειξη.

Γι’ αυτό η ασφαλής εξαγωγή παραμένει η απλούστερη πρακτική. Παίρνει μερικά δευτερόλεπτα και αφήνει το ίδιο το λειτουργικό σύστημα να επιβεβαιώσει ότι ο εξωτερικός δίσκος είναι έτοιμος να αποσυνδεθεί. Το Eject δεν είναι κατάλοιπο μιας άλλης εποχής των υπολογιστών – είναι ένας απλός τρόπος να μη βασίζουμε τα δεδομένα μας στην τύχη.