Vấn đề chính với Windows Explorer là nó không hỗ trợ khôi phục sao chép sau khi đọc lỗi. Hầu hết các đĩa CD bị trầy xước bề ngoài, chẳng hạn, sẽ thất bại trên các vùng khác nhau của đĩa mỗi khi bạn đẩy và lắp lại chúng.
Do đó, với một tiện ích hỗ trợ khôi phục hoạt động sao chép, bạn có thể đọc toàn bộ nội dung của đĩa CD bị hỏng bằng cách thực hiện "đẩy/tải lại/tiếp tục" một vài lần.
Trong thực tế, đây là những gì một utility I wrote làm, và tôi đã không bao giờ cần bất cứ điều gì fancier để đọc đĩa trầy xước. (Nó chỉ đơn giản là sử dụng ReadFile và WriteFile.)
Một bước thấp hơn sẽ mở phân vùng thô (tức là ảnh đĩa) bằng cách truyền một chuỗi như "\. \ F:" (lưu ý: dấu gạch chéo ở đây) sang CreateFile . Nó sẽ cho phép bạn đọc các phần thô từ ổ đĩa, nhưng việc xây dựng lại các tệp từ dữ liệu đó sẽ khó.
Thực tế, cú pháp "\. \" Cho phép bạn mở thiết bị trong "\ GLOBAL ??" chi nhánh của không gian tên Windows Object Manager như thể chúng là các tệp. Nó không giống như gọi dd với/dev/x như một tham số. Cũng có một nhánh "\ Device", nhưng chỉ có thể truy cập được qua DeviceIoControl() (tức là ioctl()), nghĩa là không có giao diện ReadFile()/WriteFile() đơn giản nào.
Mọi thứ thấp hơn mức thiết bị cụ thể, tôi đoán; như đọc dữ liệu CD-ROM thô (bao gồm cả bit ECC) theo cách mà một số chương trình ghi đĩa CD thực hiện. Bạn sẽ phải thực hiện một số nghiên cứu về phương tiện cụ thể (CD, flash, DVD) và phần cứng của bạn cho phép bạn thực hiện chúng.
Lưu ý: Các dấu gạch chéo ngược dường như bị mất trên đường đến trang web; bạn cần phải vượt qua "dấu gạch chéo ngược dấu gạch chéo ngược dấu chấm chéo DeviceName" để CreateFile. Bạn cần phải thoát khỏi chúng, quá, tất nhiên.
Một bổ sung trễ, coz Tôi đã có một thành công lớn bằng cách sử dụng 'ddrescue' – ryenus