Là một người quản trị viên hệ thống, mình đã từng nhiều lần lỡ tay xoá mất các file quan trọng của dự án. Việc đó vô tình khiến cho hệ thống hay ứng dụng xảy ra lỗi. Ngoài ra, nó còn gây thiệt hại không nhỏ cho các dự án của công ty. Chính vì vậy, mình đã đọc và tìm kiếm giải pháp khôi phục lại file đã xoá. Lúc đó, mình mới thực sự hiểu được cách hệ thống lưu trữ một file trên ổ đĩa vật lý. Đồng thời cũng là lý do hôm nay mình chia sẻ với bạn về testdisk.
Khi bạn tạo một file trên hệ thống linux, đồng nghĩa với việc một ánh xạ được tạo ra. Ánh xạ đó có chứa một hard link tới vùng nhớ lưu trữ file vừa tạo trên ổ cứng. Khi bạn xoá file đó đi, ánh xạ sẽ được đánh dấu là không thể sử dụng, nhưng vùng nhớ lưu trữ file vẫn tồn tại. Nó chỉ bị mất đi nếu bạn ghi đè file lên vùng nhớ đó hoặc xoá vùng nhớ đó đi. Do vậy, quản trị viên hoàn toàn có thể khôi phục các file đã xoá. Thao tác khôi phục file đã xoá có thể được thực hiện bởi testdisk – một công cụ hỗ trợ can thiệp sâu hơn vào ổ cứng vật lý.
Cài đặt testdisk #
Trong bài viết này, mình sẽ sử dụng Ubuntu Server 20.04 nên mình sẽ cài đặt testdisk như sau:
sudo apt-get install testdisk |
Sử dụng testdisk #
Trước hết, bạn cần tạo thư mục restored để lưu trữ các file được khôi phục:
mkdir restored |
Điều hướng vào thư mục vừa tạo, bạn thao tác như bên dưới để sử dụng thư mục này làm thư mục lưu trữ các file khôi phục:
cd restored/ sudo testdisk |
Trong màn hình hiển thị như trên, bạn hãy chọn Create
Tiếp theo hãy chọn ổ đĩa đang chứa file mà bạn muốn khôi phục rồi chọn Proceed
Sau đó chọn loại partition table mà hiện tại server của bạn đang sử dụng. Ở trong hình, testdisk tự động phát hiện ra server của mình sử dụng là EFI GPT nên mình sẽ chọn luôn.
Sau đó hãy chọn Advanced
Tiếp theo, bạn hãy chọn phân vùng chứa / rồi chọn List để xem cụ thể các thư mục trong phân vùng đó
Từ đây, bạn hãy di chuyển tới thư mục có chứa file đã xoá trước đó để thực hiện khôi phục. Ở bài viết này, mình đã xoá file ở thư mục /home/tel4vn nên mình sẽ đi tới thư mục đó
Các file được tô đỏ chính là các file đã xoá và có thể khôi phục lại được. Ở đây mình sẽ khôi phục file important-file1.png và important-file3.png. Bằng cách chọn file cần khôi phục rồi bấm c để copy sau đó đi tới thư mục restored đã tạo trước đó, bấm C để khôi phục. Sau khi khôi phục chúng ta sẽ kiểm tra lại:
cd /home/tel4vn ls -l |
Bạn có thể thấy hiện tại file sau khi khôi phục đều được sở hữu bởi người dùng root và group root. Vì vậy, để người dùng thường đọc được file, bạn cần phải gán lại quyền cho các file đó:
sudo chown tel4vn:tel4vn * |
Kết luận #
Như vậy ở trên mình đã chia sẻ với bạn về cách khôi phục file đã xoá với testdisk. Hi vọng bài viết sẽ giúp ích cho bạn trong tương lai. Cuối cùng, trong quá trình cài đặt và thực hiện, nếu có vấn đề nào phát sinh thì bạn hãy bình luận bên dưới để mình hỗ trợ nhé.
Nguồn bài viết: https://www.howtogeek.com/