شرح عمل mount لنسخة بارتشن من امر dd

mount an image file from dd command output

تعلم استخدام امر mount لتحويل ملف ناتج عن امر dd الي بارتشن تستطيع دخوله وادارة الملفات بداخله

0

في حالات كثيرة قد يحتاج مدراء السيرفر لعمل نسخة من بارتشن او اكثر وحديثنا هنا يركز علي عملية نسخ بارتشن بأمر dd

لتفاصيل اكثر عن أمر dd in linux اضغط هنا . 

يعتمد الامر dd  علي جزئين الاول هو ملف الادخال  وفي هذه الحالة يكون هارديسك كاملا او بارتشن معين من الهارديسك  –  اما الجزء الثاني فهو للاخراج ويكون عبارة الملف الذي تريد ان تحفظ به صورة كاملة من الهارد او البارتشن المراد نسخه .

مثال :

dd if=/dev/sda1 of=/backup/harddrive.img

هذا الامر سيقوم بعمل نسخة كاملة من البارتشن sda1 ويحتفظ به في المسار /backup/harddrive.img

اذا حاولت عمل mount لملف النسخة وهو harddrive.img  للوصول للملفات بالطريقة العادية فلن ينجح الامر فمثلا لو قمت بتنفيذ الامر

mount harddrive.img /mnt/temp

ستكون النتيجة :

mount: you must specify the filesystem type
لذلك ولحل هذه المشكلة نحتاج لمعرفة اول سكتورstartsector في ملف الايمدج
 ويمكننا معرفة ذلك بطريقتين الاول بالامر :
file harddrive.img
او بالامر 
fdisk -l harddrive.img
ومن خلال ناتج احد الامرين نأخذ قيمة startsector وفي مثالنا الذي نطبق عليه فقيمته
هي 63  - ولأنه وعادة يكون كل سكتور حجمه ٥١٢ بايت فإننا نحتاج لضرب ٥١٢ × ٦٣ ليكون
الناتج 32256

اذن سيصبح ناتج الامر الصحيح لعمل mount  كالتالي :
mount -o ro,loop,offset=32256 harddrive.img /mnt/loop

تستطيع الان الاطلاع علي ملفاتك من خلال المسار /mnt/loop 

ملاحظة : ان كانت النسخة تم عملها بسبب مشكلة هاردوير في الهارديسك نفسه واردت اصلاح
الfile system  فيمكنك بدلا من عمل mount للاطلاع علي الملفات ان تقوم بعمل اصلاح اولا
بالامر :
losetup --offset 32256 /dev/loop2 harddrive.img
ثم
fsck /dev/loop2
وبعدها تقوم بعمل mount مرة اخري . 

---------------------------------------------------

أحيانا يكون البارتشن المراد نسخه بأمر dd  هو احد عناصر LVM وفي هذه الحالة لن
تستطيع عمل mount  الا بإظهار الجروب الذي ينتمي له البارتشن . 
يمكننا معرفة تفاصيل البارتشن من نسخة الباكب باستخدام امر file
file harddrive.img
سيكون الناتج مشابه للتالي :
backup-cloud.img: LVM2 PV (Linux Logical Volume Manager), UUID: NiSuLv-fH2Z-eO4H-JoJ2-9yuG-fWvW-gmuJak, size: 10212081664
الان نقوم بتنفيذ الامر :
losetup /dev/loop0 harddrive.img
ثم
pvs
سيكون ناتج الامر الاخير مشابه للتالي :
  PV         VG   Fmt  Attr PSize PFree
  /dev/loop0 vg   lvm2 a--  9,51g    0

الان نقوم بتنفيذ الامر :
 vgchange -a y vg
ثم عمل mount بالطريقة المعتادة
mount -o ro /dev/vg/lv_root /mnt/old

=========================================
دمتم بود .

 

 

اترك رد

%d مدونون معجبون بهذه: