phục hồi tập tin trên ext4


11

Mẹ tôi đã đặt một số tập tin quan trọng trên tai nạn / tmp mỗi tai nạn. Bây giờ, tất nhiên, họ đã biến mất.

Điều này đã xảy ra ngày hôm qua (2 lần khởi động của máy kể từ đó)

Tôi muốn cố gắng phục hồi các tập tin. Chúng nằm trên / tmp, nằm trên cùng một phân vùng với phần còn lại của /, vì vậy tôi cần một công cụ chạy trên hệ thống được gắn kết (hoặc có thể tôi có thể sử dụng một livecd ...)

Ngay bây giờ, tôi đang thử testdisk trên systemrescuecd mà tôi vừa tải xuống. Tôi có thể nhận được một số tệp từ / tmp, nhưng không phải tất cả. (nó có phải là công cụ phù hợp không? Chính xác thì những tập tin "đỏ" đó là gì? chỉ một số trong số chúng có thể phục hồi được?)

Câu trả lời:


14

Bạn cũng có thể dùng extundelete

Đầu tiên unmount ( umount) hệ thống tệp nơi các tệp đã bị xóa.
Sau đó đọc chương Phải làm gì nếu bạn đã xóa một tệp .

Bạn có thể cài đặt extundeletetừ kho lưu trữ Ubuntu cổ điển:

sudo apt-get install extundelete

Hoặc tốt hơn, bạn có thể tải xuống phiên bản mới nhất và biên dịch nó:

cd ~/Download
tar -xf extundelete-*.*.*-.tar.bz2  #Replace *.*.* by the version
cd      extundelete-*.*.*
sudo apt-get install e2fslibs-dev   #Required for compilation
./configure
make
sudo make install
extundelete --version               #Should be your *.*.* version

Ví dụ về cách sử dụng: khôi phục tất cả các tệp đã xóa từ thư mục Imagesvào thư mục đã tạo mớirestore

sudo extundelete --restore-directory Images/ -o restore /dev/sda3

Tin xấu nếu bạn thấy tập tin của bạn XXXXtrong định dạng sau:

Unable to restore inode NNN (Images/XXXX): Space has been reallocated.

Xem tất cả các tệp được khôi phục (tìm tệp của bạn):

find restore -name '*'

Sao lưu (các) tệp của bạn và xóa thư mục tạm thời này restore

cp restore/Images/XXXX MY_BACKUP_DIRECTORY
sudo rm -rf restore  

3
Câu trả lời này thực sự đã cứu công việc của tôi. Cảm ơn bạn.
Hai mươi

10

Phục hồi dữ liệu, đặc biệt là trên các hệ thống tệp EXT, nên được thử từ đĩa CD trực tiếp hoặc hệ thống khác không phụ thuộc vào phân vùng mà bạn đang xóa. Việc lấy đĩa không được gắn hoặc gắn lại dưới dạng đọc chỉ giúp ích rất nhiều cho nỗ lực phục hồi.

Hầu hết thời gian tôi cố gắng tạo một hình ảnh của phân vùng hoặc đĩa bằng cách sử dụng ddhoặc một công cụ tương tự, để tôi không làm việc trên đĩa:

dd if=/dev/sd[xx] of=/media/backup_drive/recovery.img

Khi bạn đã có hình ảnh của mình, bạn có thể sử dụng một công cụ như ext3grepđể thử và tìm các tệp bạn đang tìm kiếm. Có rất nhiều công tắc khác nhau mà bạn có thể thử, nhưng đây có thể là một khởi đầu tốt:

ext3grep --restore-file 'tmp/moms-file.txt' recovery.img

Các ext3greptiện ích này cũng cung cấp nhiều cách khác nhau để tìm kiếm thông qua các hệ thống tập tin nếu bạn không biết tên của tập tin. Kiểm tra ext3grep --helpcác phương pháp tìm kiếm khác nhau.


Sẽ thật tuyệt, nếu bạn có thể thêm các bước chính xác?
saji89

@ saji89 Đã thêm một cách sử dụng mẫu - cũng được sửa để liên kết đến đúng tiện ích!
Windigo

đẹp. Bây giờ ... nó có hoạt động với ext4 không?
josinalvo

1
@josinalvo Tôi đã làm việc với âm lượng EXT4 khi tôi thử nó và nó đã hoạt động; nó không tìm thấy các tập tin mà tôi đang tìm kiếm, nhưng tôi nghĩ rằng tôi đã bỏ lỡ cơ hội.
Windigo


0

Tôi không thể khôi phục tập tin crontab của mình bằng cách sử dụng ext4magic hoặc extundelete.

Trên Debian, crontab cho root nằm ở đây:

/var/spool/cron/crontabs/root

Nhưng, bằng cách sử dụng lệnh sau, tôi ít nhất có thể khôi phục thủ công crontab của mình từ nhật ký.

 grep CRON /var/log/syslog.* -i| awk -F " CMD " {'print $2;'} |sort | uniq

Nó sẽ chỉ xuất ra các công việc định kỳ đã thực hiện (không có thời gian), nhưng ít nhất điều này còn hơn rất nhiều so với bắt đầu từ đầu.

Nếu bạn không nhớ tần suất các công việc định kỳ nhất định chạy, hãy ghi nhật ký đầy đủ, ví dụ như syslog.1 và điều này sẽ cung cấp cho bạn số lần chạy trong ngày:

grep CRON /var/log/syslog.1 -i| awk -F " CMD " {'print $2;'} |sort | uniq -c |sort -n

0

Phân tích TIẾP

Phân tích khối dữ liệu cho dữ liệu thư mục EXT.

Tài liệu chi tiết về EXT4 có thể được tìm thấy ở đây:

Tải xuống tập lệnh perl với

git clone https://github.com/halpomeranz/analyzeEXT

Không đảm bảo nhưng có thể có thể xây dựng lại các hệ thống tập tin bị xóa.


1
Công cụ này chính xác là gì? Làm thế nào để bạn sử dụng nó? Tôi đã đọc mô tả repo và thông báo trợ giúp trong kịch bản , nhưng không có nhiều chi tiết.
wjandrea

Nhìn vào kịch bản perl; sự giúp đỡ không phù hợp với kịch bản!
abu_bua

Thêm chi tiết ở đây. Tôi vấp phải nó - không bao giờ sử dụng nó! youtube.com/watch?v=6pzm6909IvY
jouell

@jouell Tôi đã xem 2:30 video và anh ấy chưa đề cập đến kịch bản. Bạn có thể chỉnh sửa câu trả lời của bạn để thêm một bản tóm tắt ngắn gọn?
wjandrea
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.