ماذا يفعل تحقق من القرص فعلاً بعد الحرق للتحقق من البيانات؟
تعتبر ميزة "التحقق من القرص" رائعة للتأكد من أن القرص المحترق الخاص بك تم تشغيله بشكل جيد ، ولكن كيف يعمل بالضبط؟ إن سؤال SuperUser سؤال وجواب اليوم يجيب عن سؤال القارئ الغريب.
تأتي جلسة الأسئلة والأجوبة اليوم مقدمة من SuperUser-a subdivision of Stack Exchange ، وهي مجموعة مجتمعية مدفوعة من مواقع Q & A.
الصورة مجاملة من cobalt123 (فليكر).
السؤال
يريد قارئ SuperUser user1301428 معرفة كيفية التحقق من الأقراص بعد نسخها:
ما الذي يقوم به التحقق من القرص بعد الحرق فعلًا للتحقق من البيانات؟ أتصور أنه نوع من المقارنة بين الملفات الأصلية والملفات التي تم حرقها على القرص ، ولكن لا أحد يعرف كيف يتم ذلك بالفعل على مستوى منخفض?
أعني ، هل تنشئ تجزئة محتوى المصدر والوجهة ، ثم تقارنها؟ إذا كان الأمر كذلك ، هل يقوم بتخزين تجزئة المحتوى المحترق في ذاكرة الوصول العشوائي (RAM)؟ أو هل حفظه في ملف مؤقت على القرص الصلب؟ هل هناك ملف سجل لما يجري?
مجرد فضول لمعرفة بالضبط كيف تعمل هذه الميزة. وأنا أشير إلى Windows Image Burner.
كيف تعمل عملية التحقق من القرص?
الاجابة
المساهمين في SuperUser يملك فرانك توماس و Synetech الإجابة لنا. أولاً ، فرانك توماس:
تحقق من صفحات MSDN هذه على واجهات برمجة التطبيقات لـ Windows لواجهة IBurnVerification ورقم IMAPI_BURN_VERIFICATION_LEVEL.
بالنسبة لأقراص البيانات ، يبدو الأمر كما لو كان في الوضع السريع ، لا يقوم بالتحقق من القرص بالكامل ، بل مجرد مجموعة مختارة من القطاعات. ثم يتأكد من أن المكالمات API READ_DISC_INFO و READ_TRACK_INFO تنجح ضد القرص الجديد.
للتحقق الكامل ، فإنه يقوم بإجراء عمليات التحقق المذكورة أعلاه ، ثم يقوم المجموع الاختباري الكامل في الجلسة الأخيرة على القرص الجديد مقابل المجموع الاختباري المحسوب على دفق الذاكرة الذي يتم حرقه. يجب أن يتم تخزين الاختباري في الكبش ، ولكن من المحتمل أن تكون القيم قصيرة العمر. لاحظ أن المقارنة ضد صورة القرص في ذاكرة الوصول العشوائي ، وليس الوسائط المصدر نفسها ، لذلك إذا لم تتم قراءة البيانات المصدر بشكل صحيح ، سيتم كتابتها بشكل غير صحيح. لن يكتشف التحقق هذا.
بالنسبة لأقراص الموسيقى ، فإنها تركز على التحقق من READ_TRACK_INFO وجدول محتويات القرص ، ولكنها لا تقوم بإجراء حساب المجموع الاختباري. لا يوجد وضع تحقق كامل للموسيقى.
تليها الإجابة من Synetech:
شرح فرانك جيدًا التحقق الخاص بـ Windows. سأقدم إجابة أكثر عمومية.
- ما الذي يقوم به التحقق من القرص بعد الحرق فعلاً للتحقق من البيانات?
- أعني ، هل تنشئ تجزئة محتوى المصدر والوجهة ، ثم تقارنها؟ إذا كان الأمر كذلك ، هل يقوم بتخزين تجزئة المحتوى المحترق في ذاكرة الوصول العشوائي (RAM)؟ أو هل حفظه في ملف مؤقت على القرص الصلب؟ هل هناك ملف سجل لما يجري?
هذا هو بالتأكيد طريقة واحدة يمكن تنفيذها المقارنة: ملف واحد تجزئة (نأمل مع وجود فرصة منخفضة قراءة كبيرة بما فيه الكفاية من خوارزمية الاصطدام) ، كرر للآخر ، ومقارنة التجزئات. إذا كانت هذه هي الطريقة التي يتم بها تنفيذ التحقق ، فستتمكن من رؤية فلاش LED الخاص بالقيادة لفترة من الوقت ، ثم فلاش CD / DVD-LED لبعض الوقت.
هناك طريقة أخرى لتنفيذ التحقق تتمثل في قراءة كتلة من ملف واحد ، ثم نفس الكتلة من الملف الآخر ، ومقارنتها ، ثم تكرارها حتى الوصول إلى نهاية الملف. في هذه الحالة ، سترى مؤشرات LED الخاصة بمحركي الأقراص بالتناوب ذهابًا وإيابًا.
وبطبيعة الحال ، إذا لم يكن محرك الأقراص الصلبة ومحرك الأقراص الضوئية LEDs ، فإنه لن يكون واضحا. ولكن لا يزال بإمكانك رؤيته بشيء مثل ProcessMonitor لأنه سيسجل سلسلة من القراءات من واحد ، ثم الآخر في دفعة واحدة كبيرة أو متدفقة أو صغيرة.
- أتصور أنه نوع من المقارنة بين الملفات الأصلية والملفات التي تم حرقها على القرص ، ولكن لا أحد يعرف كيف يتم ذلك بالفعل على مستوى منخفض?
في الواقع ، كل ما يفعله بالفعل هو مسح ذاكرة التخزين المؤقت لمحرك الأقراص بحيث تقوم وظيفة المقارنة بقراءة البيانات من القرص الفعلي بدلاً من ذاكرة التخزين المؤقت. من الواضح أن هذه خطوة حاسمة لأنه إذا تم التحقق من ذاكرة التخزين المؤقت ، فإنه لا يمثل ما هو موجود بالفعل على القرص ، لذلك الفساد يمكن أن ينزلق بسهولة.
يمكنك معرفة ما إذا كان يتم إجراء مقارنة من محرك الأقراص أو من ذاكرة التخزين المؤقت في ذاكرة الوصول العشوائي عن مدى سرعة حدوثه. إذا قمت بإجراء مقارنة بسيطة (مثل WinDiff ، WinMerge ، أو عن طريق تجزئتها باستخدام أداة تجزئة) ، ستلاحظ أن المقارنة تحدث أسرع بكثير من المتوقع لأنها تقرأ الملفات من ذاكرة التخزين المؤقت. يجب مسح ذاكرة التخزين المؤقت لإجبارها على القراءة من القرص الفعلي. بالنسبة لمحركات الأقراص الضوئية (والوسائط الأخرى القابلة للإزالة مثل محركات الأقراص المحمولة وبطاقات الذاكرة) ، يكفي إخراج محرك الأقراص فقط لمسح ذاكرة التخزين المؤقت ، ولكن لمحركات الأقراص الثابتة ، فهو ليس بنفس البساطة (على الرغم من أن ذلك عادة لا يهم لأن النسخة الجديدة هي النسخة التي تريد اختبارها).
هل لديك شيء تضيفه إلى الشرح؟ الصوت قبالة في التعليقات. هل ترغب في قراءة المزيد من الإجابات من مستخدمي Stack Exchange الآخرين المحترفين بالتكنولوجيا؟ تحقق من موضوع المناقشة الكامل هنا.