Phục hồi ảnh đã xóa trên Linux

  Oct 17, 2017      2m
   

Hướng dẫn phục hồi ảnh trên Ubuntu 17.04.

Phục hồi ảnh đã xóa trên Linux

Các bước được thực hiện trên hệ điều hành Ubuntu.

Giữ nguyên tình trạng ổ cứng / USB / thẻ nhớ

Tuyệt đối đừng chép thêm file hay lưu thêm dữ liệu vào ổ cứng / USB / thẻ nhớ mà bạn đang muốn phục hồi hình ảnh từ nó. Cố gắng giữ nguyên hiện trạng thì cơ hội phục hồi đầy đủ hình ảnh sẽ cao hơn.

Phục hồi hình ảnh

  • Cài đặt ứng dụng Foremost.
    $ sudo apt-get install foremost
    
  • Tạo thư mục phục hồi.
    $ mkdir ~/recovery
    
  • Cắm thiết bị USB / thẻ nhớ điện thoại bạn cần phục hồi vào máy tính.

  • Kiểm tra nơi thiết bị được mount.
    $ df
    Filesystem     1K-blocks      Used Available Use% Mounted on
    udev             3991140         0   3991140   0% /dev
    tmpfs             803432     10072    793360   2% /run
    /dev/sda6      294243128 176426772 102799960  64% /
    tmpfs            4017144        12   4017132   1% /dev/shm
    tmpfs               5120         4      5116   1% /run/lock
    tmpfs            4017144         0   4017144   0% /sys/fs/cgroup
    /dev/sda1         262144     29792    232352  12% /boot/efi
    tmpfs             803428       140    803288   1% /run/user/1000
    /dev/sdb1       15416608        96  15416512   1% /media/minh/F11E-14E4     <-- thẻ nhớ điện thoại cần phục hồi
    
  • Chạy lệnh phục hồi hình ảnh. Lưu ý: thay "/dev/sdb1" bằng giá trị phù hợp khi bạn chạy lệnh df (bước trên) trên máy của bạn.
    $ sudo foremost -i /dev/sdb1 -o ~/recovery -t jpg -v
    
  • Đổi quyền sở hữu file / thư mục vừa được phục hồi
    $ sudo chown $(whoami) ~/recovery -R
    
  • Script sắp xếp tất cả các file ảnh trong cùng thư mục theo ngày được chụp ảnh đó (dựa vào thuộc tính "Date Taken")

sort_date_taken.sh

#!/bin/sh
# Goes through all jpeg files in current directory, grabs date from each
# and sorts them into subdirectories according to the date
# Creates subdirectories corresponding to the dates as necessary.
for fil in *.jpg  # Also try *.JPG
do
    datepath="$(identify -verbose $fil | grep DateTimeOri | awk '{print $2 }' | sed s%:%/%g)"
    if ! test -e "$datepath"; then
        mkdir -pv "$datepath"
    fi
    mv -v $fil $datepath
done
  • Chạy script để sắp xếp hình ảnh theo ngày sau khi đã được phục hồi.
    $ cd ~/recovery/jpg
    $ sudo sh sort_date_taken.sh