Cứu một hdd với các thành phần xấu: dd vs gddresTHER


11

Ở đâu đó trên mạng quốc tế tôi đọc rằng gddresTHER vượt trội hơn dd ít nhất là về khả năng phân biệt giữa số lượng đĩa đọc được thực hiện trên một khu vực gặp khó khăn. Đây đúng là tình trạng đó phải không?

thời gian dd if = / dev / sda bỏ qua = 900343967 of = a.bin Count = 4 iflag = direct conv = noerror, sync

dd: đọc `/ dev / sda ': Input / lỗi đầu ra
2 + 0 hồ sơ trong
2 + 0 hồ sơ ra
1024 bytes (1.0 kB) sao chép, 18,6057 s, 0,1 kb / s
3 + 1 bản ghi trong
4 + 0 hồ sơ ra
2048 byte (2.0 kB) được sao chép, 18.6707 s, 0.1 kB / s


người dùng thực 0m18.672s 0m0.000s
sys 0m0.004s

Btw, cờ trực tiếp thực sự có ích, nhưng tôi chỉ có thể đọc 1 sector trong số 4 (so với 3/4 với nó). Tuy nhiên, điều đó đáng chú ý làm chậm tốc độ truyền xuống - nó chậm hơn ít nhất khoảng 5 lần đối với tôi: 5MB / s so với 25MB / s nếu không có cờ này. Nhưng dù sao, bây giờ là phần gddresTHER ( ddresTHER ) ..

thời gian ddresTHER -b512 -c1 -s4b -dnvD -i900343967b -o0b / dev / sda b.bin

Sắp sao chép 2048 byte từ / dev / sda sang b.bin
Vị trí bắt đầu: infile = 460976 MB, outfile = 0 B
Sao chép kích thước khối: 1 khối
cứng Kích thước khối cứng: 512 byte
Max_retries: 0
Direct: yes Spzzy : no Split: không cắt ngắn: không

Nhấn Ctrl-C để ngắt liên tục
: 1536 B, errsize: 512 B, tốc độ hiện tại: 53 B / s
ipose: 460976 MB, lỗi: 1, tốc độ trung bình: 53 B / s
opos: 1536 B, thời gian kể từ lần đọc thành công cuối cùng: 0 giây kết
thúc


người dùng thực 0m18.736s 0m0.004s
sys 0m0.000s

Như được hiển thị ở trên, nó đã mất cùng một khoảng thời gian để thực hiện. Như mong đợi - cùng thống kê: 3/4. Tuy nhiên, trong khi tôi có thể đệm các khu vực gặp rắc rối với 0x00 cho dd (conv = sync), gddresTHER dường như thiếu chức năng này? Thay vào đó, nó chỉ bỏ qua khu vực gặp khó khăn khi viết bất cứ điều gì vào vị trí của nó và tiếp tục với khu vực tiếp theo (nếu tôi đã có dữ liệu được ghi trên khu vực đó trong tệp đầu ra - nó sẽ không bị ghi đè: đôi khi điều đó có thể không được mong muốn ). Tôi không chắc tùy chọn -t (cắt ngắn) sẽ hoạt động như thế nào đối với một thiết bị khối với gddresTHER(tôi đoán, nó sẽ ghi đè hoàn toàn bằng 0x00), nhưng trên một tệp thông thường, như dự đoán, sẽ cắt toàn bộ tệp chỉ thực hiện trong các kích thước bù (ví dụ -o1). Vì vậy, điều đó hơi giống với đồng bộ hóa dd , nhưng khác xa vì nó sẽ chỉ bắt chước chức năng nhận dạng NẾU bạn đã sẵn sàng ghi đè lên toàn bộ thiết bị / tệp đầu ra.

Mặc dù, nhờ có sự hiện diện của tùy chọn dài dòng và khả năng ghi lại các thành phần / khối xấu - gddresTHER có vẻ như là một lựa chọn tốt hơn. Điều quan trọng cần lưu ý là cả hai ứng dụng đã được khởi chạy với (khá nhiều) thông số giống hệt nhau.

Đầu ra của

khác?

trống (thoát 0), có nghĩa là các tệp hoàn toàn giống nhau.

Bây giờ đây là phần tôi KHÔNG hiểu:

dd chậm ngay cả trên các công cụ không có lỗi vì nó đọc và ghi rất nhỏ. Nó dành rất nhiều thời gian để nhai qua các phần lỗi của ổ đĩa, thay vì đọc càng nhiều thứ không có lỗi càng tốt, THÌ quay trở lại để làm những việc khó khăn.

Đó là những gì tất cả về? Đặc biệt là phần " nó dành nhiều thời gian để nhai qua các phần lỗi của ổ đĩa, thay vì đọc càng nhiều thứ không có lỗi càng tốt, THÌ sẽ quay lại làm những việc khó khăn "? Phải mất cùng một khoảng thời gian như được hiển thị ở trên (mặc dù tôi đã kiểm tra một phần rất nhỏ của dữ liệu, nhưng điều đó có quan trọng không?).

gddresTHER cung cấp công tắc -r , sẽ kiểm soát lượng đọc lại trên một "khu vực xấu", tuy nhiên, dd dường như đang chạy với -r0 (vì nó mất cùng thời gian). Vì vậy, tùy chọn này chỉ đơn thuần là "xử lý hậu kỳ"? Những gì tôi đang nhận được là ban đầu cả ddgddresTHER dường như đang chạy với -r0dd dường như không nhai qua các phần sai lầm hơn bất kỳ gddresTHER (cả hai dường như dừng lại trên một khối xấu trong 15-18 Vài giây cho hoặc nhận, vậy thỏa thuận là gì, làm thế nào là gddresTHER nhanh hơn ???)

Ngoài ra, tùy chọn -D (sử dụng ghi đồng bộ cho tệp đầu ra) để làm gì? Tôi đã không nhận thấy bất kỳ sự khác biệt từ một số thử nghiệm được tiến hành.

Bất cứ ai có thể nhận xét về tất cả mọi thứ? Cảm ơn.

Câu trả lời:


6

Tôi không chắc làm thế nào các tác giả được trích dẫn đi đến kết luận của mình. Tôi không tranh luận liệu anh ấy có đúng hay không, tôi chỉ không có kinh nghiệm đó.

Mặt khác, liên quan đến tuyên bố này ...

gddresTHER vượt trội hơn dd ít nhất là về khả năng phân biệt giữa số lượng đĩa đọc được thực hiện trên một khu vực gặp khó khăn.

Lý do thực sự "ít nhất" để sử dụng gddresTHER, là bởi vì gddresTHER không cắt bớt đầu ra trên các lần đọc / ghi lặp đi lặp lại. gddresTHER cũng hoàn toàn tự động, liên quan đến một số lỗi đọc nhất định sẽ dừng dd.

Vì vậy, tác giả được trích dẫn có thể đúng, anh ta có thể không ... nhưng toàn bộ tuyên bố bỏ lỡ điểm của gddresTHER.

CẬP NHẬT: Sự khác biệt chi tiết giữa dd và gddresTHER.

dd conv = noerror, sẽ tiếp tục xảy ra lỗi, nhưng nó sẽ bỏ qua khối xấu. thậm chí thêm tùy chọn đồng bộ sẽ chỉ đặt số không thay vì bỏ qua. Nếu bạn sử dụng dd để thực hiện một lần đọc khác sử dụng cùng một đầu ra, bạn sẽ chỉ ghi đè / mất bất cứ thứ gì bạn đã phục hồi trước đó.

gddresTHER, cũng sẽ tiếp tục đi sau lỗi. Nó có thể phục hồi một phần lợi nhuận từ một khối xấu, và sẽ quay lại và thử khu vực khối theo từng lĩnh vực. gddresTHER sẽ giữ một bản ghi lỗi chi tiết, với khối tốt, khối xấu và khu vực theo ngành từ bất kỳ khối xấu nào. Nếu bạn cố thực hiện đọc lại, gddresTHER sẽ cắt (cắt ngắn) và thêm vào bất kỳ dữ liệu nào được phục hồi bổ sung.

Hãy ghi nhớ, ngay cả với cả hai công cụ nếu cả một khối trong 100% không thể đọc được. Bạn vẫn sẽ không nhận được dữ liệu từ nó. gddresTHER có khả năng có thể nhận được nhiều dữ liệu hơn, nếu một số lĩnh vực trong khối vẫn có thể đọc được.


Tôi hiểu rồi, về việc gddresTHER hoàn toàn tự động, chẳng phải dd cũng hoàn toàn tự động với conv = noerror sao? Bạn có thể giải thích về phần "đầu ra cắt ngắn trên các lần đọc / ghi lặp lại" không? Bạn có nghĩa là công cụ "xử lý hậu kỳ", khi gddresTHER được yêu cầu kiểm tra lại các lĩnh vực không được đọc ban đầu?
Xxx

Tôi cập nhật câu trả lời của tôi, để phản ánh câu hỏi của bạn.
JM Becker

Tôi đã sử dụng gddresTHER một số lần trên ổ đĩa cứng và phương tiện quang học. Ưu điểm của nó là nó cố gắng phục hồi các khu vực không thể đọc được. Bạn cũng có thể dừng nó và chạy lại sau và nó sẽ chọn đúng nơi nó dừng lại.
Chris Thompson

1
@TechZilla - gddresTHER chỉ bỏ qua khối xấu, giống như dd . Giống như tôi đã viết ở trên, đệm với số không (conv = sync) là tùy chọn chính xác mà gddresTHER bị thiếu và đôi khi rất hữu ích (với nỗ lực thêm bạn có thể thực hiện thủ công với / dev / zero, vì bạn có nhật ký của các khu vực xấu như được sản xuất trên mỗi đầu ra gddresTHER ). Không sự khác biệt giữa gddresTHERdd về mặt phục hồi, gddresTHER không làm gì khác về vấn đề đó. Tại sao? Bởi vì, với cùng kích thước khối, họ sẽ phục hồi cùng một lượng dữ liệu.
XXL

@TechZilla - sự khác biệt thực tế duy nhất là khi số lượng ngành cần xử lý được chọn cao hơn kích thước khối . Điều này sẽ cung cấp cho bạn khả năng tăng tốc đáng kể mọi thứ so với dd , vì dd chỉ có thể hoạt động với kích thước khu vực không biến đổi tĩnh. gddresTHER , mặt khác, trước tiên sẽ đọc nhiều lĩnh vực như bạn đã hướng dẫn, nhưng nó cũng sẽ tuyên bố những khối đó là xấu nếu một khối duy nhất bên trong bị nghi ngờ và một khi nó được thực hiện - chuyển sang chế độ hậu kiểm tra các khu vực khó hiểu giảm dần kích thước khu vực cho đến khi nó đạt đến kích thước khối tối thiểu
xxl

2

Tùy thuộc vào thời điểm hdd của bạn được maufactured cũng như nhà sản xuất, và phiên bản phần sụn nào nó chạy, với các hdd hiện đại, khi phát hiện ra các thành phần xấu, chúng sẽ bị loại bỏ khỏi phần mềm sử dụng và ổ đĩa biết bỏ qua các phần tử xấu. Vì vậy, khái niệm "giải cứu" một hdd từ các khu vực xấu có thể được đưa ra trong vấn đề đó. Câu hỏi liệu các thành phần xấu hiện nay có dữ liệu hợp lệ dường như là giải pháp tình huống bạn đang tìm kiếm - không có ý định chơi chữ!

Có một số phần mềm tại grc.com được gọi là spinrite 6 tuyên bố có thể sửa các hdds với các thành phần xấu. Nó là phần mềm trả phí, và tôi chưa bao giờ thử nó. Rất đáng để đọc, đặc biệt nếu một người đang cố gắng "hồi sinh" một cái hdd và nó thực sự hoạt động như mô tả. Câu hỏi thường gặp tại grc.com liên quan đến spinrite 6 chỉ ra rằng có bảo đảm hoàn lại tiền trong 30 ngày (và không có phiên bản dùng thử hoặc miễn phí). Lưu ý: Tôi không liên kết với grc.com, tôi cũng không giới thiệu nó cho tình huống của bạn. Tôi chỉ biết nó tồn tại và có thể hoạt động như quảng cáo, chỉ cần tôi không tin vào điều đó - emptor caveat.

Liên quan đến việc đánh giá liệu gddresTHER "có vượt trội" so với dd ít nhất là về khả năng phân biệt giữa số lượng đĩa đọc được thực hiện trên một khu vực gặp khó khăn, bất kỳ số lần đọc nào trên một khu vực xấu (vì nó được đánh dấu là không khu vực chức năng trong một danh sách các khu vực xấu được giữ trong danh sách chương trình cơ sở) dường như không hữu ích trong việc sử dụng định tính của gddresTHER hoặc dd.

Bạn có thể thấy hữu ích khi đọc trang web, dd (Unix) tại: https : //secure.wik mega.org/wikipedia/en/wiki/GddresTHER#Recovery-oriented_variants_of_dd

Bạn cũng có thể thấy hữu ích khi xem qua: Cách tạo hình ảnh của ổ cứng bị hỏng bằng cách sử dụng UBCD, dd-cứu và P2 eXplorer tại: http://www.myfixlog.com/fix.php?fid= 21

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.