13Aug

Τι κάνει "Επαληθεύστε το δίσκο" στην πραγματικότητα μετά την καύση για να επαληθεύσετε τα δεδομένα;

Το χαρακτηριστικό «επαλήθευση δίσκου» είναι ιδανικό για να βεβαιωθείτε ότι ο φρεσκοκομμένος δίσκος σας ήταν καλά, αλλά πώς ακριβώς λειτουργεί;Η σημερινή δημοσίευση του χρήστη SuperUser Q & A έχει την απάντηση σε μια ερώτηση περίεργου αναγνώστη.

Η σημερινή ερώτηση &Η συνάντηση απαντήσεων έρχεται με την ευγένεια του SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα-καθοδηγούμενη ομαδοποίηση Q & A ιστοσελίδες.

Φωτογραφία ευγένεια του cobalt123( Flickr).

Η ερώτηση

αναγνώστη SuperUser user1301428 θέλει να μάθει πώς ελέγχονται οι δίσκοι μετά την εγγραφή τους:

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

Θέλω να πω, δημιουργεί ένα hash του περιεχομένου προέλευσης και προορισμού και στη συνέχεια τα συγκρίνει;Αν ναι, αποθηκεύει το hash του περιεχομένου που έχει καεί στη μνήμη RAM;Ή το αποθηκεύει σε ένα προσωρινό αρχείο στο σκληρό δίσκο;Υπάρχει ένα αρχείο καταγραφής του τι συμβαίνει;

Απλά περίεργος να γνωρίζουμε ακριβώς πώς λειτουργεί αυτό το χαρακτηριστικό.Και αναφέρομαι στο Windows Image Burner.

Πώς λειτουργεί η διαδικασία επαλήθευσης δίσκου;

Οι συνεργάτες της απάντησης

SuperUser Frank Thomas και Synetech έχουν την απάντηση για εμάς.Αρχικά, ο Frank Thomas:

Ανατρέξτε σε αυτές τις σελίδες του MSDN στο παράθυρο API για τη διεπαφή IBurnVerification και το enum IMAPI_BURN_VERIFICATION_LEVEL.

Για δίσκους δεδομένων, φαίνεται ότι σε γρήγορη λειτουργία δεν ελέγχει ολόκληρο το δίσκο, μόνο μια επιλογή τομέων.Στη συνέχεια, βεβαιωθείτε ότι το API καλεί READ_DISC_INFO και READ_TRACK_INFO να επιτύχουν κατά του νέου δίσκου.

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

Για δίσκους μουσικής, εστιάζει στον έλεγχο του READ_TRACK_INFO και του πίνακα δίσκων περιεχομένου, αλλά δεν πραγματοποιεί υπολογισμό του αθροίσματος ελέγχου.Δεν υπάρχει πλήρης λειτουργία επαλήθευσης για τη μουσική.

Ακολουθούμενη από την απάντηση από τη Synetech: Ο

Frank επεσήμανε καλά την εξακρίβωση των Windows.Θα δώσω μια πιο γενική απάντηση.

  • Τι πράγματι κάνει ο δίσκος επαλήθευσης μετά την εγγραφή για να επαληθεύσει τα δεδομένα;
  • Θέλω να πω, δημιουργεί ένα hash του περιεχομένου προέλευσης και προορισμού και στη συνέχεια τις συγκρίνει;Αν ναι, αποθηκεύει το hash του περιεχομένου που έχει καεί στη μνήμη RAM;Ή το αποθηκεύει σε ένα προσωρινό αρχείο στο σκληρό δίσκο;Υπάρχει ένα αρχείο καταγραφής του τι συμβαίνει;

Αυτός είναι σίγουρα ένας τρόπος σύγκρισης που μπορεί να εφαρμοστεί: κατακερματισμός ενός αρχείου( ελπίζουμε ότι με μια αρκετά μεγάλη διάγνωση χαμηλή πιθανότητα αλγόριθμου σύγκρουσης), επαναλάβετε για το άλλο και συγκρίνετε τα hashes.Αν αυτό είναι ο τρόπος με τον οποίο πραγματοποιείται επαλήθευση, τότε θα μπορείτε να δείτε το φλας με LED για λίγο και στη συνέχεια η λυχνία CD / DVD θα αναβοσβήνει για λίγο.

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

Φυσικά, εάν η μονάδα σκληρού δίσκου και η μονάδα οπτικού δίσκου δεν διαθέτουν LED, τότε δεν θα είναι τόσο προφανής.Αλλά μπορείτε ακόμα να το δείτε με κάτι σαν το ProcessMonitor επειδή θα καταγράψει μια σειρά από αναφορές από το ένα, τότε το άλλο είτε σε ένα μόνο, μεγάλο burst ή εναλλασσόμενο, μικρές εκρήξεις.

  • Φαντάζομαι ότι είναι κάποιο είδος σύγκρισης μεταξύ των αρχικών αρχείων και των αρχείων που έχουν καεί στο δίσκο, αλλά κανείς δεν ξέρει πώς γίνεται πραγματικά σε χαμηλό επίπεδο;

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

Μπορείτε να δείτε αν μια σύγκριση γίνεται από τη μονάδα δίσκου ή από την προσωρινή μνήμη στη μνήμη RAM με το πόσο γρήγορα συμβαίνει.Αν κάνετε χειροκίνητα μια απλή σύγκριση( δηλ. Με το WinDiff, το WinMerge ή με το hashing με ένα εργαλείο κατακερματισμού), θα παρατηρήσετε ότι η σύγκριση συμβαίνει πολύ γρηγορότερα από το αναμενόμενο, επειδή διαβάζει τα αρχεία από τη μνήμη cache.Πρέπει να καθαρίσετε την κρυφή μνήμη για να την αναγκάσετε να την διαβάσετε από τον πραγματικό δίσκο.Για τους οπτικούς δίσκους( και άλλα αφαιρούμενα μέσα, όπως οι μονάδες flash και οι κάρτες μνήμης), η απλή εκτόξευση της μονάδας είναι αρκετή για να ξεπλύνετε την κρυφή μνήμη, αλλά για τους σκληρούς δίσκους, δεν είναι σχεδόν τόσο απλή( αν και συνήθως αυτό δεν έχει σημασία.νέο αντίγραφο είναι αυτό που θέλετε να δοκιμάσετε).

Έχετε κάτι να προσθέσετε στην εξήγηση;Απενεργοποιήστε τα σχόλια.Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange;Δείτε το πλήρες νήμα συζήτησης εδώ.