كيفية تركيب ملفات ISO وأنواع الصور الأخرى في لينوكس
هل كنت يومًا بحاجة للتحقق من محتويات ملف صورة؟ ربما نسيت النسخة التي كنت تستخدمها من توزيعة لينكس. هنالك العديد من الأسباب التي تدفعنا لإعادة فحص صورة ما، لكن كيف يمكنك فعل ذلك من دون الحاجة إلى حرقها؟ دعونا نستكشف الأمر دون الحاجة إلى برمجيات إضافية.
كيفية تركيب ملفات الصور في لينكس
يمكننا بسرعة وسهولة تركيب، ليس فقط صور ISO، بل حتى صور أقراص تحتوي على أقسام. إليكم مثال سريع لتركيب ملف ISO:
mount -o loop disk_image.iso /path/to/mount/dir
في هذا الأمر، يتم استخدام الخيار -o لتمرير خيارات التركيب، حيث نخبر نظام التشغيل أننا نريد تركيب الصورة باستخدام جهاز حلقي (loopback device). يُعتبر الجهاز الحلقي مفهومًا رائعًا يساعد في تركيب ملفات الصورة. فهو يعمل كوسيط برمجي يتيح للنظام التعامل مع الملف كما لو كان جهاز كتلة مثل محرك CD-ROM أو القرص الصلب، مما يوفر مرونة أكبر عند التعامل مع الملف وأداء وظائف نظام الملفات التي تفترض وجود جهاز كتلة أساسي.
العمل مع صور الأقراص الصلبة
مهما ظننت أن قلة من الناس يستخدمون صور ISO، إلا أن الأمر لا يتوقف عند هذا الحد. إذا كانت لديك صورة لقرص صلب (كما هو الحال مع الأداة dd أو غيرها)، لنطلق عليها hdd.img، يمكنك تركيب أنظمة الملفات داخلها أيضًا. إذا كنت تشك في ضرورة استخدام جهاز حلقي آخر، فأنت على المسار الصحيح.
ولكن إن حاولت تنفيذ الأمر التالي:
mount -o loop hdd.img /path/to/mount/dir
فلن تنجح كثيرًا. ذلك لأن معظم الأقراص تحتوي على جداول أقسام، بينما لا تحتوي أقراص CD/DVD عادةً على جداول أقسام لأنها لا تناسب استخداماتها. عندما يبدأ mount بتركيب حجم، يتوقع مواجهة نظام ملفات، وليس جدول أقسام.
تحديد موقع نظام الملفات
لكن لا يعني ذلك أن الأمر مستحيل. لتركيب نظام الملفات، يجب علينا إخبار mount بمكانه داخل ملف الصورة من خلال معلومات تُمرر كخيارات. المعلومة التي يحتاجها mount هي إزاحة القسم، أي عدد البايتات في ملف الصورة حيث يبدأ القسم. توجد طرق مختلفة لمعرفة ذلك، لكن الأمر سهل مع fdisk.
fdisk -l hdd.img
افترض أن fdisk أخبرنا أن القطاع الأول يبدأ عند الرقم 100 (وهذا مجرد مثال، ومن غير المرجح أن يكون صحيحًا في حالتك الخاصة). الآن يجب علينا أخذ رقم القطاع وضربه في حجم القطاع الخاص بالقرص الصلب التي تم أخذ الصورة منه. عادةً ما يكون حجمه 512 بايت على الأقراص القديمة، وربما يكون 4096 (4K) في الأقراص الحديثة. يجب عليك دائمًا التحقق من هذا الرقم عند استنساخ الأقراص. لنأخذ حجم القطاع كـ 512 بايت للسهولة، سيكون لدينا إزاحة تقدر بـ 51,200. هذه الإزاحة هي عدد البايتات إلى داخل الصورة حيث يبدأ نظام الملفات.
mount -o ro,loop,offset=51200 hdd.img /path/to/mount/dir
ملاحظة: أضفت خيار ro (للقراءة فقط) في هذا المثال لبيان كيفية تركيب نظام الملفات على أنه للقراءة فقط. هذه الميزة مفيدة للغاية في التطبيقات الجنائية حيث لا يمكن إزعاج سلامة البيانات لأسباب أمنية أو قانونية.
تسهيل عملية التركيب
قد تبدو عملية الحساب معقدة، لكن بالكاد تكون هذه هي الطريقة الوحيدة. يعتمد ذلك على مدى حداثة توزيع لينكس التي تستخدمها، ولكن يجب ألا تواجه أي مشكلات في أي شيء يعود للخمس سنوات الماضية.
أداة losetup تُستخدم لإعداد الأجهزة الحلقية. قد تتساءل لماذا نحتاج إلى إعداد جهاز حلقي يدويًا بينما يقوم mount بكل ذلك نيابة عنا. تذكر كيف لم يرغب mount في تركيب الصورة كاملة بسبب جدول الأقسام المزعج؟ حسنًا، طبقًا لمعلومات جدول الأقسام، سيكون من الأسهل أن نسمح للنظام بالرجوع إليه. يمكننا ببساطة إنشاء جهاز حلقي للصورة الكاملة ثم نخبر النظام بفحص الأقسام على هذا الجهاز.
losetup -f hdd.img
ملاحظة: الخيار -f المُستخدم مع losetup هو ببساطة أمر لإنشاء جهاز حلقي باسم لم يُستخدم بعد، مثل /dev/loop1 إذا كان /dev/loop0 قيد الاستخدام بالفعل. بدلاً من ذلك، يمكنك تمرير اسم جهاز مثل /dev/loop0، إذا لم يكن ذلك الجهاز موجودًا، سينشئ losetup الجهاز، وإذا كان موجودًا، سيعيد تعيينه إلى الصورة الجديدة.
إذا نجح الأمر، سترى الجهاز الحلقي الجديد تحت /dev/. الآن يمكنك استخدام:
partprobe /dev/loop0
أو
kpartx -u /dev/loop0
إذا كان لديك partprobe أو kpartx مثبتين، على التوالي. على الرغم من أنه يجب أن يكون parted مثبتًا على معظم توزيعات لينكس الحديثة.
بعد تنفيذ هذا، سترى شيئًا مثل /dev/loop0p1 ضمن /dev/. هذا هو القسم الخاص بك، والذي يمكنك تركيبه بسهولة.
mount /dev/loop0p1 /path/to/mount/dir
كما ستلاحظ، لا حاجة لجهاز حلقي هنا، فقد تم التعامل مع ذلك مسبقًا.
استخدام الخيار المتقدم
يمكننا جعل الأمر أسهل من ذلك بفضل إضافة خيار واحد إلى losetup.
losetup -f -P hdd.img
الخيار -P الذي استخدمناه يُخبر losetup بإجبار النواة لفحص جدول الأقسام، وبالتالي يمكننا الانتقال مباشرة إلى تركيب القسم الذي نرغب فيه.
باستخدام ما سبق، يمكنك تركيب مجموعة متنوعة من صور الأقراص. لا يهم ما إذا كانت تلك الصور من وسائط بصرية، أو مفاتيح USB، أو نظام تقسيم MBR، أو GPT. يمكن لنواة لينكس التعامل مع العديد من جداول الأقسام وأنظمة الملفات، وسيكون من الصعب عليك العثور على شيء لا تدعمه.
ربما توجد أدوات تجعل هذا الأمر أسهل، لكن أين المتعة في ذلك؟ لقد استخدمت هذه التقنيات في استعادة البيانات والإدارة العامة للنظام، وكأي نوع من المعرفة، فهي قيمة للغاية عندما تحتاجها.
أسئلة شائعة
-
ما معنى تركيب صورة ISO في لينكس؟
- تركيب صورة ISO يعني تحميل محتويات الملف الرقمى إلى نظام الملفات الخاص بك لتتمكن من الوصول إليها كما لو كانت على قرص فعلي.
-
هل أستطيع تركيب ملفات صور من أنواع أخرى؟
- نعم، يمكنك تركيب ملفات صور القرص الصلب ومختلف أنواع وسائط التخزين باستخدام الأوامر المناسبة.
-
ما هي الأداة التي أحتاجها لتكوين أجهزة حلقة؟
- يمكنك استخدام الأداة
losetupلإنشاءجهزة حلقة لتسهيل تركيب ملفات الصورة.
- يمكنك استخدام الأداة
-
كيف أعرف حجم القطاع الخاص بالقرص الصلب؟
- يمكنك استخدام الأمر
fdiskلمعرفة حجم القطاع، وعادةً ما يكون 512 بايت أو 4096 بايت.
- يمكنك استخدام الأمر
- ما هي الفائدة من تركيب الأنظمة كقراءة فقط؟
- يساعد في الحفاظ على سلامة البيانات، خصوصًا في التطبيقات الجنائية أو أي حالات تتطلب الحماية من التعديلات.