Tin tức và phân tích của tất cả các thiết bị di động

Cách khôi phục các tệp đã xóa trên linux bằng testdisk

Bạn đã bao giờ xóa một tập tin và ngay lập tức hối hận chưa? Bạn cần nó trở lại, và nhanh chóng! Nhưng nếu tệp mới đến mức chưa có bản sao lưu thì sao? May mắn thay, bạn có thể làm một cái gì đó về nó.

rm: viết tắt của Hối hận?

Rất dễ sử dụng lệnh rm và nhìn chằm chằm vào cửa sổ đầu cuối với cảm giác hối hận sâu sắc. Một lỗi nhỏ với các ký tự đại diện và bạn có thể xóa nhiều thứ hơn bạn dự định.

Hệ thống tệp mặc định của Linux, ext4, sử dụng các inode để lưu trữ dữ liệu về từng tệp và một bảng inode để theo dõi các inode. Inode chứa siêu dữ liệu về tệp, chẳng hạn như tên, chủ sở hữu, quyền, v.v.

Nó cũng chứa các điểm nhập liên kết cứng trỏ đến tệp. Mỗi tệp có ít nhất một liên kết cứng. Mỗi khi bạn tạo một liên kết cứng mới, số lượng liên kết cứng sẽ tăng lên một. Mỗi khi bạn loại bỏ một liên kết cứng, số lượng liên kết cứng trong nút sẽ giảm đi một.

Khi bạn xóa một tệp mà inode đã đánh dấu là không sử dụng (và sẵn sàng để sử dụng lại), liên kết cứng cuối cùng sẽ bị xóa. Trong trường hợp này, tệp sẽ không xuất hiện trong danh sách thư mục và bạn sẽ không thể sử dụng hoặc truy cập tệp đó.

Tuy nhiên, dữ liệu tạo nên nội dung của tệp vẫn còn trên ổ cứng. Nếu bạn có thể vá inode để chứa thông tin chính xác, tệp sẽ được khôi phục. Tất nhiên, điều này sẽ chỉ hoạt động nếu dữ liệu tạo thành tệp trên ổ cứng của bạn còn nguyên vẹn và không bị ghi đè.

Ngoài ra, bạn có thể tạo một inode mới, sao chép phần còn lại của dữ liệu từ inode cũ, sau đó thay thế các bit bị thiếu.

Đây là những hành động không tầm thường. Thông thường, khi bạn xóa nhầm một tập tin, nó sẽ xảy ra vào thời điểm tồi tệ nhất có thể. Đây là bất cứ khi nào bạn cần tệp đó và bạn cần nó ngay bây giờ. Bạn không có thời gian để loay hoay với các trình chỉnh sửa sector và các công cụ khác. Ngoài ra, nếu đó là tệp bạn vừa tạo, thì có thể tệp đó chưa được sao lưu nên những tệp đó cũng không giúp được gì cho bạn.

Đây là nơi testdisk xuất hiện. Nó rất dễ sử dụng và không yêu cầu kiến ​​thức chi tiết, cấp thấp về hệ thống tệp. Hãy xem làm thế nào để sử dụng nó!

cài đặt testdisk

Để cài đặt testdisk trên Ubuntu, hãy sử dụng lệnh này:

sudo apt-get install testdisk

Trong Fedora, bạn cần gõ:

sudo dnf install testdisk

Sudo dnf cài đặt testdisk trong cửa sổ đầu cuối.

Trên Manjaro, bạn phải sử dụng pacman:

sudo pacman -Sy testdisk

Sudo pacman -Sy testdisk trong cửa sổ đầu cuối.

Sử dụng đĩa kiểm tra

Mặc dù chạy trong cửa sổ đầu cuối, nhưng testdisk có giao diện cơ bản. Sử dụng các phím mũi tên để điều hướng và Enter để chọn. Để giữ mọi thứ ngăn nắp, tốt nhất bạn nên tạo một thư mục cho các tệp được khôi phục.

Chúng tôi nhập lệnh sau để tạo một thư mục có tên “đã khôi phục” cho các tệp đã khôi phục của chúng tôi:

mkdir restored

mkdir được khôi phục trong cửa sổ đầu cuối.

Chúng tôi nhập lệnh sau để thay đổi thư mục mới và chạy testdisk từ đó:

cd restored/

cd được khôi phục/trong cửa sổ đầu cuối.

Chúng tôi cần sử dụng sudo từ testdisk để chúng tôi gõ:

sudo testdisk

Sudo testdisk trong cửa sổ đầu cuối.

Câu hỏi đầu tiên testdisk hỏi là về đăng nhập. Nó có thể tạo một tệp nhật ký mới, sử dụng tệp hiện có hoặc không ghi gì cả. Không quan trọng bạn chọn tùy chọn nào; điều này sẽ không ảnh hưởng đến cách thức hoạt động của testdisk.

Tùy chọn đăng nhập Testdisk trong cửa sổ đầu cuối.

Bạn chỉ cần nhấn Enter để chấp nhận tùy chọn được đánh dấu và tạo một tệp nhật ký mới. Nó sẽ được tạo trong thư mục mà bạn đã chạy testdisk từ đó. Sau khi bạn thực hiện lựa chọn của mình, testdisk sẽ hỏi bạn ổ cứng nào chứa hệ thống tệp mà bạn muốn làm việc trên đó.

Nó liệt kê các ổ đĩa cứng mà nó có thể tìm thấy cũng như các tệp “/dev/loop” của chương trình squashfs. Sẽ nhanh chóng có một ứng dụng cho mọi ứng dụng đã cài đặt. Chúng ở dạng chỉ đọc, vì vậy bạn không nên xóa bất kỳ thứ gì khỏi các hệ thống tệp đó.

Menu ổ cứng trên ổ đĩa thử nghiệm trong cửa sổ đầu cuối.

Chỉ có một ổ cứng vật lý trên máy thử nghiệm này, vì vậy chúng tôi đã sử dụng mũi tên xuống để đánh dấu tùy chọn “/dev/sda”. Sau đó, chúng tôi sử dụng mũi tên phải để chọn “Tiếp tục” rồi nhấn enter.

testdisk cũng cần biết loại phân vùng. Nó trình bày một menu tùy chọn cùng với loại phân vùng được tự động phát hiện ở dưới cùng.

Menu loại bảng phân vùng trong testdisk trong cửa sổ đầu cuối.

Trừ khi bạn có lý do chính đáng để không làm như vậy, hãy đánh dấu loại phân vùng được phát hiện tự động, sau đó nhấn Enter.

Trong menu chức năng xuất hiện, đánh dấu “Nâng cao” và nhấn Enter.

Menu lựa chọn phân vùng sẽ xuất hiện.

Trình đơn lựa chọn phân vùng ổ đĩa thử nghiệm trong cửa sổ đầu cuối.

Các tệp chúng tôi đang tìm kiếm nằm trên phân vùng hệ thống tệp Linux. Chúng tôi chỉ có một phân vùng Linux trên ổ cứng, nhưng bạn có thể có nhiều phân vùng hơn.

Chọn phân vùng chứa các tệp, sử dụng các phím mũi tên trái và phải để chọn “Danh sách”, sau đó nhấn Enter. Menu chọn tệp sẽ xuất hiện.

Menu chọn tệp trên ổ đĩa thử nghiệm trong cửa sổ đầu cuối.

Sử dụng mũi tên lên và xuống hoặc phím PgUp và PgDn để điều hướng qua danh sách tệp và thư mục. Nhấn mũi tên phải hoặc Enter để vào thư mục và mũi tên trái hoặc Esc để thoát khỏi thư mục.

Chúng tôi đang tìm các tập tin thuộc sở hữu của Dave. Các tệp cho tất cả tài khoản người dùng nằm trong thư mục “Trang chủ”. Vì vậy, chúng tôi đánh dấu thư mục “Trang chủ” và sau đó chúng tôi có thể nhấn mũi tên phải hoặc Enter để vào thư mục này.

Tất cả các tài khoản người dùng sau đó được hiển thị cho chúng tôi. Đánh dấu dave rồi nhấn mũi tên phải hoặc enter để vào thư mục đó.

Thư mục chính trên ổ đĩa thử nghiệm trong cửa sổ đầu cuối.

Bây giờ chúng ta có thể thấy các tệp thuộc tài khoản dave. Các mục được đánh dấu màu đỏ đã bị xóa. Chúng tôi điều hướng qua các tệp và thư mục cho đến khi xác định được các tệp mà chúng tôi muốn khôi phục.

Đã xóa các tệp trong TestDisk trong cửa sổ đầu cuối.

Để khôi phục một tệp, chỉ cần chọn tệp đó rồi nhấn c (chữ thường).

Màn hình sẽ thay đổi thành thông báo về việc chọn đích cho tệp đã khôi phục. Vì chúng tôi đã tạo một thư mục có tên “Restored” và chạy testdisk từ đó, nên mục đầu tiên trong danh sách (.) là thư mục đó. Để khôi phục tệp đã xóa này vào thư mục này, chúng tôi nhấn C (chữ hoa).

Menu đích tệp trong TestDisk trong cửa sổ đầu cuối.

Sau khi thực hiện việc này, bạn sẽ quay lại màn hình chọn tệp. Nếu bạn muốn khôi phục nhiều tệp hơn, chỉ cần lặp lại quy trình. Đánh dấu tệp đã xóa, nhấn c (chữ thường) để sao chép, sau đó nhấn C (chữ hoa) để khôi phục.

Làm việc với các tập tin được khôi phục

Khi một tệp được khôi phục, cây thư mục sẽ được khôi phục về vị trí ban đầu, điều này rất hữu ích vì nó nhắc bạn về vị trí của tệp gốc trên ổ cứng của bạn. Điều này có nghĩa là nếu bạn muốn sao chép nó, bạn biết đặt nó ở đâu.

Nếu bạn khôi phục nhiều tệp từ các vị trí hệ thống tệp khác nhau có cùng tên, thì chúng vẫn cần được lưu trữ riêng.

Bạn có thể nhập các thông tin sau để xem nội dung của thư mục “Restored”:

ls

Nếu bạn yêu cầu testdisk tạo tệp nhật ký, tệp đó sẽ nằm trong thư mục “Đã khôi phục”. Vì các tệp đã khôi phục của chúng tôi nằm trong “/home/dave”, nên chúng đã được sao chép vào thư mục “Đã khôi phục” của chúng tôi, được lồng trong các thư mục cùng tên.

Chúng ta có thể vào thư mục “dave” đã sao chép bằng cd. Đảm bảo không có dấu gạch chéo (/) ở đầu trong đường dẫn – bạn muốn thay đổi thành “nhà” cục bộ, không phải “/home” của hệ thống.

Chúng tôi nhập:

cd home/dave

Các tệp đã khôi phục nằm trong thư mục này, vì vậy chúng tôi nhập:

ls

Nó nằm trong cửa sổ đầu cuối.

Hãy xem lại các tệp được khôi phục bằng tùy chọn -l (danh sách dài):

ls -l

ls -l trong cửa sổ đầu cuối.

Vì chúng tôi đã sử dụng sudo để chạy testdisk, nên các tệp được khôi phục đã được khôi phục với “root” là chủ sở hữu. Chúng tôi có thể thay đổi chủ sở hữu trở lại “dave” với chown:

sudo chown dave.dave *

Sudo chown dave.dave * trong cửa sổ đầu cuối.

Chúng tôi nhập thông tin sau để đảm bảo rằng quyền sở hữu chính xác được khôi phục:

ls -l

ls -l trong cửa sổ đầu cuối.

testdisk: Mã cứu trợ

Bạn sẽ luôn đánh giá cao cảm giác nhẹ nhõm sau khi khôi phục được một tệp quan trọng mà chỉ một lúc trước cảm thấy bị mất không thể lấy lại được.

Đó là lý do tại sao testdisk là một công cụ hữu ích. Khi bạn đã xem qua menu và bắt đầu khôi phục các tệp của mình, bạn sẽ dễ dàng bắt nhịp với việc đánh dấu, c, c, lặp lại.