2011-10-18 33 views
5

Tôi đoán rằng một hệ thống tệp điển hình có xu hướng giữ một số loại checksum/CRC/băm của mỗi tệp mà nó quản lý, vì vậy nó có thể phát hiện tệp bị hỏng.Bắt kiểm tra tệp trực tiếp từ hệ thống tệp thay vì tính toán rõ ràng

Điều đó có đúng không? Và nếu có, có cách nào để truy cập nó không?

Tôi chủ yếu quan tâm đến Windows và NTFS, nhưng nhận xét trên các nền tảng khác cũng sẽ được hoan nghênh ... Ngôn ngữ không quan trọng tại thời điểm này, nhưng tôi muốn tránh người lắp ráp nếu có thể.

Cảm ơn.

+3

No. CRC checking là công việc của ổ đĩa. –

+0

@HansPassant Ở cấp độ khối, chắc chắn. Nhưng mức độ tập tin thì sao? –

+0

tùy thuộc vào hệ điều hành và hệ thống tệp có thể đúng ... ví dụ cho ZFS (có sẵn cho Sun, Linux và OSX) ... anyway NẾU được tính toán/lưu trữ bởi hệ thống tệp, thường thì không thể truy cập thông qua API được ghi. .. để có được nó, bạn thường cần phải đào sâu và sử dụng severaly công cụ không có giấy tờ mà trong một số trường hợp cần quyền cụ thể (Administrator, root hoặc thậm chí một mô-đun hạt nhân/trình điều khiển) ... đó thường là nhiều rắc rối hơn chỉ tính của riêng bạn checksum ... chính xác mục tiêu của bạn là gì? – Yahia

Trả lời

1

Trong phần lớn các hệ thống tệp và phần cứng lưu trữ, chúng sẽ giữ tổng kiểm tra của allocation units, không phải tệp đầy đủ.

Tổng kiểm tra trong phần cứng có thể không thể truy cập được, và tổng kiểm tra các cụm hệ thống tệp sẽ không hữu ích cho phần lớn các trường hợp, nếu có thể.

Các vấn đề liên quan