שחזור קבצים ממדיה דפוקה – עשה זאת בעצמך

בכל מקום זה קורה לפעמים: צורבים דיסק ואחרי כמה שנים רוצים לקרוא את התוכן שלו והנה מגלים שהוא דפוק.

גם אצלי זה קרה – פעם אחת לפני כמה שנים, עם דיסק CD שנצרב לפני 10 שנים והכיל קבצים מהאינטרנט. הפעם שניה הייתה עם תמונות וסרטוני וידאו שצילמתי וצרבתי על DVD לפני 4 שנים.

בפעם הראשונה לא התרגשתי יותר מידי, אחרי הכל זה לא משהו שבאמת חשוב, וגם אם באמת הייתי רוצה – היה ניתן שוב למצוא את הקבצים האלו באינטרנט. הפעם השניה הייתה קריטית – האם מכל התמונות שצילמתי בתקופה מסוימת בחיי, יישארו רק אלו ששלחתי לאחרים במייל? לא התייאשתי, וחיפשתי פתרונות לשחזור הקבצים.

אינני מבין גדול בשחזורים. ישנם תוכנות מעולות לשחזור קבצים שדורשות מומחיות, אבל אני לא בתחום. אלו שכן בתחום יכולים גם לשחזר מידע מדיסקים קשיחים שעברו שריפה וטביעה, אבל אני הקטן מחפש תוכנה שאינה מצריכה ידע מעמיק באלקטרו-מגנטיות, גאומטריה של דיסקים, סיביות CRC של מערכות קבצים ושאר מריעין בישין. אני מחפש תוכנה שמופעלת בקליק ועושה את העבודה, עד כמה שאפשר.

החיפוש לא ארך זמן רב מידי – העולם פשוט יותר עם לינוקס: מנהל החבילות הציע בין היתר את gddrescue ובין כל תוכנות השחזור התקנתי גם אותה. השימוש פשוט להחריד, והיום סגרתי מעגל בכך ששחזרתי את הקבצים האחרונים מהדיסק.

קצת על פעולת התוכנה:

התוכנה קוראת את הבלוקים שמכילים את הקובץ, בלוק אחר בלוק, ומעתיקה למיקום הרצוי את תוכן הבלוקים – שזהו בעצם תוכן הקובץ. הקובץ שאליו אנחנו מעתיקים (קובץ היעד) מכיל בהתחלה "שום דבר", ועם כל בלוק שנקרא בהצלחה מהמדיה הדפוקה (במקרה שלי – DVD), התוכנה מסמנת בקובץ לוג מיוחד על הצלחה בקריאה וכן מכניסה את תוכן הבלוק למיקומו הנכון בקובץ היעד, בדיוק כמו אבני לגו בבניין. בניית הקובץ מתחילה בכל הבלוקים שאין בעיה לקרוא אותם, ואח"כ התוכנה מתרכזת בכל הבלוקים שנסיון קריאה מהם הוביל קודם לשגיאת I/O.

אפשר לתת לתוכנה פרמטר מיוחד שאומר לה כמה פעמים לנסות לקרוא את הבלוקים הדפוקים לפני שהיא מתייאשת ומודיעה על סיום ללא הצלחה. ניתן לקבוע את הפרמטר כך שהתוכנה תנסה לקרוא את הקובץ על המדיה הדפוקה ללא הגבלה – עד אחרית הימים או עד שהיא מצליחה, מה שיבוא קודם.

כמו כן, אפשר להפסיק את פעולת התוכנה באמצע השחזור ולהמשיך מאותה הנקודה בפעם אחרת – זה דבר מאוד נוח כיוון ששחזור קבצים ממדיות דפוקות יכול לקחת גם ימים שלמים, וזה יתרון משמעותי אם זה לא עובד על מחשב ייעודי.
שימוש בתוכנה:

התקנה:

$ sudo apt-get install gddrescue

שימוש:

נניח שהקובץ שאותו רוצים לשחזר נמצא בדיסק אופטי (CD/DVD) שמעוגן ל-/media/disc/. כמו כן נניח ששם הקובץ הוא file.dat והוא נמצמא בספריית השורש של הדיסק. שחזור שלו לספריית הבית ייעשה לרוב ע"י הפקודה הפשוטה:

$ ddrescue –max-reties=-1 /media/disc/file.dat file.dat filedat.log

בפקודה זו העתקנו את הקובץ בדומה לפקודת dd של לינוקס לספריית הבית (או לספריה שבה נמצאים – cwd). הפרמטר max-retries=-1 אומר לתוכנית להמשיך בניסיונות ההעתקה עד-דלא-ידע (אם כבר פורים בפתח 😉 ). אפשר לתת שם מספר חיובי כלשהו והתוכנה תמשיך לנסות לקרוא את הקובץ מספר פעמים לפי הרשום ואם היא לא הצליחה היא תצא. הפרמטר השני שהכנסנו הוא שם הקובץ להעתקה/לשחזור, הפרמטר השלישי הוא שם הקובץ שאליו שומרים את תכולת הקובץ המשוחזר (קובץ היעד), והפרמטר הרביעי הוא שם קובץ הלוג בשימוש. לא חייבים להשתמש בקובץ לוג, אבל צריך אותו אם רוצים להפסיק את פעולת התוכנית באמצע ואח"כ להמשיך מאותה נקודה. בקובץ הלוג נשמרים הנתונים על העתקת הקובץ – איזה חלקים ממנו הועתקו בהצלחה, איזה חלקים של הקובץ נמצמאים על בלוקים פגומים, ועוד כל מיני נתונים טכניים שלרוב לא אמורים לעניין אותנו. למתעניינים בכל זאת – התיעוד של התוכנה מצוין והקובץ אינפורמטיבי וניתן לקרוא אותו עם עורך טקסט פשוט (אבל מומלץ קודם להכיר מספרים בבסיס הקסא-דצימלי).

סיכום:

* התוכנה משחזרת בכל פעם קובץ אחד. אם רוצים לשחזר הרבה קבצים, עדיף לעשות זאת עם סקריפט מתאים שעובר על כל הקבצים, או לחלופין לשחזר את הדיסק עצמו (קובץ המקור יהיה משהו בסגנון /dev/sr0, וקובץ היעד יהיה תמונת דיסק ISO/UDF שכוללת מערכת קבצים).

* אם יש לכם בעיות פיזיות בדיסק והמחשב בכלל לא קורא אותו, כנראה שאין מה לעשות איתו ברמת התוכנה. נסו לפנות למומחים לשחזור. שימו לב: שחזורים יכולים לעלות בין כמה מאות לכמה אלפי ש"ח.

* ההבדל בין dd ל-ddrescue, היא האפשרות לקבוע את כמות הפעמים לקריאה חוזרת של בלוקים דפוקים (כולל כניסה ללולאה אינסופית כמו שהדגמתי לעיל), וכמובן קובץ הלוג, שמאפשר לצאת מהתוכנית (ע"י הקשת Ctrl+C) ולחזור לאותה נקודה במועד מאוחר יותר. משמה של התוכנה בלבד ניתן להבין שהיא dd ייעודית לשחזור קבצים.

* התוכנה לא מיועדת לשחזור קבצים שנמחקו בטעות.

אסיים באיחול שלא תצטרכו לעולם להשתמש בתוכנת שחזור.

שלח מאמר זה באימייל שלח מאמר זה באימייל
הדפס מאמר זה הדפס מאמר זה

5 תגובות ל“שחזור קבצים ממדיה דפוקה – עשה זאת בעצמך”

  1. מאת Ddorda:

    אני אנסה את זה בהזדמנות :)

  2. מאת akiva:

    יש לי איזה דיסק קשיח ישן שבטפשותי שמתי עליו את התמונות של הטיולים שאני ואחי טיילנו לפני שהוא התגייס ואני נכנסתי לכלא (הלימודים), כמובן שלא גיביתי ויום אחד המנוע שלו נפטר וכל התמונות שלנו (כ6 ג'יגה) נמצאות בפנים ואין איך להוציא אותן.

    יום יבוא ואני אהיה עשיר (וחזק ויפה וחכם) ואז אני אשלח אותו לשחזור,
    עד אז היו שלום :-).

  3. מאת שחזור דיסק:

    יופי של פוסט. חשוב לזכור שלא תמיד ניתן לבצע זאת בהצלחה בסביבה הביתית. לעתים יש צורך במעבדה מקצועית הפועלת בסביבה מתאימה. שחזור ביתי לא נכון יכול לגרור בסופו של דבר לנזק או לעבודה מורכבת יותר בעתיד.

  4. מאת אייל:

    היי עקיבא, אני לא חושב שאתה צריך לשלם הרבה בשביל להחזיר את התמונות שלך מהשאול. חפש חברת שחזור טובה (כאן הייתה פרסומת לחברת שחזור) ותראה שזה לא עולה המון. מדובר בתהליך יחסית פשוט, אם מתחשבים בזה שהחבר'ה המקצועניים באמת משחזרים מידע מדיסק שבור, ממחשב שרוף ומחומרה שהתאדתה (יש סיכוי, לא??). עבורם זה לא עניין גדול, כי המידע עדיין שם והוא לא הולך לאיבוד. תנסה, אין לך מה להפסיד. אחרי ההצעת מחיר אתה תבין מה תוכל לעשות ומה לא… בהצלחה בחור!

  5. מאת tsabar:

    בעלי חברות שחזור, שימו לב: התגובה שלכם תפורסם ללא הלינק לאתר שלכם.
    אם אתם מחפשים שטח פרסום חינם, אל תבזבזו את זמנכם בבלוג שלי.
    תודה.

השארת תגובה