Làm thế nào để tiếp tục quá trình ddresTHER?


9

Tôi phải khôi phục USB HD 1TB của mình. Tôi đang sử dụng ddrescueđể thực hiện điều này. Có cách nào để tôi có thể tiếp tục ddrescuekhi tôi bắt đầu không?

Tôi đang sử dụng lệnh:

ddrescue /dev/sdd1 ./bye1t.dd_rescue.image

Câu trả lời:


14

ddresTHER có thể được nối lại, nhưng nó đòi hỏi một tệp nhật ký để có thể làm như vậy. Tệp nhật ký sẽ ghi lại tiến trình mà ddresTHER đã thực hiện cho đến nay và khởi động lại ddresTHER sẽ đọc tệp nhật ký và bắt đầu nơi nó rời đi.

Tệp nhật ký sẽ là tham số thứ ba:

ddrescue /dev/sdd1 ./bye1t.dd_rescue.image ~/sdd1.log

Nếu bạn đã bắt đầu chạy ddresTHER mà không có tệp nhật ký và hủy nó, lần tiếp theo ddresTHER chạy, nó sẽ bắt đầu ngay từ đầu vì nó không có bản ghi về những gì đã được phục hồi.

Lưu ý : ddresTHERdd_resTHER là các chương trình khác nhau.


1
Vì vậy, nếu tôi bắt đầu với một tệp nhật ký và sẽ chạy lại cùng một lệnh, nó sẽ tự động tiếp tục từ vị trí nhật ký cuối cùng? / chỉnh sửa: nó bắt đầu từ vị trí cuối cùng.
Qwerty

6

Ngay cả khi bạn quên chỉ định một logfile, vẫn có thể có hy vọng:

Chế độ tạo

Vì vậy, bạn đã không đọc hướng dẫn và bắt đầu ddresTHER mà không cần logfile. Bây giờ, hai ngày sau, máy tính của bạn gặp sự cố và bạn không thể biết được bao nhiêu dữ liệu được quản lý để lưu. Và thậm chí tệ hơn, bạn không thể tiếp tục giải cứu; bạn phải khởi động lại nó ngay từ đầu.

Hoặc có thể bạn đã bắt đầu sao chép một ổ đĩa dd conv=noerror,syncvà hiện đang trong tình trạng tương tự được mô tả ở trên. Trong trường hợp này, lưu ý rằng bạn không thể sử dụng bản sao được tạo bởi dd trừ khi nó được gọi với syncđối số chuyển đổi.

Đừng tuyệt vọng (chưa). Trong một số trường hợp, DdresTHER có thể tạo ra một tệp dữ liệu gần đúng, từ tệp đầu vào và bản sao (một phần), gần như là một tệp dữ liệu chính xác. Nó thực hiện điều này bằng cách đơn giản giả định rằng các thành phần chứa tất cả các số 0 không được giải cứu.

Tuy nhiên, nếu đích của bản sao là một ổ đĩa hoặc một phân vùng, (hoặc một tệp thông thường và cắt ngắn hiện tại không được yêu cầu), hầu hết có lẽ bạn sẽ cần phải khởi động lại ddresTHER ngay từ đầu. (Lần này với một logfile, tất nhiên). Lý do là dữ liệu cũ có thể có trong ổ đĩa chưa được ghi đè và do đó có thể không được thử nhưng khác không.

Ví dụ: nếu lần đầu tiên bạn thử một trong các lệnh sau:

ddrescue infile outfile

hoặc là

dd if=infile of=outfile conv=noerror,sync

bạn có thể tạo một logfile gần đúng bằng lệnh này:

ddrescue --generate-mode infile outfile logfile

Là đĩa mềm đang được giải cứu và làm mất dữ liệu cứu hộ?
Pháo đài

3

Như những người khác đã nói, bạn phải luôn chỉ định một logfile là tham số thứ ba, điều này sẽ cho phép tiếp tục. Vì bạn đã không làm điều đó, điều đó sẽ không giúp bạn ở đây. Nếu bạn biết khoảng thời gian mà quá trình đạt được, bạn có thể sử dụng các tham số --input-position--output-positionđể bắt đầu từ điểm đó (đảm bảo đặt cả hai tham số đó thành cùng một giá trị, nếu không đầu ra sẽ bị hỏng).


2

Vì bạn không chỉ định tệp nhật ký làm tham số thứ ba, nên việc tiếp tục lại có thể được thực hiện tự động. Bạn có thể tạo một logfile bằng tay nếu bạn biết các khu vực đã được giải cứu, cú pháp rất dễ dàng. Chỉ cần bắt đầu một cuộc giải cứu giả cho một tập tin khác trong khi chỉ định một bản ghi và để nó đọc các khu vực khác nhau. Sau đó chỉnh sửa nhật ký để thể hiện các khu vực đã được giải cứu trong tệp đầu tiên của bạn. Bây giờ chạy lại lệnh trước đó của bạn nhưng đặt tên của tệp nhật ký làm tham số thứ ba. ddresTHER sau đó sẽ tiếp tục trên khu vực chưa được thử nghiệm đầu tiên.


2

Mỗi https://wiki.archlinux.org/index.php/Disk_clelling có vẻ như với công conv=noerror,synctắc, ddtrên thực tế, có thêm số không ở cuối một khối, không chính xác là nơi xảy ra lỗi đọc. Điều này trái với thông tin trong câu trả lời của Miles Wolbe từ 2013-08-29.

Chẳng hạn, nếu một chuỗi đúng là 198123283và có lỗi đọc ở giữa thì nó sẽ ghi 198283000, không 198000283.

Vì vậy, trong trường hợp có lỗi đọc thực sự, phương pháp được đề xuất sẽ không chính xác - sẽ có những khu vực có thể đọc được và cuối cùng chứa đầy số không, nhưng sẽ được coi là "giải cứu".

Nhân tiện, đây là một cách tốt để bắt đầu một nỗ lực phục hồi như vậy bằng cách lấp đầy ổ đĩa đích bằng số không (hoặc ít nhất là không gian trống, có thể được thực hiện với WinHex chẳng hạn).


Xin chào GabrielB, chào mừng bạn đến với Siêu người dùng. Tôi đã chỉnh sửa câu trả lời của bạn, nhưng tôi không chắc rằng nó đủ để đứng một mình - có lẽ bạn có thể chỉnh sửa thêm để bao gồm một phần nhỏ giải quyết câu hỏi ban đầu?
bertieb

Nếu tôi nhớ chính xác, tôi muốn bình luận câu trả lời của Miles Wolbe nhưng không thể là thành viên mới, vì vậy tôi phải đăng câu trả lời mới. Nếu có thể, vui lòng di chuyển bài viết ở trên nơi nó sẽ xuất hiện và xóa bài đăng này.
GabrielB
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.