it-swarm.asia

باستخدام UDF على محرك أقراص فلاش USB

بعد الفشل في نسخ ملف أكبر من 4G إلى محرك أقراص USB المحمول 8G ، قمت بتنسيقه كـ ext3. على الرغم من أن هذا الأمر جيد بالنسبة لي حتى الآن ، إلا أنه سيتسبب في حدوث مشكلات إذا أردت استخدامه لنسخ الملفات إلى شخص لا يستخدم Linux.

أفكر في تنسيقه كـ UDF بدلاً من ذلك ، والذي آمل أن يسمح بقراءته (وربما كتابته) على الثلاثة أشهر الأكثر شيوعًا أنظمة التشغيل (Windows و MacOS و Linux) ، دون الحاجة إلى تثبيت أي برامج تشغيل إضافية . ومع ذلك ، من ما وجدته بالفعل على شبكة الإنترنت ، يبدو أن هناك العديد من المسلاسل الصغيرة المتعلقة بالمعلمات التي يتم استخدامها لإنشاء نظام الملفات ، والتي يمكن أن تقلل من التوافق (ولكن معظم الصفحات التي عثرت عليها تتعلق بالوسائط البصرية ، وليس فلاش USB محركات الأقراص).

أود أن أعلم:

  • ما الأداة المساعدة التي يجب استخدامها لإنشاء نظام الملفات؟ (حتى الآن لقد وجدت mkudffs و genisoimage ، و mkudffs يبدو أنه الخيار الأفضل.)
  • ما المعلمات التي يجب استخدامها مع الأداة المساعدة المختارة لتحقيق أقصى قدر من التوافق؟
  • ما مدى توافقها مع أكثر إصدارات أنظمة التشغيل الثلاثة شيوعًا؟
  • هل استخدام UDF هو في الواقع أفضل فكرة؟ هل هناك نظام ملفات آخر من شأنه أن يكون أفضل توافق ، مع عدم وجود قيود إشكالية مثل الحد الأقصى لحجم ملف FAT32 4G ، ودون الحاجة إلى تثبيت برامج تشغيل خاصة في كل كمبيوتر واحد يمسها؟
74
CesarB

أولاً ، قمت بالتركيز على محرك الأقراص بالكامل قبل إنشاء نظام ملفات UDF باستخدام:

dd if=/dev/zero of=/dev/sdx bs=512

هذا لتجنب أي كتل عظمى متبقية أو بيانات تعريف أخرى يمكن أن تخلط بين اكتشاف نوع نظام ملفات أنظمة التشغيل (على الأقل يجب أن تكون هناك حاجة للقطاع الأول ، لطمس جدول القسم ؛ لا يتم استخدام القطاعات القليلة الأولى بواسطة UDF ، وبقية جدول التقسيم يمكن أن تخلط بين الأشياء حقا). يمكنك أيضًا استخدام رمز التبديل count=1 في الأمر dd ، من أجل الصفر بسرعة أكبر فقط 512 بايت الأولى من محرك الأقراص (حيث يوجد MBR عادةً داخل) ، على الرغم من أن هذا لم يتم اختباره.

لإنشاء نظام الملفات ، كان الأمر الذي استخدمته هو:

mkudffs --media-type=hd --blocksize=512 /dev/sdx

سيصبح الأمر mkudffs متاحًا على توزيعات Linux المستندة إلى دبيان (مثل Ubuntu) بعد تثبيت حزمة udftools:

Sudo apt-get install udftools

الحجم الافتراضي لـ mkudffs هو 2048 ، وهذا خطأ بالنسبة لمحرك أقراص فلاش USB (والذي يستخدم قطاعات 512 بايت). نظرًا لأنه يتم استخدام حجم الكتلة للعثور على بيانات تعريف نظام الملفات ، فإن استخدام حجم كتلة خاطئ قد يجعله غير معترف به كنظام ملفات UDF (نظرًا لأن المرسِل لن يكون حيث يتوقع برنامج تشغيل نظام الملفات). لاحظ أن صفحة man mkudffs خاطئة ؛ 512 قيمة صالحة لحجم الكتلة (والرمز يقبلها بشكل صريح).

أنا أيضا استخدام محرك الأقراص بأكمله بدلا من قسم. هذا ينبغي أن يكون أكثر توافقا.

نتيجة الاختبار حتى الآن:

  • Linux مع أحدث نواة (2.6.31 ، من Ubuntu 9.10): يعمل.
  • Linux مع kernel الأقدم: يحتاج الخيار bs=512 إلى mount ، لأنه استخدم بشكل غير صحيح 2048 بدلاً من حجم قطاع الجهاز (ثابت في الالتزام 1197e4d ).
  • ويندوز فيستا: يعمل.
  • جهاز Mac جديد تمامًا: يعمل.
  • نظام التشغيل Windows XP: يمكنه القراءة بشكل جيد ، ولكنه يتيح "رفض الوصول" عند محاولة الكتابة ؛ يبدو أيضا أن تعتقد أن القرص ممتلئ.

على الرغم من أنني لم أحاول حتى الآن إنشاء ملف أكبر من 4G فيه ، لا أرى أي سبب لعدم تشغيله.

نظرًا لأنه نجح تمامًا في جميع أنظمة التشغيل الحديثة (لا يلزم سوى التثبيت يدويًا على نظام Linux ، فلن تكون هناك حاجة إليه بعد انتهاء تشغيل Ubuntu 9.10 و Fedora 12) ، وعمله للقراءة فقط في نظام التشغيل Windows XP (التي كانت مفاجأة لي ؛ كنت أتوقع ألا تتعرف على نظام الملفات على الإطلاق) ، فإن استخدام UDF بدلاً من FAT32 أو NTFS في محركات أقراص USB المحمولة الكبيرة يبدو فكرة جيدة.

55
CesarB

قام CesarB بعمل رائع للوصول إلى جوهر المشكلة. أحد الأشياء التي لا يمكن التأكيد عليها بدرجة كافية هو مدى أهمية استخدام حجم الكتلة المناسب عند تهيئة UDF.

مستوحاة من منشور CesarB (بحثي/بحثي الآخر) ، كتبت نصًا لأتمتة عملية التنسيق في UDF - باستخدام حجم القطاع المكتشف بشكل صحيح. راجع format-udf on GitHub . الميزات البارزة:

  • لتنسيق محرك كتلة (محرك أقراص ثابت أو محرك أقراص فلاش) بتنسيق القرص العالمي (UDF)
    • مراجعة UDF 2.01 المستخدمة للتوافق الأقصى
    • أول 4096 قطاعًا تم مسحها لمحو أي MBR موجود (ضروري للكشف UDF المناسب)
  • يمكن قراءة/كتابة نظام الملفات الناتج عبر العديد من عائلات نظام التشغيل (Windows و OS X و Linux)
  • يعمل على أي نظام تشغيل لديه بيئة Bash

بسبب النقطة الأخيرة ، لا يمكن استخدام هذا البرنامج النصي الذي كتبته على Windows. ومع ذلك ، سيتم تشغيل البرنامج النصي على OS X و Linux. بعد القيام بذلك ، يجب أن يكون نظام التشغيل Windows قادرًا على اكتشاف محرك UDF المنسق حديثًا بطريقة سحرية.

للإجابة مباشرة على الأسئلة المنشورة ، سيقوم format-udf بما يلي:

  • اختر الأداة المناسبة للتنسيق استنادًا إلى نظام التشغيل والبيئة
  • كشف تلقائيا وملء جميع المعلمات اللازمة للتنسيق
  • تعظيم توافق نظام التشغيل (انظر صفحة جيثب للاطلاع على مخطط التوافق)
  • احصل على الحد الأقصى لمجموعة الميزات (والحدود الدنيا) التي يبحث عنها الطالب
7
j0nam1el

يبدو أنني أتذكر أنني فعلت ذلك ، فالمشكلة التي وجدتها هي أن إصدار نظام التشغيل linux الذي قمت بتثبيته عليه للقراءة فقط ، نظرًا لأن برنامج التشغيل لم يتم إنشاؤه من أجل r/w. فعلت ذلك في ويندوز ، وأعتقد أن لجنة الهدنة العسكرية.

نعم ، من الصعب إيجاد حل جيد. لفترة من الوقت كان لديّ محرك أقراص خارجي به قسم fat32 يحتوي على برامج تشغيل للفوز و mac وقسم mac وقسم ext3 كبير. نجحت ، لكنه كان يعني تثبيت برامج التشغيل. خدعة رائعة كانت أيضًا قابلة للتمهيد على جهاز mac (fw & usb) ، وعليك ترك مساحة وتدوين بعض الملاحظات ، ثم يمكنك إضافة أقسام عبر سطر الأوامر وجدول قسم mac أيضًا.

يحتاج العالم إلى نظام ملفات مجاني وسهل الاستخدام. سيكون ZFS اختيار لطيف. :-)

3
Ronald Pottol

قام Pieter Wuille بكتابة أداة لتقسيم القرص وتهيئته لإنشاء تخطيط UDF سيكون متوافقًا مع كل من Windows (> = Vista ، للقراءة فقط لـ XP) ، MacOS X 10.5 و Linux 2.6.30+:

بدلا من ذلك:

2
dolmen

لتحقيق أقصى توافق يجب عليك استخدام mkudffs من udftools على الأقل في الإصدار 2.0. ليست هناك حاجة إلى معلمات خاصة ، يتم كشف كل شيء تلقائيًا.

هناك 3 قيود كبيرة:

  1. لا تتعرف أنظمة Microsoft Windows على القرص الثابت غير القابل للإزالة إذا لم يكن يحتوي على جدول أقسام MBR أو GPT.

  2. لا تتعرف أنظمة Apple Mac OS X على نظام ملفات UDF على القرص المقسم.

  3. ربما لا تتعرف جميع الأنظمة (باستثناء نواة Linux الحديثة) على نظام ملفات UDF إذا كان حجم كتلة UDF لا يتطابق مع حجم القطاع المنطقي للقرص.

Mkudffs أداة منذ الإصدار 2.0 التعامل مع جميع القيود 3. عند تهيئة الأقراص الثابتة غير القابلة للإزالة ، فإنه ينشئ جدول MBR "وهمية" والذي يبدأ عند القطاع 0 ويمتد القرص بالكامل. لذلك يمكن قراءة نظام ملفات UDF إما من القسم الأول (مطلوب لنظام التشغيل Microsoft Windows) أو من القرص بالكامل (مطلوب لنظام Apple Mac OS X). انظر mkudffs 2.0 صفحة رجل لمزيد من التفاصيل.

1
Pali

NTFS ، مع NTFS-3G ، يمكنك الكتابة إليه باستخدام Linux وإلقاء نظرة على http://macntfs-3g.blogspot.com/ من أجل ماك.

0
user10547