ممکن است این مشکل برای شما هم پیش آمده باشد که فایل هایی را اشتباها پاک کنید یا پس از پاک کردن آن ها پشیمان شوید.
در سیستم عامل لینوکس می توانید این فایل ها را ریکاوری کنید. 🔄 در این مطلب از انزل وب به آموزش ریکاوری فایل های حذف شده در لینوکس میپردازیم.
دانلود برنامه ریکاوری برای لینوکس
?How to Recover Deleted Files in Linux
سیستم عامل Linux هم دارای Recycle Bin است و اگر از دکمه Delete برای پاک کردن فایلی استفاده کنید، میتوانید آن را در این بخش پیدا کنید. در صورتی که از Shift + Del برای حذف فایل استفاده کرده باشید، باید از روش های دیگری برای بازگرداندن فایل استفاده کنید. در این مطلب از انزل وب روش های ریکاوری فایل در لینوکس را آموزش میدهیم. با ادامه این مطلب ما را همراهی کنید.
نحوه ریکاوری هارد لینوکس با تبدیل آن به حالت Read-only
برای ریکاوری هارد در لینوکس بهتر است پارتیشن مدنظر را به حالت Read-only در بیاورید تا اشتباها داده های حذف شده را Overwrite نکنید. ابتدا سیستم را خاموش کنید. سپس فرایند ریکاوری را با فلش بوتیبل یا سی دی اجرا کنید. پارتیشنی را که دارای فایل حذف شده است جستجو کنید. مثلا /dev/sda1
حال فایل را ریکاوری کنید. می توانید از دستور زیر استفاده کنید:
sudo umount /dev/sdb1
sudo mount -o ro /dev/sdb1 /media/read-only
اسامی پارتیشن را بر اساس سیستم خود وارد کنید.
بهتر است پارتیشن را در درایو دیگری هم کپی کنید. این گونه خیالتان جمع است که پارتیشن اصلی را در زمان ری استور کردن داده از دست نمیدهید.
از دستور زیر می توانید برای این کار استفاده کنید:
dd if=/dev/sdb1 of=/dev/sda1 bs=1M
در دستور بالا دادههای /dev/sdb1 در پارتیشن sda1 از /dev/sda کپی شده است.
ریکاوری اوبونتو و فایل باز حذف شده با دستور lsof
گاهی ممکن است فایلی را که باز است، اشتباها حذف کنید. با دستور lsof یک کپی از فایل حذف شده توسط برنامهای که ان را باز نگه میدارد، ساخته میشود. پس برنامه را نبندید. در دایرکتوری /tmp فایل تستی ایجاد کنید:
touch /tmp/test
سپس چیزی را اجرا کنید که فایل را باز نگه میدارد:
tail -f /tmp/test &
در اینجا عددی را که مشاهده میکنید ۸۵۶۱ است اما ممکن است در سیستم شما متفاوت باشد.
فرایند آن را برای تایید منبع باز فهرست کنید.
ps -ef | grep 8561 | grep -v grep
به صورت دستی فایل را حذف کنید و آن را لیست کنید. اروری دریافت خواهید کرد زیرا فایل از قبل حذف شده است.
$ rm /tmp/test
$ ls -l /tmp/test
حال که مطمئن شدید فایل حذف شده است، میتوانید از دستور lsof استفاده کنید.
$lsof | grep -i test
PID فرایندی که فایل را باز نگه داشته است، در ستون دوم قرار دارد.
حال باید descriptor فایل باز را در دایرکتوری /proc پیدا کنید.
$ls -l /proc/8561/fd/3
حال این فایل را میتوان در مکان اصلیش کپی کرد. پس از آن میتوانید نام فایل را به نام اصلی آن تغییر دهید.
$ cp /proc/8561/fd/3 /tmp/
$mv /tmp/3 /tmp/test
$ ls -l /tmp/test
نحوه ریکاوری عکس در لینوکس با Foremost Tool
برای ریکاوری فایل در لینوکس از ابزار Foremost استفاده کنید. این ابزار معمولا به صورت پیشفرض روی kali Linux نصب شده است. اگر نصب نیست میتوانید از طریق دستورات ان را نصب کنید. از این ابزار برای بازگرداندن فایل هارد، کارت حافظه و… استفاده میشود.
این ابزار از فرایند File Carving برای این کار استفاده میکند.
برای ریکاوری عکس باید از دستور زیر استفاده کنید:
sudo foremost -v -q -t png -i /dev/sda1 -o ~/test
فایلها را در همان درایوی که فایل حذف شده بود، بازیابی نکنید زیرا ممکن است چیزی بازیابی نشود.
گاهی چند فایل با هم بازیابی می شود و ممکن است نام اصلی خود را نداشته باشند.
برای نصب این ابزار در لینوکس پایه Debian یا دیگر سیستم عامل هایی که از APT package manager استفاده میکنند، می توانید از دستور زیر استفاده کنید:
sudo apt install foremost
برای نصب این ابزار با استفاده از dnf package manager از دستور زیر استفاده کنید:
sudo dnf install foremost
برای نصب آن با استفاده از Pacman package manager یا Arch Linux از دستور زیر استفاده کنید:
sudo pacman -S foremost
در Syntax هم از دستور زیر استفاده کنید:
foremost [options]
برای ریکاوری از هارد یا USB باید ان را به سیستم خود وصل کنید. برای استفاده از دستور باید مسیر هارد را بدانید. سپس دستور زیر را استفاده کنید:
fdisk -l
از این پس میتوانید مسیر دیسک را کپی کنید.
پس از کپی کردن باید فایل را از آن دستگاه ریکاوری کنید.
برای این کار از دستور foremost –h استفاده کنید. مثلا:
foremost -t jpg,pdf,mp4,exe -v -q -i /dev/sdb2 -o /root/desktop/recover
-t: نوع فایلی که میخواهید ریکاوری کنید. مثلا pdf
-q: اسکن سریع دستگاه
-i: نوع دستگاه مثلا هارد اکسترنال
-o: پوشهای که میخواهید فایل ریکاوری شده را در آن ذخیره کنید.
حال تمامی فایلها در پوشه موردنظر ذخیره میشوند.
دانلود نرم افزار ریکاوری برای لینوکس TestDisk: بخش اول
برای ریکاوری میتوانید از TestDisk استفاده کنید. در Debian/Ubuntu ابتدا package lists را آپدیت کنید و سپس با دستور زیر آن را نصب کنید:
$ sudo apt update
$ sudo apt install testdisk
اگر CentOS 8, RHEL 8, Rocky Linux 8, AlmaLinux 8 را اجرا میکنید، ابتدا باید EPEL repository را نصب کنید.
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
سپس سیستم را آپدیت کنید و برنامه را نصب کنید:
$ sudo dnf update
$ sudo dnf install testdisk
سپس ورژن برنامه را چک کنید:
$ testdisk –version
ما TestDisk 7.1 را نصب کردیم.
برای ریکاوری کردن دستور زیر را وارد کنید:
$ testdisk
حال موارد مختلف برای شما نمایش داده میشود که به صورت پیشفرض بهترین گزینه برای شما هایلایت میشود. پس روی گزینه create دکمه Enter را بزنید.
در صفحه بعدی میتوانید mounted volumes را مشاهده کنید. برای مشاهده همه موارد موجود در پارتیشن باید sudo permissions داشته باشید.
پس sudo را انتخاب کنید و Enter را بزنید. البته یکسره میتوانید با دستور زیر از ابتدا این کار را انجام دهید:
$ sudo testdisk
حال درایو موردنظر خود را انتخاب کنید. Proceed را انتخاب کنید و Enter را بزنید.
TestDisk به صورت خودکار نوع پارتیشن را پیدا میکند یا نوع دستگاه را مشخص میکند. پس ان را انتخاب کنید و روی ENTER بزنید.
حال باید گزینه Undelete را از پایین صفحه انتخاب کنید.
TestDisk درایو را برای آن اسکن میکند و سپس به صورت هایلایت قرمز این موارد را نشان میدهد.
برای ریکاوری این فایلها ابتدا باید آنها را انتخاب کنید. پس در پایین برای هر انتخاب یک full colon (:) ایجاد کنید. سپس هر فایل به رنگ سبز هایلایت میشود.
حال SHIFT + C را فشار دهید. باید مکانی را برای ذخیره فایل انتخاب کنید. پس از انتخاب، Enter را بزنید.
دانلود نرم افزار ریکاوری برای لینوکس TestDisk: بخش دوم
تاریخ های اصلاح دایرکتوری مورد نظر نمایش داده خواهد شد. می توانید هر گزینه ای را انتخاب کنید و یک بار دیگر ENTER را فشار دهید.
سپس اعلانی مبنی بر کپی شدن فایلها دریافت خواهید کرد.
برای تأیید اینکه فایل ها کپی شده اند، به دایرکتوری مقصد بروید و فایل ها را تأیید کنید.
فایلهای ریکاوری شده با مجوز روت و Ownership ذخیره میشوند. میتوانید مجوزها را دستور chown تغییر دهید.
$ sudo chown linuxtechi ‘Cover letter.txt’ ‘How-to-get-CLIENTS-to-say-YES.pdf’
برای خارج شدن از TestDisk دکمه q را پشت سر هم فشار دهید.
برای یادگیری بکاپ گرفتن از لینوکس، مطلب آموزش بکاپ گرفتن از سیستم عامل لینوکس را مطالعه کنید.
ریکاوری فایل در لینوکس با PhotoRec
برای ریکاوری فایل ها در لینوکس ابتدا باید با دستور زیر PhotoRec را نصب کنید:
sudo photorec
اگر قبلا TestDisk را نصب کردهاید، دیگر نیازی نیست PhotoRec را نصب کنید.
فضای این ابزار شبیه به TestDisk است. مراحل آن هم شبیه به همان ابزار است. پس باید دیسک مدیا را انتخاب کنید. سپس نوع درست را انتخاب کنید و Proceed را بزنید.
حال به پارتیشن منبع نیاز دارید. آن را انتخاب کنید و File Opt را از پایین صفحه انتخاب کنید.
حال باید نوع فایل پاک شده را مشخص کنید. به صورت پیشفرض همه انواع فایل انتخاب شدهاند. با S میتوانید هر کدام را که نمیخواهید حذف و هر کدام را می خواهید با x مشخص کنید. ما در اینجا jpg را انتخاب کردیم.
حال با q به عقب برگردید و search را انتخاب کنید تا بتوانید ریکاوری را شروع کنید.
سپس نوع فایل سیستمی را انتخاب کنید. اگر ext3/ext4 پارتیشن نیست گزینه Other را انتخاب کنید.
حال باید انتخاب کنید که میخواهید فایل های انتخاب شده در کل پارتیشن جستجو شوند یا تنها در فضای خالی سرچ انجام شود. ما Free Space را انتخاب کردیم.
حال باید مقصد را انتخاب کنید. فایل را در پارتیشن یکسان در حال اسکن شدن ذخیره نکنید. با کلیدهای جهت محل موردنظر را انتخاب کنید. سپس C را برای ذخیره شدن فشار دهید.
اسکن انجام خواهد شد. فایل های بازیابی شده هم در محل انتخاب شده ذخیره خواهند شد.
ریکاوری فایل های حذف شده در لینوکس با extundelete
این برنامه میتواند فایل های سیستمی ext3/ext4 را ریکاوری کند. با استفاده از یکی از دستورات زیر می توانید آن را نصب کنید:
# Ubuntu and Debian
sudo apt install extundelete
# RHEL and CentOS
sudo yum install extundelete
# Arch Linux
sudo yay -S extundelete
وقتی نصب انجام شد، می توانید فرایند ریکاوری فالی را اجرا کنید. دستور زیر را می توانید برای یافتن فایلی خاص اجرا کنید. مسیر فایل را باید با توجه به پارتیشن خود وارد کنید:
sudo extundelete –restore-file picture.jpg /dev/sdb1
برای ریکاوری تمامی فایلهای پارتیشن /dev/sdb1 از دستور زیر استفاده کنید. می توانید نام پارتیشن را با توجه به سیستم خود تغییر دهید:
sudo extundelete –restore-all /dev/sdb1
اگر میخواهید فایل ها را در دایرکتوری خاصی ذخیره کنید، از –o استفاده کنید:
sudo extundelete -o ~/recovery –restore-all /dev/sdb1
این برنامه به صورت پیشفرض فایلها را در RECOVERED_FILES/ sub-directory ذخیره میکند.
دانلود R linux و ریکاوری فایل با آن
برنامه R linux رایگان است اما از نوع open-source نیست. با آن میتوانید فایل های سیستمی ext2/ext3/ext4 را اسکن کنید.
وقتی دانلود تمام شد با package manager آن را نصب کنید. حال برنامه را باز کنید و رمز sudo را هر زمان از شما پرسیده شد، وارد کنید.
حال باید پارتیشن منبع را که فایل های حذف شده را دارد، انتخاب کنید و با GUI اسکن کنید. با توجه به نیاز خود یک نوع از اسکن را انتخاب کنید.
صبر کنید تا اسکن تمام شود. سپس میتوانید فهرستی از فایل های پاک شده را مشاهده کنید. هر کدام را می خواهید انتخاب کنید و از منوی بالایی بازگردانید.
ریکاوری هارد لینوکس با Ddrescue
Ddrescue برنامه ای رایگان و open-source است. برای نصب آن روی Ubuntu از دستور زیر استفاده کنید:
sudo add-apt-repository ppa:hamishmb/myppa
sudo apt update
sudo apt-get install ddrescue-gui -y
امکانات برنامه:
سرعت بالا در ریکاوری
امکان توقف دادن یا از سر گرفتن فرایند در حال انجام
امکان ریکاوری دادهها با وجود خطای دیسک و بد سکتور
هایلایت کردن بد سکتورهای درایو
گزارش دهی در حین انجام یک فرایند
ریکاوری فایل در لینوکس با برنامه SafeCopy
ابتدا برنامه SafeCopy را نصب کنید. با دستورات زیر می توانید این کار را انجام دهید:
sudo apt-get update
sudo apt-get install -y safecopy
این برنامه با زبان C برنامه نویسی شده است. در نتیجه میتواند عملیات I/O را در سطح پایین اجرا کند.
سرعت رایانه با استفاده از آن کم نخواهد شد.
۱۶ زبان را پشتیبانی میکند.
از آن برای رفع خطا در چندین فضا یذخیره سازی می توانید استفاده کنید.
بازگردان فایل های حذف شده در لینوکس با Redo Backup and Recovery
برای استفاده از Redo Backup and Recovery ابتدا آن را دانلود کنید. رابط کاربری این برنامه ساده است. استفاده از آن نیز ساده است. با آن می توانید فایل های مختلفی را ریکاوری کنید.
با آن کارهای دیگری همچون ویرایش متن و… هم میتوانید انجام دهید. به عنوان فلش بوتیبل هم میتوانید از آن استفاده کنید.
این برنامه از معدود برنامههایی است که می توانید از آن برای استفاده از Partclone به عنوان شبیه ساز پارتیشن های دیسک استفاده کنید.
ریکاوری فلش در لینوکس با Mondo
Mondo برنامه ای رایگان است که استفاده از آن بسیار ساده است. از این برنامه برای مدیریت سایر بخش های پارتیشن هم می توانید استفاده کنید. مثلا قالب بندی آن را تغییر دهید و… .
این برنامه با هر دو دستگاه RAID و Non-Raid می تواند کار کند. از آن در ویندوز هم می توانید استفاده کنید.
همچنین می توان از آن برای تأیید صحت اطلاعات بازیابی شده استفاده کرد.
نظرات و پیشنهادات شما؟
در این مطلب از انزل وب روش های بازیابی فایل حذف شده در لینوکس را آموزش دادیم. شما از کدام روش برای انجام این کار استفاده کردید؟ لطفاً نظرات و پیشنهادات خود را در بخش دیدگاه با ما در میان بگذارید.