Trang chủ » làm thế nào để » 'Xác minh đĩa' thực sự làm gì sau khi ghi để xác minh dữ liệu?

    'Xác minh đĩa' thực sự làm gì sau khi ghi để xác minh dữ liệu?

    Tính năng 'đĩa xác minh' là tuyệt vời để đảm bảo đĩa mới cháy của bạn bật ra tốt, nhưng chính xác thì nó hoạt động như thế nào? Bài hỏi và trả lời của SuperUser hôm nay có câu trả lời cho câu hỏi của người đọc tò mò.

    Phiên hỏi và trả lời hôm nay đến với chúng tôi nhờ sự hỗ trợ của SuperUser - một phân ngành của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều khiển.

    Hình ảnh lịch sự của cobalt123 (Flickr).

    Câu hỏi

    Đầu đọc SuperUser user1301428 muốn biết cách xác minh đĩa sau khi ghi chúng:

    Xác minh đĩa sau khi ghi thực sự làm gì để xác minh dữ liệu? Tôi tưởng tượng nó là một loại so sánh giữa các tệp gốc và các tệp đã bị ghi trên đĩa, nhưng có ai biết làm thế nào nó thực sự được thực hiện ở mức độ thấp?

    Ý tôi là, nó có tạo ra một hàm băm của nội dung nguồn và đích, sau đó so sánh chúng không? Nếu vậy, nó có lưu trữ hàm băm của nội dung bị cháy trong RAM không? Hoặc nó lưu nó trong một tập tin tạm thời trên ổ cứng? Có một tệp nhật ký của những gì đang xảy ra?

    Chỉ tò mò để biết chính xác làm thế nào tính năng này hoạt động. Và tôi đang đề cập đến Windows Image burner.

    Quá trình xác minh đĩa hoạt động như thế nào?

    Câu trả lời

    Những người đóng góp cho SuperUser Frank Thomas và Synetech có câu trả lời cho chúng tôi. Đầu tiên, Frank Thomas:

    Kiểm tra các trang MSDN này trên API windows cho giao diện IBurnVerifying và enum IMAPI_BURN_VERIFICATION_LEVEL.

    Đối với đĩa dữ liệu, có vẻ như trong chế độ nhanh, nó không kiểm tra toàn bộ đĩa, chỉ là một lựa chọn của các lĩnh vực. Sau đó, đảm bảo rằng API gọi READ_DISC_INFO và READ_TRACK_INFO thành công với đĩa mới.

    Để xác minh đầy đủ, nó thực hiện các kiểm tra ở trên, sau đó thực hiện kiểm tra đầy đủ vào phiên cuối cùng trên đĩa mới so với tổng kiểm tra được tính trên luồng bộ nhớ bị đốt cháy. Tổng kiểm tra phải được lưu trữ trong ram, nhưng chúng có thể là các giá trị tồn tại ngắn. Lưu ý rằng so sánh với hình ảnh đĩa trong RAM, không phải phương tiện nguồn chính, vì vậy nếu dữ liệu nguồn không đọc chính xác, nó sẽ được ghi không chính xác. Xác minh sẽ không phát hiện ra điều này.

    Đối với đĩa nhạc, nó tập trung vào việc kiểm tra READ_TRACK_INFO và mục lục của đĩa, nhưng không thực hiện tính toán tổng kiểm tra. Không có chế độ xác minh đầy đủ cho âm nhạc.

    Tiếp theo là câu trả lời từ Synetech:

    Frank giải thích độc đáo về xác minh cụ thể của Windows. Tôi sẽ đưa ra một câu trả lời tổng quát hơn.

    • Xác minh đĩa sau khi ghi thực sự làm gì để xác minh dữ liệu?
    • Ý tôi là, nó có tạo ra một hàm băm của nội dung nguồn và đích, sau đó so sánh chúng không? Nếu vậy, nó có lưu trữ hàm băm của nội dung bị cháy trong RAM không? Hoặc nó lưu nó trong một tập tin tạm thời trên ổ cứng? Có một tệp nhật ký của những gì đang xảy ra?

    Đó chắc chắn là một cách để so sánh có thể được thực hiện: băm một tệp (hy vọng với thuật toán va chạm thấp có thể đọc đủ lớn), lặp lại cho tệp kia và so sánh các giá trị băm. Nếu đó là cách xác minh được thực hiện, thì bạn sẽ có thể thấy đèn flash LED ổ đĩa trong một thời gian, sau đó đèn flash CD / DVD-LED trong một thời gian.

    Một cách khác để thực hiện xác minh là đọc một khối của một tệp, sau đó cùng một khối từ tệp khác, so sánh chúng, sau đó lặp lại cho đến khi kết thúc tệp. Trong trường hợp này, bạn sẽ thấy đèn LED của hai ổ đĩa xen kẽ qua lại.

    Tất nhiên, nếu ổ đĩa cứng và ổ đĩa quang không có đèn LED, thì nó sẽ không rõ ràng. Nhưng bạn vẫn có thể thấy nó với một cái gì đó giống như ProcessMonitor bởi vì nó sẽ ghi lại một loạt các lần đọc từ một, sau đó là một đợt, một vụ nổ lớn hoặc xen kẽ, các vụ nổ nhỏ.

    • Tôi tưởng tượng nó là một loại so sánh giữa các tệp gốc và các tệp đã bị ghi trên đĩa, nhưng có ai biết làm thế nào nó thực sự được thực hiện ở mức độ thấp?

    Trên thực tế, tất cả những gì nó thực sự làm là xóa bộ nhớ cache của ổ đĩa để chức năng so sánh đang đọc dữ liệu từ đĩa thực tế thay vì từ bộ nhớ cache. Rõ ràng đây là một bước quan trọng bởi vì nếu xác minh được thực hiện từ bộ đệm, thì nó không thể hiện những gì thực sự có trên đĩa, vì vậy tham nhũng có thể dễ dàng vượt qua.

    Bạn có thể xem liệu một so sánh được thực hiện từ ổ đĩa hoặc từ bộ đệm trong RAM bằng cách nó xảy ra nhanh như thế nào. Nếu bạn thực hiện một phép so sánh đơn giản (nghĩa là với WinDiff, WinMerge hoặc bằng cách băm chúng bằng công cụ băm), bạn sẽ thấy rằng sự so sánh xảy ra nhanh hơn nhiều so với dự kiến ​​vì nó đang đọc các tệp từ bộ nhớ cache. Bạn phải xóa bộ đệm để buộc nó đọc từ đĩa thực. Đối với các ổ đĩa quang (và các phương tiện di động khác như ổ đĩa flash và thẻ nhớ), chỉ cần đẩy ổ đĩa ra là đủ để xóa bộ nhớ cache, nhưng đối với các ổ đĩa cứng, điều đó gần như không đơn giản (mặc dù điều đó thường không quan trọng vì bản sao mới là bản bạn muốn kiểm tra).


    Có một cái gì đó để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange am hiểu công nghệ khác? Kiểm tra chủ đề thảo luận đầy đủ ở đây.