نحوه بازیابی فایل ها از گمشده + یافت شده

How to Restore files from lost+found:  پوشه با عنوان /lost+found جایی است که fsck قطعاتی از فایل‌ها را که قادر به پیوست کردن آنها در جایی از درخت دایرکتوری نیست قرار می‌دهد. دایرکتوری lost+found (نه Lost+Found ) ساختاری است که توسط fsck در زمانی که به سیستم فایل آسیب وارد می شود استفاده می شود. فایل‌هایی که معمولاً به دلیل خرابی دایرکتوری از بین می‌روند، با شماره inode در فهرست فایل‌های سیستم فایل‌های lost+found پیوند داده می‌شوند.

نحوه بازیابی فایل ها از گمشده + یافت شده

/lost+found یک دایرکتوری مهم است که برای بازیابی فایل هایی که به دلایل زیادی مانند قطع برق به درستی بسته نشده اند مفید است. Lost+Found توسط سیستم در زمان نصب سیستم عامل لینوکس(Linux OS) برای هر پارتیشنی که ایجاد می کنیم ایجاد می شود. به عبارت دیگر، می توان گفت که پوشه نصب شده حاوی این پوشه گمشده+ یافت شده است. این پوشه حاوی فایل‌هایی است که هیچ پیوندی ندارند و فایل‌هایی برای بازیابی هستند. هر فایلی که باید بازیابی شود در این پوشه نگهداری می شود. برای بازیابی این فایل ها از دستور fsck استفاده می شود.

نحوه بازیابی فایل ها از گمشده + یافت شده

1.اگر قادر به بوت نیستید و صفحه "Continue to منتظر" را مشاهده می کنید. به دلیل خطای سیستم فایل در پارتیشن‌های / و /home ، S را برای پرش از نصب یا M را برای بازیابی دستی فشار دهید. (Press S)سپس گزینه ریکاوری را انتخاب کنید.

2. fsck را در هر دو سیستم فایل fsck on both / and /home

3. اگر در پاکسازی fsck برای /home مشکل دارید، از:

 fsck -p /home (Automatic fixing)
"fsck -y /home" (this would select yes for all the prompts automatically).

4.حالا می توانید pass /home from fsck successfully.

5. اگر mount /home را امتحان کنید ، هیچ فایل کاربری excpet lost+found directory.df -h ” را اجرا کنید و خواهید دید که سیستم فایل شما از همان فضای قبل از خرابی استفاده می کند زیرا همه فایل ها در پوشه lost+found هستند و ما قصد داریم آنها را بازیابی کنیم.

6. اکنون در پوشه lost+found، خواهید دید که تعداد زیادی پوشه بدون نام وجود دارد و بررسی دقیق هر کدام، زمان زیادی را تلف می کند. بنابراین در مرحله بعد باید “ file * ” را اجرا کنیم تا بدانیم با کدام نوع فایل سروکار داریم.

#7479417: directory
#7479418: directory
#7479419: directory
#7602560: directory
#7603310: MPEG sequence, v2, program multiplex
#7603464: JPEG image data, JFIF standard 1.02
#7603542: Audio file with ID3 version 2.3.0, contains: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 320 kbps, 44.1 kHz, JntStereo
#7604043: ISO 9660 CD-ROM filesystem data 'Linux Mint 9 Isadora ' (bootable)
#7604089: ISO 9660 CD-ROM filesystem data 'netbook-x86_64-201005242312 ' (bootable)
#7605425: MPEG sequence, v2, program multiplex
#7605470: MPEG sequence, v2, program multiplex
#7605484: MPEG sequence, v2, program multiplex
#7607478: gzip compressed data, from Unix, last modified: Fri May 14 07:55:35 2017
#7607788: gzip compressed data, from Unix, last modified: Tue May 4 14:16:31 2017
#7610801: PDF document, version 1.4
#7612061: ISO 9660 CD-ROM filesystem data 'Ubuntu 10.04 LTS amd64 ' (bootable)
#7613228: directory
#7613583: directory
#7613588: directory

7. حالا بیایید نتیجه را فیلتر کنیم زیرا فقط می خواهیم فهرست در نتیجه ما گنجانده شود. بنابراین file * | grep directory > /root/list.dir .

8.بعد، /root/list.dir را ویرایش کنید تا آن را به اسکریپتی تبدیل کنید تا لیست فایل‌ها را در هر دایرکتوری نشان دهد. فایل را ویرایش کنید تا با استفاده از vi، vim، nano به یک اسکریپت تبدیل شود. مجموعه -v را به خط اول اضافه کنید و " ls (Add)-l(ls -l) " را به ابتدای هر خط دیگر اضافه کنید.

set -v
ls -l \#10104455
ls -l \#10104531
ls -l \#10104536

9.حالا فایل را اجرایی کنید( file executable) سپس آن را اجرا کنید و خروجی را به یک فایل هدایت کنید:

chmod -x /tmp/list.dir
./list.dir 1> /tmp/list.out 2>&1

10.حالا فایلی به عنوان مثال Desktop را در فایل خروجی dir.out جستجو کنید(Desktop in the dir.out output file) . نتیجه چیزی شبیه به این خواهد بود:

ls -l \#7733249
total 5704
drwxr-xr-x 2 1002 1002 4096 2017-06-05 13:24 Desktop
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Documents
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Downloads
-rw-r--r-- 1 1002 1002 179 2017-04-30 09:14 examples.desktop
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Music
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Pictures
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Public
-rw-r--r-- 1 1002 1002 5794003 2017-05-15 11:00 scrap001_a.ora
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Templates
-rw-r--r-- 1 1002 1002 1265 2017-05-20 14:35 tinda chuteny
drwxrwxr-x 2 1002 1002 4096 2017-05-23 14:57 Ubuntu One
drwxr-xr-x 2 1002 1002 4096 2017-04-30 09:15 Videos

11. خروجی بالا مشخص می کند که دایرکتوری خانه #7733249 است. اکنون برای بازیابی پوشه اصلی، فقط پوشه را Mv کنید:

mv /lost+found/#7733249 /home/yourUsername

توجه: نام کاربری خود را با نام کاربری واقعی نصب لینوکس خود جایگزین کنید.(Linux installation.)

روش 2: از اسکریپت برای بازیابی خودکار فایل ها استفاده کنید

ابتدا " sudo -i " یا " sudo su - " را اجرا کنید و سپس اسکریپت زیر را اجرا کنید که روی سیستم فایل /dev/sd اجرا می شود؟ و خروجی به /tmp/listing:

fsck -y /dev/sd??
mkdir /tmp/recover
mount /dev/sd?? /tmp/recover -o rw
cd /tmp/recover-lost+found
(
echo ‘set -v’
file * | grep directory 2>/dev/null | perl -pe ‘s/^(\#[0-9]+)\:.*$/ls -l ‘”‘”‘$1'”‘”‘/’
) | sh > /tmp/listing

این همان چیزی است که شما با موفقیت یاد گرفتید که How to Restore files from lost+found کنید، اما اگر هنوز سؤالی در مورد این مقاله دارید، در بخش نظرات از آنها بپرسید.



About the author

من یک مهندس نرم افزار با تجربه در Xbox Explorer، Microsoft Excel و Windows 8.1 Explorer هستم. در اوقات فراغت دوست دارم بازی های ویدیویی انجام دهم و تلویزیون تماشا کنم. من از دانشگاه یوتا مدرک دارم و در حال حاضر به عنوان مهندس نرم افزار برای یک شرکت بین المللی کار می کنم.



Related posts