Đánh dấu các tập tin đã xóa là không thể xóa


11

Dung lượng ổ cứng của tôi là 500 GiB. 150 GB dữ liệu đã bị xóa một cách vô tình. Tôi đã không ghi bất kỳ byte nào vào ổ đĩa sau sự cố đó, vì vậy dữ liệu của tôi được đảm bảo ở đó. Tôi đã thử các ứng dụng như Recuva, tất cả các ứng dụng cho thấy dữ liệu ở đó và cho phép tôi lưu dữ liệu ở một vị trí khác, nhưng vấn đề là tôi không muốn làm điều đó.

Tôi chỉ muốn các tệp được đánh dấu lại là không bị xóa trong MFT. Có ứng dụng nào cho mục đích này không? Tôi đã tìm kiếm rất nhiều nhưng không tìm thấy gì, có thể bỏ đánh dấu các tệp bị xóa trong MFT hoặc tôi đang thiếu thứ gì đó? Tôi có thể viết một ứng dụng cho việc này nếu tôi biết cách thực hiện thủ công.


2
Trên thực tế, trong thời đại DOS cũ, undeleteuneraseđã làm chính xác điều đó, nhưng các chương trình Windows có xu hướng sao chép các tệp. Tôi không nghĩ rằng tôi đã thấy bất kỳ tập tin nào xóa theo nghĩa đen. I didn't write any byte to the drive after that incident, so my data is guaranteed to be there.Có thể, nhưng điều đó không có nghĩa là họ có thể phục hồi được; bất kỳ tệp nào bị phân mảnh có thể sẽ chỉ cho phép bạn lấy lại đoạn đầu tiên của tệp.
Synetech

AFAIK, thông thường mục nhập cho thư mục / tệp sẽ bị xóa khỏi MFT khi bạn xóa một tệp. Nó có thể không đơn giản như bật hoặc tắt một chút.
Ganesh R.

@GaneshR. Đó là những gì tôi muốn làm, tôi muốn thêm lại mục trong MFT, điều này có khả thi không? Dữ liệu đã có sẵn trong ổ cứng, nó chỉ cần được đăng ký trong hệ thống tập tin.
Elmo

Recuva chỉ cho tôi tên tệp và thư mục chứa tệp.
Elmo

1
Bạn có thể thử yêu cầu nhà phát triển của một số công cụ khôi phục dữ liệu thêm tùy chọn này. Đây là diễn đàn phản hồi cho một vài người nổi tiếng nhất: Recuva , Photorec
Synetech

Câu trả lời:


5

Việc xóa các tệp trên ổ đĩa NTFS không đơn giản như lật một bit. Đúng là sự khác biệt giữa tệp bị xóa và không bị xóa chỉ là một bit trong MFT, nhưng người ta cũng cần khôi phục nội dung của tệp, được lưu trữ dưới dạng luồng, cũng như gắn cờ lại các thành phần bị xóa như được sử dụng trong tệp giả $ Bitmap chứa một bit cho mỗi cung, mỗi bit cho biết liệu cụm tương ứng của nó được sử dụng (phân bổ) hay miễn phí (có sẵn để phân bổ).

Sự phức tạp của công việc là tất cả các công cụ phục hồi không muốn ghi vào ổ đĩa bị hỏng. Ví dụ: đánh dấu một khu vực bằng $ Bitmap là được sử dụng có thể gây ra chuỗi chéo nếu khu vực đó đã được sử dụng bởi một tệp khác.

Bài viết này đã chứng minh vấn đề rất tốt với các kết xuất hex:
Chuỗi 'Phục hồi tệp' của Windows: Phần 5 Khôi phục thủ công tệp đã xóa từ hệ thống tệp NTFS .

Một bài viết khác thậm chí chứa mã nguồn của một chương trình có thể được sửa đổi để hủy bỏ bit "đã xóa": Phục hồi tệp trong NTFS .

Có khá nhiều trình soạn thảo đĩa NTFS có thể chỉnh sửa MFT để lật bit đó. Một số thứ mà tôi tìm thấy qua Google (nhưng may mắn là không bao giờ cần sử dụng) là: Bộ công cụ phục hồi dữ liệu NTFS
WinHex DMDE Freeware Active Disk Editor


Một giải pháp khả thi thậm chí có thể hoạt động là hoàn tác bit đã bị xóa trong MFT, sau đó sử dụng tiện ích chkdsk để cố gắng khôi phục nội dung. Tiện ích này có thể khôi phục các chuỗi của các chuỗi tệp có các cung bị đánh dấu sai là có sẵn để phân bổ lại và sẽ sửa chữa $ Bitmap.

Tuy nhiên, luôn có khả năng thủ tục này có thể phá hủy đĩa của bạn.

Đây là lý do tại sao bạn và tất cả các nhà bình luận ở trên (bao gồm cả tôi) không tìm thấy bất kỳ sản phẩm nào phục hồi tại chỗ. Khả năng làm hỏng đĩa của bạn đơn giản là quá nhiều đối với bất kỳ ai không phải là nhân viên của Microsoft làm việc trên NTFS.

Lời khuyên tốt nhất của tôi cho bạn là lấy một đĩa cứng thứ hai và khôi phục các tệp trên đó. Tôi tin rằng bạn đã phát hiện ra rằng một đĩa sao lưu là không đủ. Tôi đã có một vài trường hợp bạn bè yêu cầu tôi khôi phục bản sao lưu duy nhất của họ và tôi luôn khuyên họ (đôi khi quá muộn) để có hai đĩa sao lưu.

Ngoài ra, ít nhất một trong hai đĩa sao lưu phải được ngắt kết nối với máy tính. Tôi khuyên điều này sau khi nghe một trường hợp máy tính tự chiên và mọi thiết bị USB được kết nối, khiến chủ sở hữu không có dữ liệu và không có bản sao lưu trong một lần nhấn.


2

Như tôi đã nói hôm qua , bạn luôn có thể thử thực hiện thủ công với trình chỉnh sửa hex / đĩa nếu chỉ có một vài tệp để khôi phục, nhưng tôi chắc chắn sẽ không khuyến nghị.

Sau vài phút nghiên cứu và thử nghiệm, cuối cùng tôi đã quản lý để đánh dấu một tệp là không bị xóa trong $MFT, nhưng vấn đề là không đủ, bạn cũng phải đánh dấu các cụm mà nó sử dụng trong $BITMAP. Nhiệm vụ này tỏ ra quá khó khăn và quá nhiều công việc để tìm và làm nên cuối cùng tôi đã từ bỏ. Tôi đã cân nhắc việc chạy chkdsk /fđể xem liệu nó có phát hiện ra sự khác biệt và đánh dấu các cụm chính xác hay không, nhưng điều đó cảm thấy quá rủi ro vì phân vùng NTFS mà tôi đã thử nghiệm có một vài tệp khác mà tôi không muốn mất.

(Ngoài ra, lưu ý rằng mặc dù không giống như FAT *, NTFS lưu trữ chuỗi cụm cho một tệp trong $MFT, điều đó không đảm bảo rằng bạn sẽ có quyền truy cập vào toàn bộ chuỗi cụm tại thời điểm khôi phục, do đó, một tệp bị phân mảnh có thể không thể khôi phục được Ngay cả khi bạn không ghi bất cứ điều gì vào ổ đĩa sau khi xóa ngẫu nhiên, điều đó không có nghĩa là Windows đã không. Ví dụ, nó có thể đã được ghi vào \System Volume Information, đặc biệt là nếu dịch vụ Shadow Copy / Phiên bản trước đang chạy.)

Rõ ràng phục hồi thủ công không thực sự là một giải pháp, cũng không phải là câu trả lời cho câu hỏi của bạn, đó là lý do tại sao tôi chỉ đăng nó dưới dạng một bình luận. Đáng buồn thay, tất cả các tìm kiếm tôi đã thực hiện đều trống rỗng và câu trả lời ngắn gọn cho câu hỏi của bạn là: không, không có chương trình công khai nào có thể đánh dấu một tệp là không bị xóa trên ổ đĩa NTFS .

(Có những chương trình pháp y đắt đỏ, có thể làm những việc lạ mắt với ổ đĩa và khôi phục tệp và trình bày dữ liệu thô thông qua bộ lọc để hiển thị các cấu trúc và như vậy, nhưng ngay cả những chương trình đó sẽ không hữu ích vì chúng đặc biệt không đưa ra quan điểm sửa đổi ổ đĩa gốc.)

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.