Làm cách nào để khôi phục tập tin đã xóa trên Android?


34

Tôi vừa xóa một tệp trên Nexus S mà tôi thực sự cần quay lại. (Đây thực sự là một phần của ứng dụng sử dụng cơ sở dữ liệu sqlite đã tạo bảng thả khi nâng cấp lên phiên bản mới.)

Có lẽ tôi cần root điện thoại trước (điều mà tôi nghe thấy dễ dàng trên điện thoại Nexus) nhưng tôi có bị kẹt ở đây không? Cụ thể, root điện thoại có nghĩa là xóa / ghi đè lên phân vùng nơi dữ liệu sống?

Nếu không, bạn khuyên gì cho các công cụ phục hồi dữ liệu? Có lẽ tệp chỉ bị hủy liên kết và không được ghi đè chủ động (thông thường khi "xóa" tệp) nên về mặt kỹ thuật, dữ liệu phải ở đó ...


Tôi không thể đăng câu trả lời, hệ thống đi ngược lại tôi. Tệ hơn cho họ ... Cách dễ nhất khi bạn có hệ thống Linux và thiết bị của bạn có phục hồi TWRP là. 0. Trước hết! Dừng tạo tệp mới, đóng tất cả các ứng dụng. Nếu bạn sẽ cần chạy một cái gì đó, tốt nhất hãy XÓA trước một số tệp không cần thiết càng nhiều càng tốt để giải phóng thêm dung lượng và có nhiều cơ hội hơn để giữ cho các tệp đã bị xóa của bạn còn nguyên vẹn. Tất nhiên bạn sẽ phải biết phân vùng nào bạn cần miễn phí. Rất có khả năng nó là cái được gắn kết /data(tệp cục bộ và tệp bị xóa của bạn nằm trong /data/mediahoặc một cái gì đó tương tự).
midenok

1. Trong phục hồi TWRP, sao chép phân vùng của bạn với ddthẻ micro SD bằng các mảnh 4Gb: `` `dd if = / dev / dm-0 of = / sdcard / x1 ... n bs = 1048576 Count = 4095 bỏ qua = ... `` `Vâng, bạn có một tùy chọn để gắn ổ OTG bên ngoài (mặc dù tìm một số nguồn năng lượng bên ngoài). Nhưng của tôi không hoạt động, vì vậy tôi phải đặt các mảnh cho micro-SD. Trong skiptham số bạn sẽ đặt: 0, 4095, 8190, 16380, v.v.
midenok

2. Di chuyển tất cả các phần vào hệ thống linux, nối với cat.
midenok

3. Sử dụng testdiskđể phục hồi. Đây là công cụ linh hoạt nhất cho extfs undelete. Nó cho phép hoàn tác từ thư mục cụ thể và xóa bỏ ngay cả các tệp bị hỏng và hoạt động rất nhanh (ngoài máy quét heuristic). Vì vậy, bạn sẽ chắc chắn rằng tất cả mọi thứ có thể là không bị xóa hoặc ghi đè.
midenok

Hoặc: luôn cài đặt testdisknhư một phần của gói busybox và giữ nó trên điện thoại của bạn.
midenok

Câu trả lời:


35

Cách thủ công

May mắn thay, phục hồi dữ liệu trên Android không khác với bất kỳ PC / Linux nào khác với thiết bị lưu trữ flash. Trước tiên, bạn cần root và ddnhị phân trên thiết bị của mình để tạo bản sao lưu đầy đủ của thiết bị lưu trữ khối mà tệp đã xóa của bạn được bật. ddđôi khi đã được cài đặt trong hệ thống của bạn.

Sau đó, chỉ cần 3 bước để tìm hiểu xem tập tin có thể được phục hồi hay không:

  1. Tìm hiểu về tập tin khối trên thiết bị. Thông quamount
  2. Thu nhận và hình ảnh của thiết bị khối đó với dd: dd if=/dev/<blockdevice> of=/sdcard/image bs=4096
  3. Nhận một công cụ pháp y phục hồi dữ liệu và cho phép nó tìm kiếm /sdcard/imagecác tập tin bị mất. Tất nhiên bạn có thể thử chạy nhiều công cụ trên hình ảnh. Đầu tiênScalpel là một khởi đầu tốt.

Ứng dụng "phục hồi"

Có một Ứng dụng mới có tên "Undelete Beta" có thể khôi phục các tệp trên bộ nhớ trong và thẻ SD. Ứng dụng là bản beta và có một số hạn chế.

Nếu tập tin thực sự quan trọng, tôi sẽ luôn chọn "Cách thủ công" .


Dòng chảy, cảm ơn rất nhiều; câu trả lời chính xác! Bây giờ tôi cảm thấy bớt tuyệt vọng hơn. :) Tôi hơi bị đe dọa bởi các rễ. Bạn có biết gì về việc root Nexus S không? Tôi sẽ mất bất kỳ dữ liệu hoặc ứng dụng hoặc bất cứ điều gì? Tôi có cần hủy bỏ nó để nhận các bản cập nhật hệ điều hành tự động trong tương lai không? Là đơn giản quá?
dreeves

Để root xem câu hỏi này . Tôi không có Nexus S, nhưng tôi sẽ nói: Không, không và đôi khi.
Lưu lượng

1
@Flow: a) Tôi thực sự sẽ không chạm vào phân vùng bị ảnh hưởng nữa mà chỉ mở khóa Nexus và 'fastboot boot cwm.img' để phục hồi tmp. b) Tốt nhất nên sử dụng adb khi đang di chuyển dữ liệu phân vùng ra khỏi điện thoại (không lưu trữ không liên tục trên / sdcard) bằng cách sử dụng stdout + gzip + uuencode c) khắc: sqlite3 không có chân trang, nhưng tiêu đề "định dạng SQLite 3". Sử dụng trước hết là tốt nhất để xác định kích thước tối đa và có thể 'NEXT' (chỉ ra EOF nếu tìm thấy bất kỳ tiêu đề mới nào khác). OK nếu tôi chỉnh sửa?
ce4

1
+1 cho 'dao mổ'! Không được biết đến trước đây. BTW: Photorec của Testdisk cũng khá hữu ích (đối với các loại tệp tiêu chuẩn như .jpg ans chẳng hạn)
ce4

Nếu thiết bị để sao lưu lớn hơn 4gb thì sao?
David V.

10

Kể từ Android 4.3+ và việc triển khai TRIM, hiện rất khó để khôi phục các tệp đã xóa trên bộ nhớ trong.

Một số giải pháp được đề xuất có thể sẽ không có giá trị trừ khi bạn có thể quét bộ nhớ cho (các) tệp bị xóa rất nhanh sau khi xóa.

Ngoài ra, trong trường hợp khôi phục sau khi khôi phục cài đặt gốc, kể từ Android 4.0+, khôi phục cài đặt gốc hiện kết thúc thực hiện xóa an toàn (hoặc thao tác tương tự) để tất cả dữ liệu không thể hủy bỏ.

Tài liệu tham khảo:


Tôi cho rằng đây là câu trả lời đúng trong năm 2019?
ripper234

7

Bản Beta mới phục hồi có thể hữu ích ở đây nếu bạn không muốn liên quan đến PC. Bất cứ khi nào bạn ghi vào bộ lưu trữ, bạn có nguy cơ ghi đè lên tệp đã bị xóa, nhưng không nên xóa quyền root.

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.