NTFSUNDELETE(8) System Manager's Manual NTFSUNDELETE(8)

ntfsundelete - بازیابی یک فایل حذف‌شده از یک حجم NTFS

ntfsundelete [گزینه‌ها] دستگاه

دستور ntfsundelete دارای سه حالت عملیاتی است: scan، undelete و copy.

حالت پیش‌فرض، یعنی scan، صرفاً یک حجم NTFS را می‌خواند و به دنبال فایل‌هایی می‌گردد که حذف شده‌اند. سپس فهرستی شامل شماره اینود، نام و اندازه چاپ می‌کند.

حالت undelete فایل‌های مطابق با عبارت منظم (گزینه -m) یا مشخص‌شده با عبارات اینود را دریافت کرده و تا حد امکان داده‌های آن‌ها را بازیابی می‌کند. این حالت نتیجه را در مکان دیگری ذخیره می‌سازد؛ تا حدی برای ایمنی، اما بیشتر به این دلیل که پشتیبانی از نوشتن در NTFS هنوز کامل نشده است.

این گزینه مخصوص کاربران حرفه‌ای است. این گزینه بخشی از MFT را در یک فایل ذخیره می‌کند و احتمالاً فقط هنگام اشکال‌زدایی ntfsundelete مفید خواهد بود.

دستور ntfsundelete همواره فقط از حجم NTFS می‌خواند و هرگز حجم را تغییر نخواهد داد.

دستور ntfsundelete نمی‌تواند کار ناممکن انجام دهد.

هنگامی که فایلی حذف می‌شود، رکورد MFT آن به عنوان استفاده‌نشده علامت‌گذاری شده و بیت‌مپ مربوط به فضای استفاده‌شده دیسک به‌روزرسانی می‌شود. اگر برق بلافاصله قطع نشود، فضای خالی که فایل پیش‌تر در آن قرار داشت ممکن است بازنویسی شود. بدتر از آن، ممکن است رکورد MFT برای فایل دیگری بازاستفاده شود. در این صورت تشخیص این که فایل در کجای دیسک قرار داشته غیرممکن خواهد بود.

حتی اگر تمام خوشه‌های یک فایل بدون استفاده باشند، هیچ تضمینی وجود ندارد که توسط فایلی با طول عمر کوتاه بازنویسی نشده باشند.

در NTFS تمام نام‌های فایل‌ها به صورت یونیکد ذخیره می‌شوند. این نام‌ها برای نمایش توسط ntfsundelete به محلی‌سازی (locale) جاری تبدیل خواهند شد. این ابزار موفق به نمایش برخی نام‌های پرونده به خط تصویری چینی و سپس بازیابی صحیح آن‌ها شده است.

در شرایط نادر، یک رکورد MFT منفرد برای نگه‌داری فراداده توصیف‌کننده یک فایل به اندازه کافی بزرگ نخواهد بود (برای وقوع این حالت، فایل باید در صدها قطعه تکه‌تکه شده باشد). در این موارد ممکن است یک رکورد MFT نام فایل را نگه دارد، در حالی که رکورد دیگری اطلاعات مربوط به داده‌ها را در خود جای دهد. ntfsundelete تلاشی برای پیوند زدن چنین رکوردهایی به یکدیگر نخواهد کرد و صرفاً فایل‌های بدون نامِ دارای داده را نمایش می‌دهد.

دستور ntfsundelete نمی‌تواند فایل‌های فشرده یا رمزگذاری‌شده را بازیابی کند. هنگام پویش برای یافتن آن‌ها، درصد قابلیت بازیابی را برابر با 0% نمایش خواهد داد.

برای بازیابی یک فایل، ntfsundelete باید فراداده آن فایل را بخواند. متأسفانه این فراداده همیشه دست‌نخورده باقی نمی‌ماند. هنگامی که فایلی حذف می‌شود، فراداده ممکن است در وضعیتی ناسازگار باقی بماند؛ مثلاً اندازه فایل ممکن است صفر شود یا تاریخ‌های فایل روی زمان حذف یا اعدادی تصادفی تنظیم شوند.
برای رعایت احتیاط، ntfsundelete بزرگ‌ترین اندازه فایلی را که می‌یابد انتخاب کرده و آن را روی دیسک می‌نویسد. همچنین تلاش خواهد کرد تاریخ فایل را روی آخرین تاریخ تغییر تنظیم کند. این تاریخ ممکن است آخرین تاریخ واقعی تغییر فایل یا مقداری غیرمنتظره باشد.

در ادامه خلاصه‌ای از تمام گزینه‌هایی که ntfsundelete می‌پذیرد آمده است. تقریباً تمام گزینه‌ها دارای دو نام معادل هستند. نام کوتاه با - و نام طولانی با -- آغاز می‌شود. هر گزینه تک‌حرفی که آرگومان دریافت نمی‌کند، می‌تواند در یک دستور ادغام شود؛ برای مثال -fv معادل -f -v است. گزینه‌های دارای نام طولانی را می‌توان به هر پیشوند یکتایی از نام آن‌ها خلاصه کرد.

اگر بخشی از خوشه‌های فایل قابل بازیابی نباشند، قسمت‌های ناموجود با این بایت پر خواهند شد. مقدار پیش‌فرض صفر است.
هنگام پویش یک حجم NTFS، تطبیق نام فایل‌ها (با استفاده از گزینه --match) به بزرگی و کوچکی حروف حساس نیست. این گزینه تطبیق را به بزرگی و کوچکی حروف حساس می‌کند.
این گزینه مخصوص کاربران حرفه‌ای، بلوکی از رکوردهای FILE جدول MFT را در یک فایل می‌نویسد. فایل پیش‌فرض mft است که در دایرکتوری جاری ایجاد خواهد شد. این گزینه می‌تواند با گزینه‌های --output و --destination ترکیب شود.
این گزینه محل ذخیره فایل خروجی حاصل از گزینه‌های --undelete و --copy را مشخص می‌کند.
این گزینه برخی رفتارهای پیش‌فرض منطقی، مانند بازنویسی نکردن روی فایل موجود را لغو می‌کند. از این گزینه با احتیاط استفاده کنید.
نمایش فهرستی از گزینه‌ها همراه با شرح مختصری از هر کدام.
بازیابی فایل‌هایی با این شماره‌های اینود. RANGE می‌تواند یک شماره اینود منفرد، چندین شماره جداشده با کاما "," یا محدوده‌ای جداشده با خط تیره "-" باشد.
فیلتر کردن خروجی صرفاً با جستجوی نام‌های پرونده منطبق. الگو می‌تواند شامل کاراکترهای عام '?' (تطبیق دقیقاً یک کاراکتر) یا '*' (تطبیق صفر یا چند کاراکتر) باشد. به‌طور پیش‌فرض تطبیق نسبت به بزرگی و کوچکی حروف حساس نیست. برای حساس کردن جستجو به حروف، از گزینه --case استفاده کنید.
بازیابی بخش‌هایی از فایل، حتی اگر در حال حاضر به عنوان در حال استفاده علامت‌گذاری شده باشند.
استفاده از این گزینه برای تنظیم نام فایل خروجی که توسط --undelete یا --copy ایجاد خواهد شد.
نمایش دایرکتوری والد یک فایل حذف‌شده.
فیلتر کردن خروجی گزینه --scan، صرفاً با تطبیق فایل‌هایی که درصد مشخصی از محتوای قابل بازیابی دارند. لطفاً برای جزئیات بیشتر بخش هشدارها را مطالعه کنید.
کاهش خروجی به حداقل ممکن. طبیعتاً ترکیب این گزینه با --scan منطقی نیست.
جستجو در یک حجم NTFS و چاپ فهرستی از فایل‌های قابل بازیابی. این عمل پیش‌فرض ntfsundelete است. این فهرست می‌تواند به ترتیب با استفاده از گزینه‌های --match، --size، --percent و --time بر پایه نام فایل، اندازه، درصد قابلیت بازیابی یا زمان آخرین تغییر فیلتر شود.

خروجی پویش به صورت زیر خواهد بود:

Inode  Flags  %age     Date    Time    Size  Filename
 6038  FN..    93%  2002-07-17 13:42  26629  thesis.doc
Flag Description
F/D File/Directory
N/R (Non-)Resident data stream
C/E Compressed/Encrypted data stream
! Missing attributes

ستون درصد نشان می‌دهد که چه مقدار از فایل بالقوه قابل بازیابی است.

فیلتر کردن خروجی گزینه --scan با جستجوی محدوده‌ای خاص از اندازه‌های فایل. محدوده می‌تواند به صورت دو عدد جداشده با '-' مشخص شود. اندازه‌ها می‌توانند به ترتیب با استفاده از پسوندهای k، m، g، t برای کیلوبایت، مگابایت، گیگابایت و ترابایت خلاصه شوند.
فیلتر کردن خروجی گزینه --scan. تنها تطبیق فایل‌هایی که از این زمان به بعد تغییر یافته‌اند. زمان باید به صورت یک عدد با پسوند d، w، m، y برای روزها، هفته‌ها، ماه‌ها یا سال‌های پیش مشخص شود.
اگر ntfsundelete از اندازه فایل حذف‌شده مطمئن باشد، فایل را دقیقاً به همان اندازه بازمی‌گرداند. رفتار پیش‌فرض، گرد کردن اندازه به نزدیک‌ترین خوشه (که مضربی از ۵۱۲ بایت خواهد بود) است.
انتخاب حالت undelete. می‌توانید فایل‌های مورد نظر برای بازیابی را با استفاده از گزینه‌های --match یا --inodes مشخص کنید. این گزینه می‌تواند با --output، --destination و --byte ترکیب شود.

هنگام بازیابی، نام اصلی فایل به آن اختصاص داده خواهد شد مگر این که از گزینه --output استفاده شود.

افزایش میزان خروجی چاپی توسط ntfsundelete.
نمایش شماره نسخه، حق نشر و مجوز ntfsundelete.

جستجو برای فایل‌های حذف‌شده در /dev/hda1.

ntfsundelete /dev/hda1

جستجو برای اسناد حذف‌شده در /dev/hda1.

ntfsundelete /dev/hda1 -s -m '*.doc'

جستجو برای فایل‌های حذف‌شده بین ۵۰۰۰ تا ۶۰۰۰۰۰۰ بایت با حداقل ۹۰% داده قابل بازیابی روی /dev/hda1.

ntfsundelete /dev/hda1 -S 5k-6m -p 90

جستجو برای فایل‌های حذف‌شده تغییریافته در دو روز گذشته.

ntfsundelete /dev/hda1 -t 2d

بازیابی اینودهای ۲، ۵ و ۱۰۰ تا ۱۳۱ از دستگاه /dev/sda1.

ntfsundelete /dev/sda1 -u -i 2,5,100-131

بازیابی اینود شماره ۳۶۸۹، نام‌گذاری فایل با 'work.doc'، تنظیم آن روی اندازه بازیابی‌شده و قرار دادن آن در دایرکتوری خانگی کاربر.

ntfsundelete /dev/hda1 -u -T -i 3689 -o work.doc -d ~

ذخیره رکوردهای MFT شماره ۳۶۸۹ تا ۳۶۹۰ در فایلی به نام 'debug'.

ntfsundelete /dev/hda1 -c 3689-3690 -o debug

محدودیت‌های جزئی در ntfsundelete وجود دارد، اما در حال حاضر هیچ اشکال شناخته‌شده‌ای وجود ندارد. اگر مشکلی پیدا کردید لطفاً با ارسال ایمیلی شرح مشکل را برای تیم توسعه بفرستید:
ntfs-3g-devel@lists.sf.net

دستور ntfsundelete توسط Richard Russon و Holger Ohmacht با همکاری Anton Altaparmakov نوشته شده است. این برنامه توسط Erik Larsson و Jean-Pierre Andre به ntfs-3g پورت شد.

دستور ntfsundelete بخشی از بسته ntfs-3g است و از نشانی زیر در دسترس می‌باشد:
https://github.com/tuxera/ntfs-3g/wiki

ntfsinfo(8), ntfsprogs(8)

November 2005 ntfs-3g 2026.7.7