هيكل نظام ملفات ReFS و خوارزمية إسترداد البيانات
ReFS أو نظام الملفات المرنة هو نظام ملفات جديد يعتمد على كود NTFS. مثل أي نظام من هذا النوع، له مزايا وعيوب، ولكن الحقيقة الأساسية هي أن نظام ReFS يهدف إلى معالجة المشكلات الرئيسية التي يعاني منها نظام ملفات NTFS. إنه أكثر مقاومة لتلف البيانات، ويمكنه التعامل مع أعباء العمل الثقيلة بشكل أفضل وقابل للتطوير بسهولة لأنظمة الملفات الكبيرة جدًا.
- 1. المقدمة
- 2. الوظائف الرئيسية:
- 3. الخصائص
- 4. كيف يختلف عن نظام NTFS
- 5. بنية نظام الملفات
- 6. هيكل نظام ملفات ReFS
- 7. السمة الأساسية
- 8. السجلات
- 9. فروع شجرة الدليل
- 10. الدلائل الفرعية
- 11. خوارزمية البحث التي تستخدمها أداة إسترداد البيانات الشهيرة Hetman Partition Recovery
- أسئلة وأجوبة
- التعليقات
1. المقدمة
نظام الملفات الجديد، ReFS، هو نتاج تطوير إضافي لسابقه، NTFS. وهو يدعم نقاط إعادة التوزيع، وهي التقنية التي تم تضمينها سابقًا في نظام NTFS فقط. تساعد نقاط إعادة التوزيع في تنفيذ دعم الروابط الرمزية ونقاط التركيب في نظام التشغيل Windows.
الميزة | الوصف |
---|---|
الاسم | ReFS (نظام الملفات القابل للتعافي) |
المطور | Microsoft |
تم تقديمه لأول مرة | Windows Server 2012 |
المزايا الرئيسية | موثوقية عالية، تصحيح تلقائي للأخطاء |
دعم الحجم | حتى 35 PB (بيتابايت) |
دعم البيانات الوصفية | مرتفع، يدعم بيانات وصفية متعددة المستويات |
استعادة البيانات | تلقائية، بناءً على فحوصات السلامة |
الأداء | محسّن لحجم البيانات الكبير وأنظمة RAID |
التوافق | Windows Server 2012 وما بعده، Windows 8 وما بعده |
نظام الملفات | لا يدعم بعض ميزات NTFS، مثل المجلدات النشطة، تشفير EFS |
دعم SSD | محسّن للعمل مع SSD، يشمل وظيفة TRIM |
تشفير | لا يدعم BitLocker، لكنه يمكن أن يعمل مع VSS |
استنساخ | يدعم اللقطات (snapshots) |
2. الوظائف الرئيسية:
- تكامل البيانات الوصفية مع المجموع الإختباري.
- تدفقات التكامل: طريقة كتابة البيانات على القرص لحماية إضافية للمعلومات في الحالات التي يتعرض فيها جزء من القرص للتلف.
- تخصيص على نموذج معاملات الكتابة (المعروف أيضًا باسم النسخ عند الكتابة).
- حدود أعلى للحجم الخاص بالأقسام (وحدات التخزين) والملفات والدلائل.
- تجميع التخزين والمحاكاة الإفتراضية لتسهيل إنشاء وحدات التخزين وإدارة نظام الملفات.
- تجزئة البيانات التسلسلية المعروفة بإسم شريط البيانات للحصول على أداء أفضل والتكرار للتسامح مع الخطأ.
- دعم تنظيف قرص الخلفية المعروف بإسم تنقية القرصللحماية من أخطاء القرص الكامنة.
- إنقاذ البيانات حول المنطقة التالفة من القرص.
- مجمعات تخزين مشتركة عبر الأجهزة لتحمل إضافي للأعطال وموازنة التحميل.
- متوافق مع الميزات المستخدمة على نطاق واسع لنظام NTFS.
- التحقق من البيانات والتصحيح التلقائي.
- قابلية التوسع القصوى.
- لا يمكن تعطيل نظام الملفات بسبب عزل قطاعات الكتل التالفة.
- بنية مرنة بإستخدام ميزة مساحات التخزين التي تم تصميمها وتنفيذها خصيصًا لنظام ReFS.
بالإضافة إلى ذلك، يرث نظام ReFS العديد من الميزات من NTFSبما في ذلك تشفير BitLocker وقوائم التحكم في الوصول – ACL، الدفتر اليومي USN، ، وإخطارات التغييرات، والروابط الرمزية و نقاط الوصلات، نقاط التحميل، نقاط إعادة التوزيع، ولقطات الحجم، وملف IDs و oplocks.
بالطبع، ستكون البيانات من نظام ReFS متاحة للعملاء من خلال نفس واجهات برمجة التطبيقات APIs المستخدمة حاليًا في جميع أنظمة التشغيل للوصول إلى الأقسام المهيئة بنظام NTFS.
3. الخصائص
خصائص نظام ملفات ReFS:
يستخدم نظام الملفات المجاميع الإختبارية للبيانات الوصفية، ويمكنه أيضًا إستخدام المجاميع الإختبارية لبيانات الملف. عند قراءة أو كتابة ملف، يقوم النظام بفحص المجموع الإختباري للتأكد من صحته. بهذه الطريقة، يمكن مراقبة تشويه البيانات في وضع الوقت الحقيقي.
إذا إكتشف نظام الملفات بيانات تالفة ليس لها نسخة بديلة للإسترداد، فسيقوم ReFS بإزالة هذه البيانات من القرص على الفور. في مثل هذه الحالة، لن تحتاج إلى إعادة تشغيل الكمبيوتر أو فصل الوسائط – وهو أمر مطلوب إذا كنت تستخدم نظام NTFS.
لم تعد بحاجة إلى إستخدام الأداة المساعدة chkdsk حيث يتم تصحيح نظام الملفات تلقائيًا بمجرد ظهور خطأ. النظام الجديد مرن أيضًا في الحالات الأخرى عندما تصبح البيانات تالفة.
موثوقية أفضل لتخزين البيانات. يستخدم نظام ReFS بنية B+ trees لجميع الهياكل الموجودة على القرص، بما في ذلك البيانات الوصفية وبيانات الملفات. حجم الملف وعدد الملفات في المجلد وحجم المجلد الإجمالي وعدد المجلدات في وحدة تخزين محدودة بأرقام 64 بت. يتم حساب مساحة القرص الحرة بواسطة مُخصص هرمي يتضمن ثلاثة جداول منفصلة للقطع الكبيرة والمتوسطة والصغيرة. إسم الملف وطول إسم المسار محددان بـ 32 كيبي بايت من أحرف Unicode.
يعد نظام الملفات الجديد أيضًا أكثر مرونة تجاه الأضرار التي يمكن أن تلحق ببياناتك بأي طريقة أخرى. على سبيل المثال، عندما تقوم بتحديث البيانات الوصفية للملف – على سبيل المثال، إسم الملف – فإن نظام NTFS سيحرر البيانات الأولية للملف مباشرة. إذا تعطل جهاز الكمبيوتر الخاص بك أو تعطل أو إنقطع التيار الكهربائي في منتصف العملية، فقد تتلف البيانات. على العكس من ذلك، عندما تقوم بتحديث البيانات الوصفية للملف في نظام ReFS، فإنها ستنشئ نسخة جديدة من البيانات الوصفية، وسيتم تعيين البيانات الوصفية المحدثة إلى الملف فقط بعد كتابة جميع المعلومات الجديدة. بهذه الطريقة، لا يوجد خطر تلف البيانات الوصفية للملف. يُعرف هذا الأسلوب بإسم النسخ عند الكتابة.
تم دمج نظام ReFS مع تقنية المحاكاة الإفتراضية المعروفة بإسم مساحات التخزين، والتي تتيح النسخ المتطابق والجمع بين عدة أجهزة تخزين فعلية في كمبيوتر أو شبكة واحدة.
ومع ذلك، لا يدعم نظام الملفات هذا التدفقات المسماة والأسماء المختصرة والضغط والتشفير على مستوى الملف و نظام تشفير الملفات، بالإضافة إلى معاملات نظام NTFS والروابط الثابتة و السمات الموسعةوحصص القرص.
4. كيف يختلف عن نظام NTFS
نظام ReFS هو أحدث ويدعم وحدات تخزين أكبر وأسماء ملفات أطول من نظام NTFS. على المدى الطويل، هذه تطورات مهمة للغاية.
في نظام NTFS ، تقتصر مسارات الملفات على 255 حرفًا. وفي الوقت نفسه، يدعم نظام ReFS أكثر من 30 ألف حرف (32768) في إسم الملف.
يتمتع نظام NTFS بسعة قصوى نظرية تبلغ 16 إكسابايت، بينما يتميز نظام ReFS بسعة لا تصدق تبلغ 262144 إكسابايت. في معظم الأحيان، لا يغير الوضع الحالي كثيرًا، لكنه إحتياطي جيد للمستقبل.
في نظام الملفات ReFS ، لن تجد بعض وظائف نظام NTFS مثل ضغط البيانات ونظام تشفير الملفات والروابط الثابتة والسمات الموسعة وإلغاء البيانات المكررة وحصص القرص. ومع ذلك، يتوافق نظام ReFS مع العديد من الميزات. على سبيل المثال، إذا لم تتمكن من تشفير بيانات معينة على مستوى نظام الملفات، فلا يزال نظام ReFS يدعم تشفير BitLocker.
لن يسمح لك نظام التشغيل Windows 10 بتهيئة أي قسم بنظام ملفات ReFS، وفي الوقت الحالي، يمكن إستخدام نظام ReFS فقط لمساحات التخزين حيث تساعد ميزاته على حماية بياناتك من أي ضرر. في نظام التشغيل Windows Server 2016، يمكنك تهيئة وحدات التخزين بإستخدام نظام ملفات ReFS بدلاً من نظام NTFS. ومع ذلك، لا يمكنك إستخدام نظام ReFS لوحدة تخزين معدة للتمهيد، حيث يمكن لنظام التشغيل Windows التمهيد فقط من قرص بنظام ملفات NTFS.
في هذه الأيام، يتم إستخدام نظام ملفات ReFS فقط على إصدارات نظام التشغيل server Windows وعلى Windows Enterprise (المعروف أيضًا بإسم LTSC).
5. بنية نظام الملفات
على الرغم من أن نظام ReFS و نظام NTFS يُشار إليهما غالبًا على أنهما متشابهان، فإن الشيء الفعلي الذي يتشاركون فيه هو توافق بعض هياكل البيانات الوصفية. تختلف طريقة تنفيذ بنية قرص بنظام ملفات ReFS تمامًا عن أنظمة ملفات Microsoft الأخرى.
العناصر الهيكلية الرئيسية لنظام الملفات الجديد هي B+ trees. يمكن أن تكون جميع عناصر بنية نظام الملفات من النوع أحادي المستوى (الأوراق) أو متعدد المستويات (الأشجار). يسمح هذا الأسلوب بقابلية أكبر للتوسع تقريبًا لأي عنصر من عناصر نظام الملفات. جنبًا إلى جنب مع عنونة 64 بت حقيقية لجميع عناصر النظام، فإنه يستبعد الإختناقات المحتملة إذا كان نظام الملفات سيتم توسيعه بشكل أكبر.
بالإضافة إلى السجل الجذري B+ tree، تحتوي جميع السجلات الأخرى على حجم كتلة البيانات الوصفية 16 كيلو بايت. العقد الوسطية (العنوان) لها حجم صغير (حوالي 60 بايت). هذا هو السبب في أننا عادة ما نحتاج إلى عدد صغير من مستويات الأشجار لوصف حتى الهياكل الكبيرة جدًا، مما يؤدي بالتأكيد إلى تحسين الأداء الكلي للنظام.
العنصر الهيكلي الرئيسي لنظام الملفات هو الدليل المقدم في بنية B+ tree مع المفتاح كرقم من كائن المجلد. على عكس أنظمة الملفات المماثلة الأخرى، لا يعد الملف الموجود في نظام ReFS عنصرًا أساسيًا منفصلاً لـ الدليل ولكنه موجود فقط كسجل في المجلد الذي يحتوي عليه. ربما تشرح هذه الميزة الهيكلية سبب عدم دعم نظام الملفات ReFS للروابط الثابتة.
الدلائل الورقة Leaf هي سجلات مصنفة. بالنسبة إلى كائن المجلد، هناك ثلاثة أنواع رئيسية من السجلات: واصف الدليل، وسجل الفهرس، وواصف الكائن المتداخل. يتم حزم كل هذه السجلات كشجرة B+ tree منفصلة مع معرف المجلد. جذر هذه الشجرة هو ورقة من شجرة الدليل B+ tree. يسمح بتعبئة أي عدد من السجلات تقريبًا. يوجد في المستوى الأدنى من أوراق شجرة B+ tree سجل واصف للدليل يحتوي على معلومات أساسية حول الدليل مثل الإسم والمعلومات القياسية وسمة إسم الملف وما إلى ذلك.
علاوة على ذلك، يوجد في الدليل ما يسمى بإدخالات الفهرس: هياكل قصيرة مع بيانات عناصر الدليل. بالمقارنة مع نظام NTFS، فإن هذه السجلات أقصر بكثير مما يعني أن الحجم يجب أن يخزن بيانات وصفية أقل. العناصر الأخيرة هي سجلات عناصر الدليل. بالنسبة للمجلدات، تحتوي هذه العناصر على إسم المجلد بالإضافة إلى معرف المجلد في الدليل وهيكل المعلومات القياسية. بالنسبة للملفات، المعرف مفقود ولكن بدلاً من ذلك، تحتوي البنية على جميع البيانات الأساسية حول الملف بما في ذلك أجزاء الملف من شجرة الجذر. وبالتالي، يمكن أن يتكون الملف من أي عدد من الأجزاء (القطع) تقريبًا.
توجد الملفات الموجودة على القرص في كتل بسعة 64 كيلو بايت. تتم معالجتها بنفس الطريقة تمامًا مثل كتل البيانات الوصفية (في مجموعات بحجم 16 كيلوبايت). موقع بيانات الملف على نظام ReFS غير مدعوم، لذا فإن الملف الذي يبلغ حجمه 1 بايت على القرص سيشغل كتلة كاملة تبلغ 64 كيلوبايت مما ينتج عنه تكرار كبير في مساحة التخزين على ملفات صغيرة. من ناحية أخرى، فإنه يبسط إدارة المساحة الخالية وتكون عملية تخصيص الملفات الجديدة أسرع بكثير.
يبلغ حجم البيانات الوصفية لنظام الملفات الفارغ حوالي 0.1٪ من حجم نظام الملفات نفسه (أي حوالي 2 جيجابايت على حجم 2 تيرابايت). يتم تكرار بعض البيانات الوصفية الأساسية مما يحسن مرونة مقاومة الفشل.
6. هيكل نظام ملفات ReFS
يمكنك تحديد نظام ملفات ReFS بالتوقيع التالي في بداية القسم:
00 00 00 52 65 46 53 00 00 00 00 00 00 00 00 00 ...ReFS.........
46 53 52 53 XX XX XX XX XX XX XX XX XX XX XX XX FSRS
يبلغ طول صفحات نظام 0x4000 ReFS بايت.
في جميع الأنظمة التي تم فحصها، يكون رقم الصفحة الأول هو 0x1e (0x78000 بايت بعد بداية القسم الذي يحتوي على نظام الملفات). يتماشى هذا مع وثائق Microsoft التي تنص على أن دليل البيانات الوصفية الأول في إزاحة ثابتة على القرص.
تحتوي الصفحات الأخرى على هياكل وجداول مختلفة للنظام والدليل والمجلد بالإضافة إلى إصدارات مسجلة لكل صفحة.
البايت الأول لكل صفحة هو رقم صفحتها.
أول 0x30 بايت من كل صفحة بيانات وصفية تشكل رأس الصفحة الذي يبدو كما يلي:
byte 0: XX XX 00 00 00 00 00 00 YY 00 00 00 00 00 00 00
byte 16: 00 00 00 00 00 00 00 00 ZZ ZZ 00 00 00 00 00 00
byte 32: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
dword 0 (XX XX) هو رقم الصفحة المتسلسل ويتوافق مع إزاحة 0x4000 للصفحة؛
dword 2 (YY) هو رقم الدفتر اليومي أو رقم التسلسل؛
dword 6 (ZZ ZZ) هو رقم الصفحة الإفتراضي، وهو غير متسلسل
جدول الكائنات، رقم الصفحة الظاهرية 0x02 يربط معرفات الكائنات بالصفحات الموجودة عليها. هنا يمكننا أن نرى قائمة السمات تتكون من سجلات المفتاح/ أزواج القيمة.
يمكننا إستخدامها للبحث عن المعرف الكائن للدليل الجذري و إسترداد الصفحة التي يوجد بها:
50 00 00 00 10 00 10 00 00 00 20 00 30 00 00 00 – الطول الإجمالي / حدود المفتاح والقيمة
00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 – معرّف الكائن
F4 0A 00 00 00 00 00 00 00 00 02 08 08 00 00 00 – معرّف الصفحة / flags
CE 0F 85 14 83 01 DC 39 00 00 00 00 00 00 00 00 – المجموع الاختباري
08 00 00 00 08 00 00 00 04 00 00 00 00 00 00 00
إدخال جدول الكائن للدليل الجذري، الذي يحتوي على صفحته (0xAF4)
عند إسترداد الصفحات حسب المعرف أو رقم الصفحة الإفتراضي، قم بالبحث عن الصفحات ذات الرقم التسلسلي الأعلى حيث أن هذه هي أحدث نسخ من آلية كتابة الظل shadow-write.
الدلائل، من الدليل الجذري إلى الأسفل، تتبع نمطًا ثابتًا. وهي تتألف من قوائم متسلسلة لهياكل البيانات التي يتم تحديد طولها من خلال قيمة الكلمة الأولى (السمات و قوائم السمات).
غالبًا ما تكون القائمة مسبوقة بسمة رأس تحدد الطول الإجمالي للسمات التالية، والتي تشكل القائمة.
في كلتا الحالتين، يمكن تحليل السمات عن طريق التكرار عبر البايت بعد رأس صفحة الدليل، وقراءة الكلمة الأولى ومعالجتها لتحديد العدد التالي من البايتات المراد قراءتها.
تأخذ السمات المختلفة دلالات مختلفة بما في ذلك الإشارات إلى الدلائل الفرعية والملفات وكذلك الفروع إلى الصفحات الإضافية التي تحتوي على المزيد من محتويات الدليل.
الهياكل الموجودة في قائمة الدليل لها أحد التنسيقات التالية:
7. السمة الأساسية
تتكون أبسط سمة أساسية من كتلة يتم تحديد طولها في البداية.
يوجد أدناه مثال على سمة نموذجية:
a8 00 00 00 28 00 01 00 00 00 00 00 10 01 00 00
10 01 00 00 02 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 a9 d3 a4 c3 27 dd d2 01
5f a0 58 f3 27 dd d2 01 5f a0 58 f3 27 dd d2 01
a9 d3 a4 c3 27 dd d2 01 20 00 00 00 00 00 00 00
00 06 00 00 00 00 00 00 03 00 00 00 00 00 00 00
5c 9a 07 ac 01 00 00 00 19 00 00 00 00 00 00 00
00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
هنا يمكنك العثور على قسم بطول 0xA8 يحتوي على أربعة طوابع زمنية للملفات التالية. أنظر المزيد أدناه:
a9 d3 a4 c3 27 dd d2 01 - 2017-06-04 07:43:20
5f a0 58 f3 27 dd d2 01 - 2017-06-04 07:44:40
5f a0 58 f3 27 dd d2 01 - 2017-06-04 07:44:40
a9 d3 a4 c3 27 dd d2 01 - 2017-06-04 07:43:20
من الآمن إفتراض أن:
- يحتوي أحد الحقول الأولى في أي سمة معينة على معرف يوضح بالتفصيل كيفية تحليل السمة، أو
- يتم إعطاء السياق من خلال موضع السمة في القائمة.
- تتم الإشارة إلى السمات المقابلة للمعنى المحدد بواسطة هذا العنوان أو المعرف
8. السجلات
المفتاح/أزواج القيمة - يتم إعطاء قيمها في أول 0x20 بايت من السمة. يتم إستخدام هذه لأقسام البيانات الوصفية المرتبطة بالملفات التي يتم تسجيل أسمائهم في المفاتيح ويتم تسجيل المحتويات في القيمة.
أدناه، إبحث عن مثال سجل نموذجي:
40 04 00 00 10 00 1A 00 08 00 30 00 10 04 00 00 @.........0.....
30 00 01 00 6D 00 6F 00 66 00 69 00 6C 00 65 00 0...m.o.f.i.l.e.
31 00 2E 00 74 00 78 00 74 00 00 00 00 00 00 00 1...t.x.t.......
A8 00 00 00 28 00 01 00 00 00 00 00 10 01 00 00 ¨...(...........
10 01 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 A9 D3 A4 C3 27 DD D2 01 ........©Ó¤Ã'ÝÒ.
5F A0 58 F3 27 DD D2 01 5F A0 58 F3 27 DD D2 01 _ Xó'ÝÒ._ Xó'ÝÒ.
A9 D3 A4 C3 27 DD D2 01 20 00 00 00 00 00 00 00 ©Ó¤Ã'ÝÒ. .......
00 06 00 00 00 00 00 00 03 00 00 00 00 00 00 00 ................
5C 9A 07 AC 01 00 00 00 19 00 00 00 00 00 00 00 ..¬............
00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 20 00 00 00 A0 01 00 00 ........ ... ...
D4 00 00 00 00 02 00 00 74 02 00 00 01 00 00 00 Ô.......t.......
78 02 00 00 00 00 00 00 ...(cutoff) x.......
نرى هنا معلمات السجل التي تم تعيينها بواسطة الصف الأول:
- الطول الإجمالي - 4 بايت = 0x440
- إزاحة المفتاح - 2 بايت = 0x10
- طول المفتاح - 2 بايت = 0x1A
- الأعلام / المعرف - 2 بايت = 0x08
- قيمة الإزاحة - 2 بايت = 0x30
- طول القيمة - 2 بايت = 0
ينتهي السجل بعد القيمة، 0x410 بايت بعد أن تبدأ القيمة عند 0x30، أو 0x440 بايت بعد بداية السجل (الذي يتماشى مع الطول الإجمالي).
السجل يتوافق مع ملف تم إنشاؤه على القرص.
هنا السمة الأولى في قيمة السجل وهي السمة البسيطة التي ناقشناها أعلاه، والتي تحتوي على الأختام الزمنية للملف. وهي متبوعة برأس قائمة السمات المرجعية.
بإستخدام هذه الأختام، نبحث عن السجلات بقيم "0" أو "8" لـ w/flag. غالبًا ما تكون القيمة "4"، وهذا يشير إلى سجل تاريخي، أو سجل تم إستبداله بآخر منذ ذلك الحين.
نظرًا لكون السجلات مسبوقة بطولها الإجمالي، فيمكن إعتبارها فئة فرعية من السمة.
تحتوي قائمة السمات، أو رأس القائمة، على كتلة السمات.
للوهلة الأولى، إنها سمات بسيطة بطول 0x20 ولكن عند إجراء مزيد من الفحص، نرى بإستمرار أنها تحتوي على طول كتلة كبيرة من السمات. بعد تحليل قائمة السمات، يجب أن نقرأ وحدات البايت المتبقية في القائمة قبل الإنتقال إلى السمة التالية.
20 00 00 00 A0 01 00 00 D4 00 00 00 00 02 00 00 - رأس القائمة يحدد الطول الإجمالي (0x1A0) والحشو (0xD4)
74 02 00 00 01 00 00 00 78 02 00 00 00 00 00 00
80 01 00 00 10 00 0E 00 08 00 20 00 60 01 00 00
60 01 00 00 00 00 00 00 80 00 00 00 00 00 00 00
88 00 00 00 ... (cutoff)
9. فروع شجرة الدليل
فروع شجرة الدليل هي قوائم سمات حيث تتوافق كل سمة مع سجل تشير قيمته إلى صفحة تحتوي على المزيد من محتويات الدليل.
عند مواجهة الرأس قائمة السمات مع قيمة العلامة 0x301 ، يجب علينا
- التكرار على السمات في القائمة،
- تحليلها كسجلات،
- إستخدام dword في كل قيمة كصفحة لتكرار عملية إجتياز الدليل (بشكل متكرر).
يجب إلحاق الملفات والأدلة الفرعية الإضافية الموجودة في الصفحات المرجعية بقائمة محتويات الدليل الحالية.
10. الدلائل الفرعية
الدلائل الفرعية هي سجلات في قائمة سمات الدليل التي يحتوي مفتاحها على علامة بيانات تعريف الدليل (0x20030) بالإضافة إلى إسم الدليل الفرعي.
قيمة هذا السجل هي معرف الكائن المقابل الذي يمكن إستخدامه للبحث عن الصفحة التي تحتوي على الدليل الفرعي في جدول الكائن.
سجل الدليل الفرعي النموذجي:
70 00 00 00 10 00 12 00 00 00 28 00 48 00 00 00
30 00 02 00 73 00 75 00 62 00 64 00 69 00 72 00 - هنا نرى المفتاح الذي يحتوي على العلم (30 00 02 00) متبوعًا بإسم الدليل ("subdir2")
32 00 00 00 00 00 00 00 03 07 00 00 00 00 00 00 - هنا نرى معرف الكائن كأول qword في القيمة (0x730)
00 00 00 00 00 00 00 00 14 69 60 05 28 dd d2 01 - هنا نرى الأختام الزمنية للدليل
cc 87 ce 52 28 dd d2 01 cc 87 ce 52 28 dd d2 01
cc 87 ce 52 28 dd d2 01 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00
مثل هذه الدلائل عبارة عن سجلات يحتوي مفتاحها على علامة (0x10030) متبوعة بإسم الملف.
ومع ذلك، فإن القيمة أكثر تعقيدًا، ولقد إكتشفنا بعض السمات الأساسية التي تسمح لنا بسحب الطوابع الزمنية والمحتوى من نظام الملفات، ولا يزال هناك المزيد لإستنتاجه فيما يتعلق بدلالات قيمة هذا السجل.
تتكون قيمة سجل الملف من عدة سمات، على الرغم من أنها تظهر واحدة تلو الأخرى، بدون رأس قائمة. لا يزال بإمكاننا تحليلها بالتسلسل نظرًا لأن جميع السمات مسبوقة بشكل فردي بأطوالها وأن طول قيمة سجل الملف يعطينا الحجم الإجمالي للكتلة.
تحتوي السمة الأولى على 4 أختام زمنية للملف في إزاحة مقدمة بواسطة البايت الخامس من السمة (على الرغم من أن هذا الموضع قد يكون مصادفة لأن الأختام الزمنية يمكن أن تتواجد فقط في موقع ثابت في هذه السمة).
يبدو أن السمة الثانية هي رأس قائمة السمات التي تحتوي على مرجع الملف.
في قائمة السمات الفردية هذه، تحتوي السمة الأولى على طول الملف، بينما تحتوي السمة الثانية على رأس قائمة أخرى. تحتوي هذه السمة أيضًا على سجل تحتوي قيمته على مرجع للصفحة حيث توجد محتويات الملف الفعلية.
----------------------------------------
| ... |
----------------------------------------
| سجل مدخل الملف |
| المفتاح: 0x10030 [إسم الملف] |
| Value: |
| السمة 1: الأختام الزمنية |
| السمة 2: |
| قائمة مرجعية رأس الملف |
| قائمة مرجعية جسد الملف (السجل) |
| مفتاح السجل: ? |
| قيمة السجل: |
| سمة طول الملف |
| قائمة محتويات رأس الملف |
| سجل (سجلات) محتوى الملف |
| Padding |
----------------------------------------
| ... |
----------------------------------------
على الرغم من كونه معقدًا، يمكن تحليل كل مستوى بطريقة مماثلة لجميع السمات والسجلات الأخرى، مع الحرص فقط على تحليل السمات إلى مستوياتها وهياكلها الصحيحة.
بقدر القيم الفعلية، يتم دائمًا مشاهدة طول الملف عند إزاحة ثابتة ضمن السمة الخاصة به (0x3c) ويوجد مؤشر المحتوى في قيمة qword الثانية لملف السجل. هذا المؤشر هو مجرد إشارة إلى الصفحة، ويمكن قراءة محتويات الملف حرفياً.
على الرغم من أن نظام ReFS يتميز بأمان محسن وميزات فعالة لتخزين البيانات، فإنه لا يمكنه حماية المعلومات المهمة بالكامل من الحذف العرضي أو هجمات الفيروسات أو الأشياء الأخرى التي قد تسبب فقدان البيانات. عليك التفكير في إحتمال حدوث مثل هذه المشكلات في المستقبل، والإستعداد لذلك بإستخدام أداة مساعدة موثوقة، من شأنها أن تكون قادرة على إصلاح مشاكل الملفات المحذوفة.
11. خوارزمية البحث التي تستخدمها أداة إسترداد البيانات الشهيرة Hetman Partition Recovery
يجب أن يكون أفضل حل لحل هذه المشكلات بسرعة هو أداة إسترداد البيانات المتخصصة.
Hetman Partition Recovery يسمح بفحص قرص التخزين الذي يديره نظام ملفات ReFS بإستخدام خوارزمية تحليل حسب التوقيع. بتحليل جهاز التخزين حسب القطاعات، يجد البرنامج تسلسلات بايت معينة و يقدمها للمستخدم. لا يختلف إسترداد البيانات من مساحة تخزين بنظام ReFS عن القيام بذلك في نظام ملفات NTFS.
أثناء الفحص السريع، يبحث البرنامج عن رأس وحدة التخزين الموجود في القطاع 0 (بينما توجد نسخته في القطاع الأخير). يحتوي العنوان على المعلومات التي يحتاجها البرنامج لمزيد من الفحص - عدد البايتات في القطاع وعدد القطاعات في العنقود. عند جمع هذه البيانات، يجد البرنامج الكتلة الفائقة Superblock، المخزنة في الكتلة 30. تحتوي الكتلة الفائقة superblock على نسختين - واحدة في الكتلة الثانية من نهاية القرص، وواحدة في الكتلة الثالثة. من superblock، يكتشف البرنامج روابط لنقاط التحقق: هناك نقطتان للتحقق ويمكن العثور عليهما في العناوين المحددة في superblock. بعد العنوانين، يعثر البرنامج على الساعة الإفتراضية المخصصة، ويستخدم هذه البيانات لتحديد أي من نقطتي التحقق ذات صلة في الوقت الحالي. كما نعلم، يقوم نظام التشغيل Windows في البداية بتعديل نقطة التحقق الأولى، وفقط إذا نجحت العملية، فإنه يشرع في نسخ البيانات إلى نقطة التحقق الثانية.
نقطة التحقق تحتوي على جداول عامة. من هناك، يقرأ برنامجنا رأس الصفحة والكتلة التي تحتوي على البيانات. تعطينا هذه الكتلة مؤشرات لكل جدول (أي روابط لجميع الجداول العامة).
لتحويل العناوين الإفتراضية إلى عناوين فعلية، يجب البحث عن جدول الحاوية. بعد ذلك، يتم إستخدام العنوان الإفتراضي للعثور على جدول معرف الكائن للحصول على جميع الجداول.
بعد ذلك، يبحث البرنامج عن المعلومات صفحة تلو الأخرى، في محاولة لتحديد مستواها. إذا كانت ورقة المستوى 0، تتم قراءة البيانات التي نبحث عنها. إذا لم يكن الأمر كذلك، فسيقوم البرنامج بالبحث عن المسار إلى مستوى آخر حتى يصل أخيرًا إلى عقدة المستوى 0 حيث توجد البيانات المطلوبة.
حتى إذا كان أحد العناصر في بنية نظام الملفات هذا تالفًا أو معطوبًا ، فإن الخوارزمية المستخدمة للفحص الكامل تسمح لبرنامجنا بإستبعاد تلك الروابط المعطلة والوصول إلى المعلومات المطلوبة التي يجب إستردادها.
مستقبل نظام الملفات الجديد هذا غير مؤكد تمامًا. يجوز لشركة Microsoft تنقيح نظام الملفات ReFS لإستبدال نظام NTFS القديم في كافة إصدارات Windows. في الوقت الحالي، ومع ذلك، لا يمكن إستخدام نظام ReFS في كل مكان، ويتم تطبيقه على مهام معينة فقط.
"يمكن استخدام أداة chkdsk.exe في سطر الأوامر في نظام التشغيل Windows للتحقق من سلامة نظام ملفات REFS.
افتح سطر الأوامر بصلاحيات المسؤول.
اكتب الأمر ""chkdsk [drive_letter]: /scan"" حيث [drive_letter] هو حرف القرص الذي يحتوي على نظام الملفات REFS الذي تريد التحقق من سلامته.
انقر على Enter لبدء فحص سلامة نظام الملفات REFS.
انتظر حتى ينتهي الفحص. سيتم عرض نتائج الفحص في سطر الأوامر.
إذا كشف chkdsk عن أخطاء في نظام الملفات، قد يتطلب منك استخدام المعاملات /f (إصلاح) أو /r (إصلاح) لاستعادة سلامة نظام الملفات. ومع ذلك، يُنصَح بإنشاء نسخة احتياطية من البيانات على القرص قبل القيام بهذه الإجراءات."
"""لإنشاء نظام ملفات Refs في Windows ، يمكنك تنفيذ الخطوات التالية:
افتح ""مدير القرص"".
اختر قرصًا تريد إنشاء ملف REFS عليه.
حققت علامة على المساحة غير المستخدمة على القرص وحدد ""حجم بسيط جديد"".
اتبع تعليمات معالج ""الحجم الجديد"" وحدد المعلمات حسب الضرورة.
في نافذة ""الحجم"" ، حدد ""Refs"" كنوع من نظام الملفات وحدد المعلمات الضرورية الأخرى.
انقر فوق الزر ""الدب"" لإكمال عملية إنشاء ملف REFS. """