Câu trả lời:
Tôi sẽ khuyên không nên cài đặt ngay một số tiện ích. Về cơ bản kẻ thù lớn nhất của bạn ở đây là đĩa ghi. Bạn muốn tránh chúng bằng mọi giá ngay bây giờ.
Đặt cược tốt nhất của bạn là một bản sao lưu tự động được tạo bởi trình soạn thảo của bạn - nếu nó tồn tại. Nếu không, tôi sẽ thử mẹo sau bằng grep nếu bạn nhớ một số chuỗi duy nhất trong tệp .tex của bạn:
$sudo grep -i -a -B100 -A100 'string' /dev/sda1 > file.txt
Thay thế /dev/sda1
bằng thiết bị đã bật tệp và thay thế 'string'
bằng chuỗi duy nhất trong tệp của bạn. Điều này có thể mất một thời gian. Nhưng về cơ bản, những gì nó làm là nó tìm kiếm chuỗi trên thiết bị và sau đó trả về 100 dòng trước và sau dòng đó và đặt nó vào file.txt
. Nếu bạn cần thêm dòng trả về, chỉ cần điều chỉnh -B
và -A
tùy chọn cho phù hợp. Bạn có thể nhận được một loạt rác bổ sung được trả lại, nhưng bạn sẽ có thể lấy lại văn bản của mình.
Chúc may mắn.
-B100 -A100
có thể được thay thế bằng tương đương -C100
(C cho "bối cảnh"). Và tôi chắc chắn sẽ không sử dụng -i
nếu có thể, nhưng có -F
ở vị trí của nó.
Có thể, nó sẽ là một rắc rối.
CẬP NHẬT: trước khi bạn thử phương pháp này, vui lòng xem câu trả lời của Steven .
Bạn sẽ cần gói testdisk , nhiều dung lượng đĩa và nhiều thời gian.
PhotoRec, một phần của TestDisk, có thể khôi phục các tệp từ hầu hết mọi đĩa. PhotoRec không hỗ trợ tìm .tex
tập tin.
Đầu tiên, cài đặt testdisk bằng cách chạy
yum install testdisk
lưu ý: Bạn sẽ cần nhiều dung lượng trống trên một ổ đĩa khác, nơi bạn có thể lưu các tệp đã khôi phục.
Khôi phục tất cả các tệp đã xóa trên đĩa của bạn bằng cách chạy photorec
trên không gian trống của đĩa.
sudo photorec
và làm theo hướng dẫn ... (nhớ không lưu các tệp vào cùng đĩa bạn đang khôi phục)
Sau khi quá trình hoàn tất, tất cả các tệp được phục hồi sẽ nằm trong một thư mục, nơi bạn sẽ chạy:
find -name '*.tex' > filelist
Điều này sẽ xuất ra một danh sách các tập tin có thể là tập tin bạn bị mất. Bạn sẽ phải kiểm tra tất cả chúng, vì tên tập tin sẽ bị mất.
Có các công cụ phục hồi dữ liệu khác và hiệu quả nhất là giải cứu đầu tiên , photorec , dao mổ và ma thuật . (Tôi cho rằng thủ thuật 'grep' được nói ở đây là không đủ) Ở đây bạn có thể tìm thấy một số hướng dẫn về cách sử dụng chúng:
http://www.howtogeek.com/howto/15761/recover-data-like-a-forensics-expert-USE-an-ubfox-live-cd/
Trong mọi trường hợp, tôi sẽ ngừng làm việc trên thiết bị đang được sử dụng càng sớm càng tốt để tránh mọi việc ghi đĩa và khởi động vào một hệ điều hành phục hồi chuyên dụng, như SystemResTHERCd , đó là Live-CD để bạn có thể gắn đĩa chỉ đọc vào để ngăn ngừa mất dữ liệu hơn nữa.
Những bản phân phối đó bao gồm rất nhiều công cụ khôi phục được đề cập bởi những người khác và bạn có thể cài đặt hầu hết các phần còn thiếu.
Tôi luôn có xu hướng có một đĩa CD với phiên bản SystemResTHERCd gần đây trong đầu đọc USB ngoài của tôi, chỉ trong trường hợp.
LƯU Ý: Tôi đã thêm câu trả lời này liên quan đến một số câu hỏi khác về các tệp cơ sở dữ liệu đã bị xóa (máy chủ MySQL) đã bị đóng và chỉ vào câu hỏi này. Tôi tin rằng nó cũng có thể hữu ích trong một số tình huống tương tự khác (theo như một số quy trình vẫn giữ các mô tả tệp mở).
Nếu quy trình của bạn vẫn còn runnig thì bạn có thể tìm thấy các tệp của mình /proc/<pid>fd/
và chỉ cần sao chép chúng. Gửi SIGSTOP
đầu tiên cho nhóm quá trình. Sao chép các tập tin. Xây dựng trường hợp mới ở bên cạnh và giữ cho trường hợp này dừng lại hoặc đặt kill -9
nó và đặt các tệp trở lại vị trí của chúng. InnoDB sẽ tự phục hồi khi chạy nhưng nếu có một số MyISAM hơn bạn sẽ phải làm điều này bằng tay.
Tôi đã có cùng một vấn đề hai năm trước và tôi đã thử rất nhiều chương trình, như debugfs, photorec, ext3grep và extundelete. ext3grep là chương trình tốt nhất để khôi phục tập tin. Cú pháp rất dễ:
ext3grep image.img --restore-all
hoặc là:
ext3grep /dev/sda3 --restore-all --after date -d '2015-01-01 00:00:00' '+%s' --before `date -d ‘2015-01-02 00:00:00’ ‘+%s’
Đây đoạn video là một hướng dẫn nhỏ có thể giúp bạn.
Nếu bạn không có bản sao lưu, Công cụ khôi phục đĩa của bên thứ 3 có thể khôi phục một số hoặc tất cả dữ liệu nhưng bạn phải ngừng sử dụng máy ngay bây giờ. Các tập tin rác hiện có sẵn để hệ thống của bạn ghi đè lên chúng. Một khi chúng được ghi đè, rất tốn kém để khôi phục dữ liệu. Tôi đã thành công khi sử dụng phục hồi dữ liệu uflysoft (có các ứng dụng khôi phục dữ liệu Mac OS khác) - bạn phải có "ổ đĩa khôi phục" (không phải ổ đĩa chính của bạn hoặc đưa bạn đi nhặt rác) để lưu dữ liệu đã phục hồi. Bạn khởi động từ đĩa Phục hồi dữ liệu (hệ thống)