Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

برگرداندن پارتیشنها و فایلهای پاک شده در لینوکس

اطلاعات موضوع

Kategori Adı ترفند لینوکس
Konu Başlığı برگرداندن پارتیشنها و فایلهای پاک شده در لینوکس
نویسنده موضوع parivash
تاریخ شروع
پاسخ‌ها
بازدیدها
اولین پسند ارسالی
Son Mesaj Yazan parivash

parivash

مـدیـر ارشـد انجمـن
تاریخ ثبت‌نام
Feb 1, 2014
ارسالی‌ها
1,664
پسندها
1,287
امتیازها
113
محل سکونت
شیــــــــراز
دل نوشته
فقط یه ابــــانی میتونـــه با وجود قلـب شکستش، همه ی قلبای شکستــه رو آروم کنه...
سیم کارت
تیم ایرانی مورد علاقه
تیم باشگاهی مورد علاقه

اعتبار :

برگرداندن پارتیشنها و فایلهای پاک شده در لینوکس

بـــرای کســــانی کــه بــا لینوکس کار می*کنند و عـــادت دارنــد چند لینوکس بر یک دستگاه داشته باشند و مخصوصاً سیستم*عامل عمو بیل را هم کنارش نصب کنند، پریدن پارتیشنها و از دست دادن اطلاعات چیز تازه*ای نیست و می*توان گفت این شتریست که یکبار تا بحال دم در خانه*شان خوابیده و اگر هم هنوز نخوابیده بالاخره می*خوابد! کل این مقاله به ۳ قسمت تقسیم شده است: مقدمه، برگرداندن فایلهای پاک شده و برگرداندن پارتیشنهای پاک شده.

مقدمه

اگر بخواهم کمی مقدمه برای ایـــن ۲ برنامه مفیدی که پیدا کــــرده*ام بنویسم، باید بگویم که من تا بحال دو بار مرتکب حماقت format کردن شده*ام. البته هر دو بار هم بدلیل نصب سیستم عامل عمو بیل این فاجعه اتفاق افتاده است. بار اول که به اشتباه هارد ۱۲۰GB خـــودم را بـــه جای یک پارتیشن ۱۰GB به کل format کردم و تــازه بعدش فهمیدم چه کرده*ام. بار دوم هم اشتباهی با دستور [۱] زیر تمام MBR را [۲] پاک کردم:

#dd if=/dev/zero of=/dev/hda bs=512 count=1
پــنابراین دو حـــالت داریم: یــکی اینکه شما تمام فایلهایتان را دستی پاک کنید (مثلاً فرمت کـنـید) و بخواهید فایلها را برگردانید، دیگری اینکه partition table به کل پاک شود و یا قسمت از آن صدمه ببیند. از علایم صدمه دیدن partition table این که یکدفعه نتوانید یک پارتیشن را در سیستمتان ببینید، پارتیشنی که میدانید وجود داشته و کار می*کرده.

من فکر می*کنم برنامه اولی که معرفی می*کنم (Stellar Phoenix Linux) قابلیت اینجا کار دوم (برگرداندن پارتیشنهای پاک شده) را هم داشته باش (تقریبا مطمئنم)، اما به دلیل اینکه این برنامه را باید خریداری کرد و اینکه برنامه دومی که معرفی می*کنم خیلی راحتتر کار برگرداندن پارتیشنهای پاک شده را انجام می*دهد و نیاز هم به نصب ندارد و کاملاً هم آزاد و با پروانه GNU/GPL منتشر شده است، برگرداندن پارتیشنهای پاک شده را به عهده آن می*گذارم.

مورد اول: برگرداندن فایلهای پاک شده توسط Stellar Phoenix Linux

اشاره کــردم کــه بار اول چطور ۱۲۰GB هاردم را بجای ۱۰GB به کل format کرده بودم. می*شود گفت که تمام کتابها و برنامه*هایم و بطور کلی همه داده*هایم در پارتیشنهای لینوکسی با فرمت ext3 بود و هر چه برنامه recovery در بازار بود صرفاً به بازگرداندن پارتیشنهای fat و ntfs افتخار می*کردن و هیچ اثری از ext3 در آنها نبود. با مجاهدتهای خستگی*ناپذیر به برنامه*ای با نام Stellar Phoenix For Linux رسیدم.

این برنامه تحت ویندوز اجرا می*شد. بنابراین ناچار شدم همان ۱۲۰GB فرمت شده را مجدد پارتیشن*بندی کنم و ویندوز نصب کنم ۳ و تازه بعد برنامه را اجرا کنم. برنامه بی*نقص اجرا شد و بعد از یک scan تقریباً سریع (کمتر از ۵ دقیقه) تمام پارتیشن*های گــم شــــده لینوکسی مــن را نشان داد و این امــکــان را به مــن داد تــا بـا ولــع هر چه تمام*تر محتوای هر پارتیشن را browse کــنــم و تمام فایلــهای گم شدم را ببینم. بعد از اینکه تمام فایلهایی که م*خواستم برگردانم را انتخاب کردم و کلید start recovery را فشار دادم، برنامه پیغام داد که از اینجا به بعد باید برنامه را register کنی، قیمت برنامه هم اگر درست یادم مانده باشد در حدود ۷۹ دلار است و من آب از لوچه آویزان و سرگردان ناچار شدم به روشهای غیر متعارفی برای register کردن برنامه متوصل شوم [۴] که آخرش هم registerاش کردم و تمام اطلاعات را برگرداندم.

چـــون این برنامـــه در محیط ویندوز نصب می*شود، کار کردن با آن بسیـــار ساده است، تنها در حد چند کلیک و انتخاب partitionهای از بین رفته*ای که می*خواهید جستجو کنید. بنــابراین نیــازی به screenshot و نــحوه کار و از اینجور حرفها نمی*بینم. این برنامه را می*توانید از آدرس زیر دانلود کنید:

دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.



در همان صفحه هم لینک reviewها وجود دارد که بد نیست مطالعه کنید.

تا فراموش نکردم بگویم هیــچ برنامه*ای بــرای بـرگـردانـــدن داده*های روی یک پارتیشن ReiserFS تــا به امروز ندیدم، بنابر این اگر تنها فرقی کـــه بیــن ReiserFS و ext2/3 قائل هستید این است که اولـــی بــا R شـــروع مــی*شــود و دومـــی با e، لزومی ندارد از ReiserFS استفاده کنید. به همون ext3 بسنده کنید.

برنامه TestDisk
تـسـت دیـسک یک برنامه بسیار قوی برای بازیابی پارتیشنها و همچنین bootable کــردن دیــسکـهایی اســت که دیگر بوت نــمی*شونــد. TestDisk مـی*تواند تحـت Dos، ویندوز ۳۲ بیتی (NT4، 2000 و XP)، لینوکسهایمختلف، FreeBSD و NetBSD و SunOS و MacOS اجرا شــود. ایــن بــرنـامـه مـستقـل از محــیط اجرایی، می*تواند پارتیشنهای گمشده زیر را شناسایی کند:
BeFS (BeOS)

BSD disklabel ( FreeBSD/OpenBSD/NetBSD )

CramFS, Compressed File System

DOS/Windows FAT12, FAT16 and FAT32

HFS and HFS+, Hierarchical File System

JFS, iBM's Journaled File System

Linux Ext2 and Ext3

Linux Raid

RAiD 1: mirroring

RAiD 4: striped array with parity device

RAiD 5: striped array with distributed parity information

RAiD 6: striped array with distributed dual redundancy information

Linux Swap (versions 1 and 2)

LVM and LVM2, Linux Logical Volume Manager

Mac partition map

Netware NSS

NTFS ( Windows NT/2K/XP/2003 )

ReiserFS 3.5 and 3.6

Sun Solaris i386 disklabel

UFS and UFS2 (Sun/BSD/...)

XFS, SGi's Journaled File System​
این برنامه و مستندات کاملش را می*توانید در آدرس زیر پیدا کنید:​
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
من خودم نسخه لینوکــسی* را نصب کردم. برنامه دو نوع نسخه لینوکسی دارد، یک نوع بنام linux static کـــه باید بر روی دیسکت شده و مـــورد استفاده قرار بگیرد. این دیسکت bootable نیست، اما اگر دیسکت و یا cd بوت ندارید هم نگران نباشید، در سایت TestDisk به هنگام دانلود این نسخه، آدرس یک دیسکت live کوچک را هم در دسترس گذاشته تا بتوانید اول سیستم را بوت کرده و بعد با TestDisk کار کنید. نسخه دیگری هم که ارائه شده نسخه قابل نصب است که می*توانید بر روی سیستم نصب کنید. من چون دو هارد داشتم و یکی مشکل پیدا کرده بود، توانستم بر روی FC3ای که روی هارد دوم داشتم نصبش کنم. البته جالب است که در خود سایت اشاره شده این برنامه در توزیعهای مختلفی مثل Gentoo، Knoppix و چندین و چند توزیع دیگر بصورت پیش*فرض وجود دارد.

اگــر می*خواهیــد از linux static استفاده کنید که تکلیفتان مشخص است، باید چیزی را که دانلود می*کنید رو دیسکت کپی کنید، و اگر هم می*خواهید نصب کنید که دو نسخه دارد، هم بصورت rpm و هم کامپایلی که هر کدام را خواستید می*توانید انتخاب و نصب کنید.

بعد از اینکه برنـــامه را نصب کردید، با کاربر root دستور testdisk را اجرا کنید. البته با اینکه من برنامه را کامپایل کردم و make install را هـــم در آخــر زدم، باز هم برنامه را در PATH نصب نکرد، بنابر این اگر testdisk زدید و اجرا نشد چندان وحشت نکنید (البته فرض را بر این می*گیریم که به هنگام نصب هیچگونه خطایی دریافت نکردید!)، با یک locate ساده می*توانید پیداش کنید. در مورد کاربران Fedora Core باید بگویم که برنامه در مسیر /usr/sbin قرار خواهد گرفت.

بعد از اجرای برنامه با متن زیر روبرو می*شوید:​
تصویر به اندازه 6% (282x209) کوچک شده است. برای دیدن تصویر در اندازه واقعی (300x222) روی این نوار کلیک کنید. برای باز شدن در پنجره جدید روی تصویر کلیک کنید.​

هــمانطور که می*بینید هارد دیسکهای شما را در این صفحه نمایش می*دهد. هاردی را که می*خواید انتخاب می*کنید و گزینه proceed را انتخاب می*کنید. در صفحه دوم باید نوع partition table را انتخاب کنید. در بیشتر موارد همان گزینه اول (intel/PC Partition) درست است، اگر کسی هم mac و یا SunOS دارد که باید چه کند.

تصویر به اندازه 56% (282x173) کوچک شده است. برای دیدن تصویر در اندازه واقعی (629x385) روی این نوار کلیک کنید. برای باز شدن در پنجره جدید روی تصویر کلیک کنید.​

بـــعد از enter کـــردن بر گزیـــنه مورد نظر، به صفحه سومی هدایت می*شوید که گزینه*های مختلفی دارد. اولین گزینه Analyse است، همان گزینه را انتخاب کنید و enter را بزنید. البته دقت کنید که پایین همین صفحه نوشته که هارد شما ممکن است geometryهای مختلفی داشته باشد و برای برگرداندن صحیح پارتیشنها باید از geometry صحیح استفاده کنید. اگر دقت کنید در همین صفحه دگمه*ای به نام Geometry هست. در پاراگراف بعدی (بعد از اینکه آنالیز تمام شد) در این مورد بحث می*کنم، فعلاً جای این کلید را به خاطر داشته باشید.​
تصویر به اندازه 58% (282x177) کوچک شده است. برای دیدن تصویر در اندازه واقعی (659x413) روی این نوار کلیک کنید. برای باز شدن در پنجره جدید روی تصویر کلیک کنید.​


حالا باید کمی (کمی بیشتر از کمی) منتظر بمانید تا آنالیز برنامه تمام شود. وقتی که آنالیز تموم شد، بسیار احتمال داره که یک warning ببینید مبنی بر اینکه نرم*افزار حدس میزند geometry درست هارد شما مثلاً ۲۵۵ بـاشد. به هیچ عنوان این warning را دست کم نگیرید. حتماً مقدار درستی که حدس زده را یاد داشت کنید و escape بزنید و به منوی قبلی برگردید و وارد بخش geometry شود. تاکید می*کنم به هیچ عنوان این اخطار را دست کم نگیرید. خودش یک سری توضیحات در سایت دارد مبنی بر اینکه اصلاً مقدار head درست یعنی چی و به چه دردی میخورد. من همه آن توضیحات را نفهمیدم، ولی به زبان ساده هارد درایو ها اطلاعات را در قسمتهایی با ظرفیت یکسان (مثلا هر ۱۶ تا ۱۶ تا و یا ۲۵۵ تا ۲۵۵ تا) ذخیره می*کنند و برای برگرداندن اطلاعات اگر فقط معلوم باشد کــه این عدد ثابت چقدر است، خیلی راحت می*شود همه چیز را برگرداند. خیلی ساده هم می*توانید تاثیر این عدد را ببینید، وقتی که وارد قسمت geometry شوید و گزینه Heads را انتخاب کنید و عدد صحیح را وارد نمایید، و دوباره برگردیــد و Analyse کنید، می*بینید که در چند ثانیه همه پارتیشن*ها را پیدا کرده و دیگر آنالیز آنقدر وقت نمی*گیرد. اگر عدد غلط را انتخاب کنید، یک جدول از تمام پارتیشنها جلوی شما ظاهر می*شود که در کنار همه کاراکتر D یا همان Deleted قــرار دارد و شما مثل یک پازل باید سعی کنید بفهمید کدام پارتیشن primary، کدام extended و حالا کدام logical هست! بعد هم هر چه آن را بالا و پایین کنید، باز هم نمی*توانید تمام پارتیشنها را برگردانید! بنابراین اصلاً معطل نکنید و آن عدد Heads را پیدا کرده و درست وارد کنید.​
تصویر به اندازه 56% (282x206) کوچک شده است. برای دیدن تصویر در اندازه واقعی (630x458) روی این نوار کلیک کنید. برای باز شدن در پنجره جدید روی تصویر کلیک کنید.​

بعد از اینکه عدد صحیح را وارد کردید و به قسمت Analyse برگشتید، نرم*افزار به سرعت partition table درست را برای شما پیدا می*کند و به رنگ سبز نمایش می*دهد.​
تصویر به اندازه 52% (282x212) کوچک شده است. برای دیدن تصویر در اندازه واقعی (578x434) روی این نوار کلیک کنید. برای باز شدن در پنجره جدید روی تصویر کلیک کنید.​

اگر هر کدام از پارتیشنها سفید بود و کنارش کاراکتر D قرار داشت، واقعاً برای شما متاسفم! البته نه آنقدر، چون برای خودم قبل از اینکه بفهمم آن عدد Heads را واقعاً باید وارد کرد، همه پارتیشنها سفید بود. اگر حتی بعـــد از وارد کردن درست عدد Heads و زدن گزینه Ok (طبق دومین شکل قبلی) بــاز هم پارتیشن سفید رنگی می*بینید، راه*حلی به نظر من نمی*رسد، چــون خودم به چنین مشکلی برنخوردم. در ایــــن حالت با خود Christophe که email*اش بالای صفحه سایت هست تماس بگیرید.

یکــی از مزیتهایی که برنامه دارد این است که می*توانید روی هر پارتیشن رفــته و با زدن کلیــد p وارد پارتیشن شوید و داده*هــای عزیزتــان را ببـینید. البته برای دیدن محتویات هر نوع پارتیشنی بایـد بسته*های لازمــه را از قبل نصب داشته باشید، که معمولاً تنها مشکلی که ممکن است پیش بیایـد برای پارتیشنـ*هـای NTFS هســت کــه آن هــم چندان مهم نیست، چون اگر سبز شده باشد یعنی برش خواهید گرداند، لازم نیست حتماً داخلش معلوم باشد.

وقتی از همه چیز راضی بودید، enter را می*زنید و بعد از پایین صفحه گزینه Write را انتخاب می*کنید.​
تصویر به اندازه 54% (282x206) کوچک شده است. برای دیدن تصویر در اندازه واقعی (605x440) روی این نوار کلیک کنید. برای باز شدن در پنجره جدید روی تصویر کلیک کنید.​

در پایان امیدوارم توانسته باشم در این موقعیت سخت کمکی کنم و شما موفق شوید اطلاعاتتان را برگردانید.

توصــیه نـهایی: همیــشه بــا دستور زیــر یــک image از parition tableتان داشــته باشید، در چنین مواقعی خیلی بدرد می*خورد:​
#dd if=/dev/hda of=HDA1stTrack.bin bs=512 count=63​

البته اگر شما هم مثل من باشید حتماً به این توصیه عمل خواهید کرد!

با نویسنده این برنامه هم تماس گرفتم و از او خواستم اگر برنامه باز متن مشابهی برای برگرداندن اطلاعات پاک شده (کاری که اینجا با Stellar Phoenix Linux انجام دادیم) سراغ دارد معرفی کند، که گفت سراغ ندارد. خوشحال می*شوم اگر کسی چنین چیزی می*شناسد که با اکثر پارتیشنها کار می*کند، یک خبری هم به ما بدهید. بعضی برنامه*های قدیمی هستند که با ext2 کار می*کنن، ولی واقعاً هیچ نسخه شسته و رفته*ای که بتواند همه چیز را برگرداند تا به امروز مشاهده نشده است!

نویسنده:

بیژن هومند دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.


[۱]. عمیقاً به شما توصیه می*کنم که اگر با دستور dd آشنا نیستید یک man dd بزنید. دستور واقعاً جالبی است که بر اساس گفته صریح GNU اینکار را انجام می*دهد: convert and copy

در پارامتر اول (if) آدرس source را می*دهید و در پارامتر دوم (of) آدرس target. مثلاً فرض کنید بخواهید از یک dvd فایل iso بسازید، تنها کافیست بنویسید:​
#dd if=/dev/dvdrom of=/home/bijan/myimage.iso bs=1024​
گزینه bs هم فقط اندازه chunk را مشخص می*کند. بنابراین اگر بخواید MBR هارد را پاک کنید، تنها باید بدانید که ۵۱۲ بایت اول هر هارد همون MBR است، با علم به این مطلب می*توانید /dev/zero را که اسمش همراهش است(صفر کننده) را روی MBR کپی کنید (همان کاری که من بالا انجام دادم!)

[۲]. ۵۱۲ بایت اول هر هارد دیسک که اطلاعات تمام پارتیشنها (partition table) و همچنین بوت لودر (اگر در MBR نصب کرده باشید که معمولاً می*کنید) آنجا قرار دارد.

[۳].که این کار بسیار احمقانه*است، چون وقتی اطلاعاتت میپره و میخوای برگردونی به هیچ عنوان دیگه نباید رو اون هارد چیزی نصب کنی، بخاطر اینکه ترتیب نوشتن اطلاعات رو هارد randome ه (البته فکر نمی کنم اونقدر دیگه تو این عصر جدید اطلاعات random باشه) و ممکنه حتی با کپی ۱۰MB اطلاعات چندین و چند صد مگ را از دست بدی

[۴].برای اون عده از دوستان که خیلی کاسه داغتر از آش هستن و محدودیتهای یک کاربر خونگی و همچنین شرایط زندگی در ایران و اون حالت لعنتی از دست دادن کل اطلاعات را درک نمی کنن، روش غیر متعارف را "پرداخت ۷۹ دلار" به صورت تمام و کمال و نقدی به شرکت نویسنده معنا می کنم.​
 
بالا پایین