ورود/ایجاد حساب کاربری
   منوی اصلی
· خانه
· لیست کاربران
· جستجو
· آمار مشاهدات
· آرشیو مقالات


- شرح
· راهنمای نویسندگان
· درباره ما

   همکاری با نشریه
در صورتی که مایل به همکاری با نشریه هستید، می‌توانید در لیست پستی نشریه عضو شده و در جریان امور قرار گیرید. برای اطلاعات بیشتر، اینجا کلیک کنید.

   کاربران
سردبیر
هیچ مدیر کمکی حاضر
همکاران
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:0
جدیدترین:مجموع:2471
جدیدترین:جدیدترین:
ufumenarayu
اعضا:حاضر
اعضا:اعضا:0
مهمان‌ها:مهمان‌ها:8
مجموع:مجموع:8
کاربران حاضر
هیچ کاربر حاضری وجود ندارد

   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید

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

(2816 مجموع کلمات موجود در متن)
(16473 بار مطالعه شده است)  نسخه چاپی

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

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

مقدمه

اگر بخواهم کمی مقدمه برای ایـــن ۲ برنامه مفیدی که پیدا کــــرده‌ام بنویسم، باید بگویم که من تا بحال دو بار مرتکب حماقت 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 و نــحوه کار و از اینجور حرفها نمی‌بینم. این برنامه را می‌توانید از آدرس زیر دانلود کنید:


http://www.stellarinfo.com/linux-data-recovery.htm


در همان صفحه هم لینک 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

این برنامه و مستندات کاملش را می‌توانید در آدرس زیر پیدا کنید:

http://www.cgsecurity.org


من خودم نسخه لینوکــسی‌ را نصب کردم. برنامه دو نوع نسخه لینوکسی دارد، یک نوع بنام linux static کـــه باید بر روی دیسکت شده و مـــورد استفاده قرار بگیرد. این دیسکت bootable نیست، اما اگر دیسکت و یا cd بوت ندارید هم نگران نباشید، در سایت TestDisk به هنگام دانلود این نسخه، آدرس یک دیسکت live کوچک را هم در دسترس گذاشته تا بتوانید اول سیستم را بوت کرده و بعد با TestDisk کار کنید. نسخه دیگری هم که ارائه شده نسخه قابل نصب است که می‌توانید بر روی سیستم نصب کنید. من چون دو هارد داشتم و یکی مشکل پیدا کرده بود، توانستم بر روی FC3ای که روی هارد دوم داشتم نصبش کنم. البته جالب است که در خود سایت اشاره شده این برنامه در توزیعهای مختلفی مثل Gentoo، Knoppix و چندین و چند توزیع دیگر بصورت پیش‌فرض وجود دارد.

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

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

بعد از اجرای برنامه با متن زیر روبرو می‌شوید:



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



بـــعد از enter کـــردن بر گزیـــنه مورد نظر، به صفحه سومی هدایت می‌شوید که گزینه‌های مختلفی دارد. اولین گزینه Analyse است، همان گزینه را انتخاب کنید و enter را بزنید. البته دقت کنید که پایین همین صفحه نوشته که هارد شما ممکن است geometryهای مختلفی داشته باشد و برای برگرداندن صحیح پارتیشنها باید از geometry صحیح استفاده کنید. اگر دقت کنید در همین صفحه دگمه‌ای به نام Geometry هست. در پاراگراف بعدی (بعد از اینکه آنالیز تمام شد) در این مورد بحث می‌کنم، فعلاً جای این کلید را به خاطر داشته باشید.



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



بعد از اینکه عدد صحیح را وارد کردید و به قسمت Analyse برگشتید، نرم‌افزار به سرعت partition table درست را برای شما پیدا می‌کند و به رنگ سبز نمایش می‌دهد.



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

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

وقتی از همه چیز راضی بودید، enter را می‌زنید و بعد از پایین صفحه گزینه Write را انتخاب می‌کنید.



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

توصــیه نـهایی: همیــشه بــا دستور زیــر یــک image از parition tableتان داشــته باشید، در چنین مواقعی خیلی بدرد می‌خورد:

#dd if=/dev/hda of=HDA1stTrack.bin bs=512 count=63


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


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



نویسنده:

بیژن هومند hoomand@gmail.com



[۱]. عمیقاً به شما توصیه می‌کنم که اگر با دستور 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 اطلاعات چندین و چند صد مگ را از دست بدی

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


PDF Version

تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد.