2008-10-13 25 views
7

Có thể đọc phương tiện bị hỏng (cd, hdd, dvd, ...) ngay cả khi windows explorer bomb out?Đọc dữ liệu từ phương tiện bị hư hại

Điều tôi muốn hỏi là liệu có một bộ API hay thứ gì đó có thể truy cập đĩa ở mức rất thấp (bên dưới trình thám hiểm?) Và đọc bất cứ điều gì có thể được truy xuất ngay cả khi nó chỉ là một phần, đặc biệt nếu bạn vẫn có thể thấy các tập tin là có từ thám hiểm, nhưng không thể làm bất cứ điều gì với nó bởi vì nó bị hư hỏng bằng cách nào đó (đầu trên cd, vv)?

Trả lời

0

Tôi không biết lớp nào tồn tại giữa Windows Explorer và API Win32. Bạn có thể thử viết một chương trình với công cụ Win32 File I/O. Nếu điều đó không có tác dụng, thì bạn phải viết trình điều khiển thiết bị của riêng mình để hạ thấp hơn.

0

Tôi đã có một số may mắn từ phía Linux, hoặc sử dụng BartPE (http://www.nu2.nu/pebuilder/), nhưng chỉ thấy tệp không phải lúc nào cũng có nghĩa là tệp có thể khôi phục được, cho dù bạn đang thử từ Windows hay Linux. Bạn đặt cược tốt nhất có thể là sử dụng một thử nghiệm của một chương trình phục hồi.

3

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.

1

bước đầu tiên là dd_rescue. Sau đó, bạn được tự do thử bất kỳ thứ gì để tái tạo lại dữ liệu.

0

Tôi đã có hai đĩa bắt đầu tan rã trên tôi. Từ mô hình của các lĩnh vực không thể đọc được, tôi nghĩ rằng họ đã có bong bóng nội bộ của nhũ tương của họ. WinXP Explorer vừa giơ tay lên và nói rằng ổ đĩa thậm chí không tồn tại.

Trong cả hai trường hợp, tôi đã sử dụng "GetDataBack cho NTFS" từ Phần mềm thời gian chạy (http://www.runtime.org/). Bạn có thể tải xuống bản dùng thử miễn phí sẽ hiển thị cho bạn những gì bạn có thể quay lại nếu bạn đã thanh toán. Khi tôi mua nó là $ 49, nhưng tôi thấy nó bây giờ là $ 79.

Chương trình này thật tuyệt vời. Nó không nhất thiết phải nhanh vì nó sẽ đọc lại một số lĩnh vực, cố gắng đạt được giá trị đồng thuận từ nhiều lần thử, nhưng khi nó được thực hiện, bạn có thể lấy lại những thứ mà bạn nghĩ đã biến mất vĩnh viễn. Tôi đã có một ổ đĩa mà phải mất hơn 10 giờ để phân tích, nhưng khi nó được thực hiện tôi đã trở lại hơn 97% của một ổ đĩa 500GB. Chắc chắn đáng giá.

Một công cụ tuyệt vời khác là Beyond Compare. Tôi có rev 2.5.3, nhưng nó hiện đang ở mức 3. ?? và chi phí 30 đô la. Họ có đường mòn 30 ngày đầy đủ chức năng. Nó thực hiện một công việc tuyệt vời để sao chép số lượng lớn các tệp (và chỉ những tệp cần được sao chép) và, không giống như Explorer, nó không phát sinh nếu có điều gì đó không thành công. Nó giống như một rsync hình ảnh cho Windows, nếu bạn quen thuộc với chương trình đó từ người Samba.

Tôi không có kết nối với một trong các comapnies được đề cập khác ngoài việc là một khách hàng rất hài lòng.

0

Tiêu chuẩn vàng để khôi phục dữ liệu từ thiết bị lưu trữ từ tính sẽ phải là SpinRite. Đó là một ứng dụng thương mại mặc dù, vì vậy bạn có thể sẽ không học được nhiều từ nó.

0

Nếu bạn có máy Linux xung quanh, tôi có thể đề xuất dvdisaster. Nó ban đầu có nghĩa là để tạo các tập tin sửa lỗi, nhưng nó cũng đọc DVD thành một hình ảnh và bỏ qua các lỗi đọc; và bạn có thể sử dụng các ổ đĩa khác nhau từng cái khác để có được các sector bị thiếu trong ảnh.

1

Và có GNU ddrescue

GNU ddrescue là một công cụ phục hồi dữ liệu. Nó sao chép dữ liệu từ một tập tin hoặc thiết bị khối (đĩa cứng, cdrom, vv) sang một tệp khác, cố gắng giải cứu các phần tốt trước tiên trong trường hợp lỗi đọc.

Hãy chắc chắn để sử dụng phiên bản 3-arg (manual):

ddrescue [options] infile outfile [mapfile] 

Đó là, tôi sử dụng một mapfile ngay cả khi nó không bắt buộc, bởi vì:

Nếu bạn sử dụng tính năng mapfile của ddrescue, dữ liệu được giải cứu rất hiệu quả, (chỉ các khối cần thiết được đọc). Ngoài ra, bạn có thể làm gián đoạn việc cứu hộ bất kỳ lúc nào và tiếp tục lại sau tại cùng một thời điểm. Mapfile là một phần thiết yếu của hiệu quả của ddrescue. Sử dụng nó trừ khi bạn biết những gì bạn đang làm.

Và nó cũng được bao gồm trong Cygwin và Homebrew.

+0

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

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