Làm cách nào để yêu cầu rsync bỏ qua các tệp trên khối ổ cứng bị hỏng, thay vì bị kẹt khi cố đọc nó


13

Tôi đang cố gắng khôi phục các tập tin từ một đĩa có lỗi phần cứng.

Đĩa đã được sửa chữa bởi tiện ích đĩa, nhưng nó nói với tôi rằng đĩa bị hỏng, vì vậy tôi cần sao lưu mọi thứ trước khi xảy ra lỗi.

Vì vậy, tôi đã cố gắng sao chép các tập tin thông qua công cụ tìm, nhưng nó bị kẹt. Đã thử các tiện ích khác và chúng bị kẹt khi cố gắng sao chép các tệp, khi phần đầu chạm vào khối bị hỏng.

Vì vậy, tôi đã thử với rsync, và nó dường như hoạt động; nhưng phải mất mãi khi tôi gặp một khối xấu.

Vì vậy, tôi đã tự hỏi, nếu có một cách để nói với Rupync thậm chí không bận tâm đến một tệp, nếu nó mất quá nhiều thời gian? Tôi có thể chỉ định số lần thử với mỗi tệp không, hoặc nó cần thử bao lâu cho mỗi tệp?

Tôi không chắc ổ đĩa này sẽ tồn tại bao lâu một cách trung thực, vì vậy tôi muốn lấy tất cả dữ liệu ra khỏi ASAP, trong khi tôi vẫn có thể gắn nó và xem dữ liệu trên nó trong công cụ tìm.

Đây là những gì tôi đang sử dụng như lệnh; xin vui lòng tư vấn nếu có bất kỳ cách nào để giảm thử trên một tệp, vì vậy tôi có thể có rsync để cố đọc các khối bị hỏng, nhưng tránh bị kẹt trên một khu vực cụ thể quá lâu.

rsync -arv -e--ignore-errors --partial-dir=/Volumes/backup/partial /Volumes/work /Volumes/backup

Cảm ơn trước.


3
Nếu ổ đĩa có các khu vực bị hỏng, bạn nên cố gắng hình ảnh ổ đĩa với một cái gì đó giống như dd_rescue, nó có các tính năng nâng cao để đối phó với các khu vực xấu.
jmreicha

Tôi nghĩ rằng @jmreicha có ý tưởng đúng, nhưng trong tương lai, nếu bạn có câu hỏi về kỹ thuật rsync, các bậc thầy thân thiện có sẵn trong danh sách rsync: list.samba.org/mailman/listinfo/rsync
Joe

Câu trả lời:


10

Câu trả lời ngắn: rsyncnó không phải là công cụ phù hợp được sử dụng trong trường hợp này: việc sử dụng nó có thể thậm chí có hại.
Sử dụng ddrescuethay thế (tốt hơn dd_rescue). Nó có thể làm những gì bạn đang yêu cầu.


Nếu đĩa bị hỏng vật lý, có khả năng gạch nó với bất kỳ nỗ lực nào để sửa chữa nó.

Nó không chỉ là một câu hỏi về việc sử dụng thời gian của bạn , khi rsyncdường như treo mãi mãi tiếp cận một khu vực bị hư hỏng. Vấn đề là với các hoạt động lặp đi lặp lại một thất bại có thể không thể khắc phục sẽ xảy ra, và sau đó bạn sẽ không nữa có thể để cứu dữ liệu của bạn mà không cần tốn kém bộ phận thay thế (luôn nếu nó sẽ vẫn có thể và bạn sẽ không có gạch của bạn HDD ).

Trong trường hợp này, quy trình an toàn nhất mà tôi tìm thấy là

  1. Để tạo một hình ảnh thô trên một đĩa khác không bị hỏng.
  2. Để tạo một bản sao của hình ảnh đó.
  3. Để làm việc trên bản sao để sửa hệ thống tập tin và cứu các tập tin .

Tại sao lại là bản sao? Bởi vì nếu nó không thành công trong bước sửa lỗi hệ thống tập tin, bạn luôn có thể bắt đầu lại mà không cần phải chạm lại vào ổ cứng bị hỏng ban đầu .

Tôi đề nghị bạn sử dụng ddrescue, để làm hình ảnh đĩa thô, bao gồm các lỗi, bởi vì nó hoạt động tốt ngay cả trong trường hợp lỗi đọc.


Làm thế nào để làm điều đó với ddrescue

Bạn có thể sử dụng ddrescuechính xác như bạn muốn sử dụng rsync, bỏ qua các khu vực bị hư hỏng mà không cần thử lại hoặc tách chúng, sao chép càng nhiều dữ liệu càng tốt.
Lệnh này ở đây bên dưới (thay vì /dev/hda1bạn sẽ đặt thiết bị của mình):

ddrescue --no-split /dev/hda1 imagefile logfile

Sau đó, bạn đã thực hiện đoạn đầu tiên này (đoạn nhanh hơn ), bạn có thể cố gắng tinh chỉnh nó cố gắng truy cập 3 lần trong trường hợp có lỗi.

ddrescue --direct --max-retries=3 /dev/hda1 imagefile logfile 

Bạn có thể tiếp tục tinh chỉnh hình ảnh lặp lại các ddrescuelệnh gọi với các tùy chọn khác, thử mỗi lần để trích xuất thêm dữ liệu (xem các tài liệu tham khảo). Khi bạn hoàn thành, bạn có thể tạo bản sao (nếu bạn có tất cả dung lượng cần thiết) và sau đó để sửa hệ thống tệp .

Lưu ý rằng hình ảnh thô sẽ lớn như ổ cứng ban đầu .
Bạn có thể tìm thấy trên internet, trên trang này và trên các trang khác của StackExchange nhiều câu hỏi & câu trả lời về cách cứu dữ liệu bằng ddrescuehoặc các công cụ khác.

Người giới thiệu:


thực sự dd_resTHER là con đường để đi. Tôi đã có nó trong trả lời ban đầu của tôi, 2 năm trước; nhưng vì một số lý do mà ai đó đã quyết định rằng tôi không thể trả lời câu hỏi của riêng mình :) Cảm ơn bạn đã trả lời và chi tiết tuyệt vời
rataplan

@newbiez: Thay vào đó tôi gặp vấn đề nghiêm trọng về ổ đĩa với ổ cứng chính gần như bị brick của mình ... vì vậy tôi đã gặp ddrescuevà bạn bè của nó :-) Về câu trả lời của bạn chỉ một từ: lạ ... hãy đăng lại và nếu ai đó sẽ cố gắng đóng lại Tôi sẽ bỏ phiếu đồng ý để mở lại (Tôi chưa bao giờ sử dụng sức mạnh mới đó : D)
Hastur

1
Tùy chọn --no-split đã bị xóa trong các phiên bản mới hơn của ddresTHER. Sử dụng --no-scrape thay thế. Xem danh sách.gnu.org/archive/html/orms
Grmpfhmbl
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.