سجل التمهيد الرئيسي
سجل التمهيد الرئيسي ( MBR ) هو نوع من قطاعات التمهيد في الكتلة الأولى من أجهزة تخزين الكمبيوتر المقسمة مثل الأقراص الثابتة أو محركات الأقراص القابلة للإزالة المخصصة للاستخدام مع أنظمة IBM PC المتوافقة وما بعد ذلك. تم تقديم مفهوم سجلات التمهيد الرئيسية علنًا في عام 1983 مع نظام التشغيل PC DOS 2.0 .
يحتوي سجل التمهيد الرئيسي على معلومات حول كيفية تقسيم قطاعات القرص (المعروفة أيضًا باسم "الكتل") إلى أقسام، حيث يحتوي كل قسم نظريًا على نظام ملفات. يحتوي سجل التمهيد الرئيسي أيضًا على كود قابل للتنفيذ يعمل كمحمل لنظام التشغيل المثبت - عادةً عن طريق تمرير التحكم إلى المرحلة الثانية من المحمل، أو بالتزامن مع سجل تمهيد وحدة التخزين لكل قسم (VBR). يُشار إلى كود سجل التمهيد الرئيسي هذا عادةً باسم محمل التمهيد.
يحد تنظيم جدول التقسيم في MBR من الحد الأقصى لمساحة التخزين القابلة للعنونة للقرص المقسم إلى 2 تيرا بايت (2 32 × 512 بايت) . [1] لا يتم دعم الطرق لرفع هذا الحد قليلاً باستخدام العمليات الحسابية 32 بت أو القطاعات 4096 بايت رسميًا، لأنها تكسر التوافق بشكل قاتل مع برامج تحميل التمهيد الحالية ومعظم أنظمة التشغيل المتوافقة مع MBR وأدوات النظام المرتبطة بها، وقد تتسبب في تلف خطير للبيانات عند استخدامها خارج بيئات النظام الخاضعة لسيطرة ضيقة. لذلك، فإن مخطط التقسيم القائم على MBR في طور الاستعاضة عنه بمخطط جدول تقسيم GUID (GPT) في أجهزة الكمبيوتر الجديدة. يمكن أن يتعايش GPT مع MBR من أجل توفير شكل محدود من التوافق مع الإصدارات السابقة للأنظمة القديمة.
لا توجد سجلات MBR على الوسائط غير المقسمة مثل الأقراص المرنة أو الأقراص المرنة الفائقة أو أجهزة التخزين الأخرى التي تم تكوينها للعمل على هذا النحو، كما أنها ليست موجودة بالضرورة على محركات الأقراص المستخدمة في منصات غير أجهزة الكمبيوتر الشخصية.
ملخص
تم تقديم دعم الوسائط المقسمة، وبالتالي سجل التمهيد الرئيسي (MBR)، مع IBM PC DOS 2.0 في مارس 1983 لدعم القرص الصلب سعة 10 ميجا بايت لجهاز IBM Personal Computer XT الجديد آنذاك ، والذي لا يزال يستخدم نظام الملفات FAT12 . تمت كتابة الإصدار الأصلي من سجل التمهيد الرئيسي بواسطة ديفيد ليتون من IBM في يونيو 1982. دعم جدول التقسيم ما يصل إلى أربعة أقسام أساسية . لم يتغير هذا عندما تم تقديم FAT16 كنظام ملفات جديد مع DOS 3.0. تمت إضافة دعم القسم الممتد ، وهو نوع قسم أساسي خاص يستخدم كحاوية لحمل أقسام أخرى، مع DOS 3.2، وجاءت محركات الأقراص المنطقية المتداخلة داخل قسم ممتد مع DOS 3.30. نظرًا لأن أنظمة التشغيل MS-DOS وPC DOS وOS/2 وWindows لم يتم تمكينها مطلقًا للتمهيد منها، فقد ظل تنسيق MBR وكود التمهيد دون تغيير تقريبًا في الوظائف (باستثناء بعض التطبيقات التابعة لجهات خارجية) طوال عصر DOS وOS/2 حتى عام 1996.
في عام 1996، تم تقديم دعم عنونة الكتلة المنطقية (LBA) في Windows 95B وMS-DOS 7.10 (لا ينبغي الخلط بينه وبين IBM PC-DOS 7.1) من أجل دعم الأقراص الأكبر من 8 جيجابايت. كما تم تقديم طوابع زمنية للقرص . [2] وهذا يعكس أيضًا فكرة أن MBR من المفترض أن يكون مستقلاً عن نظام التشغيل ونظام الملفات. ومع ذلك، تم المساس بقاعدة التصميم هذه جزئيًا في تطبيقات Microsoft الأحدث لـ MBR، والتي تفرض وصول CHS لأنواع أقسام FAT16B و FAT32 0x06 / 0x0B ، بينما يتم استخدام LBA لـ 0x0E / 0x0C .
على الرغم من ضعف توثيق بعض التفاصيل الجوهرية لتنسيق MBR في بعض الأحيان (والذي تسبب أحيانًا في حدوث مشكلات في التوافق)، فقد تم اعتماده على نطاق واسع كمعيار صناعي فعلي، وذلك بسبب الشعبية الواسعة لأجهزة الكمبيوتر المتوافقة مع أجهزة الكمبيوتر وطبيعته شبه الثابتة على مدى عقود من الزمان. وقد وصل الأمر إلى حد دعمه بواسطة أنظمة تشغيل الكمبيوتر لمنصات أخرى. وفي بعض الأحيان كان هذا بالإضافة إلى معايير أخرى موجودة مسبقًا أو متعددة المنصات للتمهيد والتقسيم. [3]
ومع ذلك، تقتصر إدخالات قسم MBR ورمز تمهيد MBR المستخدم في أنظمة التشغيل التجارية على 32 بت. [1] لذلك، فإن الحد الأقصى لحجم القرص المدعوم على الأقراص التي تستخدم قطاعات 512 بايت (سواء كانت حقيقية أو مقلدة) بواسطة مخطط تقسيم MBR (بدون حساب 32 بت) يقتصر على 2 تيرابايت. [1] وبالتالي، يجب استخدام مخطط تقسيم مختلف للأقراص الأكبر حجمًا، حيث أصبحت متاحة على نطاق واسع منذ عام 2010. وبالتالي، فإن مخطط تقسيم MBR في طور الاستعاضة عنه بجدول تقسيم GUID (GPT). النهج الرسمي لا يفعل أكثر من ضمان سلامة البيانات من خلال استخدام جدول تقسيم MBR وقائي . على وجه التحديد، لا يوفر التوافق مع أنظمة التشغيل التي لا تدعم مخطط GPT أيضًا. في غضون ذلك، تم تصميم وتنفيذ أشكال متعددة من سجلات MBR الهجينة بواسطة أطراف ثالثة بهدف الحفاظ على الأقسام الموجودة في أول 2 تيرابايت من القرص في كل من مخططات التقسيم "بالتوازي" و/أو للسماح لأنظمة التشغيل الأقدم بالتمهيد من أقسام GPT أيضًا. تتسبب الطبيعة غير القياسية الحالية لهذه الحلول في حدوث مشكلات توافق مختلفة في سيناريوهات معينة.
يتكون MBR من 512 بايت أو أكثر تقع في القطاع الأول من محرك الأقراص.
قد يحتوي على واحد أو أكثر من:
- جدول تقسيم يصف أقسام جهاز التخزين. في هذا السياق، قد يُطلق على قطاع التمهيد أيضًا قطاع التقسيم .
- كود التمهيد : تعليمات لتحديد قسم التمهيد الذي تم تكوينه، ثم تحميل سجل تمهيد المجلد (VBR) وتنفيذه كمحمل سلسلة .
- طابع زمني اختياري للقرص مكون من 32 بت . [2]
- توقيع قرص اختياري مكون من 32 بت . [4] [5] [6] [7]
تقسيم القرص
قدم نظام التشغيل IBM PC DOS 2.0 FDISKأداة لإنشاء أقسام MBR وصيانتها. عندما يتم تقسيم جهاز تخزين وفقًا لهذا المخطط، يحتوي MBR الخاص به على جدول تقسيم يصف مواقع وأحجام وسمات أخرى للمناطق الخطية التي يشار إليها بالأقسام.
قد تحتوي الأقسام نفسها أيضًا على بيانات لوصف مخططات تقسيم أكثر تعقيدًا، مثل سجلات التمهيد الممتدة (EBRs)، أو تسميات أقراص BSD ، أو أقسام بيانات تعريف مدير القرص المنطقي . [8]
لا يقع سجل التمهيد الرئيسي في قسم؛ بل يقع في قطاع أول من الجهاز (الإزاحة المادية 0)، قبل القسم الأول. (يُطلق على قطاع التمهيد الموجود على جهاز غير مقسم أو داخل قسم فردي سجل تمهيد وحدة تخزين بدلاً من ذلك.) في الحالات التي يقوم فيها الكمبيوتر بتشغيل تراكب BIOS DDO أو مدير التمهيد ، قد يتم نقل جدول القسم إلى موقع مادي آخر على الجهاز؛ على سبيل المثال، غالبًا ما يضع Ontrack Disk Manager نسخة من محتويات سجل التمهيد الرئيسي الأصلية في القطاع الثاني، ثم يخفي نفسه عن أي نظام تشغيل أو تطبيق تم تمهيده لاحقًا، لذلك يتم التعامل مع نسخة سجل التمهيد الرئيسي كما لو كانت لا تزال موجودة في القطاع الأول.
تخطيط القطاع
حسب الاتفاقية، يوجد بالضبط أربعة إدخالات لجدول الأقسام الأساسية في مخطط جدول أقسام MBR، على الرغم من أن بعض أنظمة التشغيل وأدوات النظام وسعت هذا إلى خمسة (الأقسام النشطة المتقدمة (AAP) مع PTS-DOS 6.60 [9] و DR-DOS 7.07)، أو ثمانية ( AST و NEC MS-DOS 3.x [10] [11] بالإضافة إلى Storage Dimensions SpeedStor)، أو حتى ستة عشر إدخالاً (مع Ontrack Disk Manager ).
| عنوان | وصف | الحجم ( بايت ) | |
|---|---|---|---|
0x0000(0)
|
منطقة كود التمهيد | 446 | |
0x01BE(446)
|
مدخل القسم رقم 1 | جدول التقسيم (للأقسام الأساسية) |
16 |
0x01CE(462)
|
مدخل القسم رقم 2 | 16 | |
0x01DE(478)
|
مدخل القسم رقم 3 | 16 | |
0x01EE(494)
|
مدخل القسم رقم 4 | 16 | |
0x01FE(510)
|
0x55
|
توقيع التمهيد [أ] | 2 |
0x01FF(511)
|
0xAA
| ||
| الحجم الإجمالي: 446 + 4×16 + 2 | 512 | ||
| عنوان | وصف | الحجم ( بايت ) | |
|---|---|---|---|
0x0000(0) |
منطقة كود Bootstrap (الجزء 1) | 218 | |
0x00DA(218)
|
0x0000
|
طابع زمني للقرص [2] [ب] (اختياري؛ Windows 95B/98/98SE/ME (MS-DOS 7.1–8.0). أو يمكن أن يعمل كتوقيع محمل OEM مع NEWLDR) | 2 |
0x00DC(220)
|
محرك الأقراص الفعلي الأصلي ( 0x80– 0xFF)
|
1 | |
0x00DD(221)
|
الثواني (0–59) | 1 | |
0x00DE(222)
|
الدقائق (0–59) | 1 | |
0x00DF(223)
|
ساعات (0–23) | 1 | |
0x00E0(224) |
منطقة كود التمهيد (الجزء 2، إدخال الكود في 0x0000)
|
216 (أو 222) | |
0x01B8(440)
|
توقيع القرص 32 بت | توقيع القرص (اختياري؛ UEFI ، Linux، عائلة Windows NT وأنظمة التشغيل الأخرى) | 4 |
0x01BC(444)
|
0x0000( 0x5A5Aإذا كانت محمية بحقوق الطبع والنشر)
|
2 | |
0x01BE(446)
|
مدخل القسم رقم 1 | جدول التقسيم (للأقسام الأساسية) |
16 |
0x01CE(462)
|
مدخل القسم رقم 2 | 16 | |
0x01DE(478)
|
مدخل القسم رقم 3 | 16 | |
0x01EE(494)
|
مدخل القسم رقم 4 | 16 | |
0x01FE(510)
|
0x55
|
توقيع التمهيد [أ] | 2 |
0x01FF(511)
|
0xAA
| ||
| الحجم الإجمالي: 218 + 6 + 216 + 6 + 4×16 + 2 | 512 | ||
| عنوان | وصف | الحجم ( بايت ) | |
|---|---|---|---|
0x0000(0) |
منطقة كود التمهيد | 428 | |
0x01AC(428)
|
0x78
|
توقيع AAP (اختياري) | 2 |
0x01AD(429)
|
0x56
| ||
0x01AE(430)
|
محرك أقراص AAP الفعلي ( 0x80– 0xFE؛ 0x00: غير مستخدم؛ 0x01– 0x7F، 0xFF: محجوز)
|
سجل AAP (اختياري) (إدخال قسم AAP رقم 0 مع دلالات خاصة) | 1 |
0x01AF(431)
|
عنوان CHS (البداية) لقسم AAP/ملف الصورة أو VBR / EBR | 3 | |
0x01B2(434)
|
مخصص لنوع قسم AAP ( 0x00إذا لم يتم استخدامه) (اختياري)
|
1 | |
0x01B3(435)
|
محجوز لعنوان نهاية CHS في AAP (اختياري؛ 0x01B5يتم استخدام البايت عند الإزاحة أيضًا لمجموع MBR الاختباري (PTS DE، BootWizard)؛ 0x000000إذا لم يتم استخدامه)
|
3 | |
0x01B6(438)
|
بدء تشغيل LBA لملف صورة AAP أو VBR / EBR أو القطاعات النسبية لقسم AAP (تم نسخها إلى الإزاحة في القطاع المحمل فوق إدخال "القطاعات المخفية" في DOS 3.31 BPB (أو محاكاة له) لدعم تمهيد EBR أيضًا)
+01Chex |
4 | |
0x01BA(442)
|
مخصص للقطاعات في AAP (اختياري؛ 0x00000000إذا لم يتم استخدامه)
|
4 | |
0x01BE(446)
|
مدخل القسم رقم 1 | جدول التقسيم (للأقسام الأساسية) |
16 |
0x01CE(462)
|
مدخل القسم رقم 2 | 16 | |
0x01DE(478)
|
مدخل القسم رقم 3 | 16 | |
0x01EE(494)
|
مدخل القسم رقم 4 | 16 | |
0x01FE(510)
|
0x55
|
توقيع التمهيد [أ] | 2 |
0x01FF(511)
|
0xAA
| ||
| الحجم الإجمالي: 428 + 2 + 16 + 4×16 + 2 | 512 | ||
| عنوان | وصف | الحجم ( بايت ) | |
|---|---|---|---|
0x0000(0)
|
حجم سجل JMPS ( ) / NEWLDR (غالبًا / / بالنسبة للكود الذي يبدأ عند / / )
EBhex0x0A0x160x1C0x000C0x00180x001E |
سجل NEWLDR (اختياري) | 2 |
0x0002(2)
|
" NEWLDR" إمضاء
|
6 | |
0x0008(8)
|
محرك الأقراص الفعلي LOADER وعلم التمهيد ( 0x80– 0xFE, 0x00– 0x7E, 0xFF, 0x7F) (إذا لم يتم استخدامهما، يجب أن يكون هذا البايت والبايتات الثلاثة التالية كلها 0)
|
1 | |
0x0009(9)
|
عنوان CHS لقطاع تمهيد LOADER أو ملف الصورة (fe IBMBIO.LDR ) ( 0x000000إذا لم يتم استخدامه)
|
3 | |
0x000C(12)
|
الحد الأدنى المسموح به للتنزيل ، وإلا يتم الأخذ من جدول التقسيم ( 0x80: default; 0x00: استخدام DL دائمًا؛ 0xFF: استخدام إدخال الجدول دائمًا)
|
1 | |
0x000D(13)
|
محجوز (افتراضي: 0x000000)
|
3 | |
0x0010(16)
|
LBA لقطاع تمهيد LOADER أو ملف الصورة (اختياري؛ 0x00000000إذا لم يتم استخدامه)
|
4 | |
0x0014(20)
|
إزاحة التصحيح لوحدة تمهيد VBR (افتراضي 0x0000إذا لم يتم استخدامها، وإلا أو )
0024hex01FDhex |
2 | |
0x0016(22)
|
المجموع الاختباري ( 0x0000إذا لم يتم استخدامه)
|
2 | |
0x0018(24)
|
توقيع محمل OEM (" MSWIN4" لـ REAL/32 ، انظر أيضًا offset +0DAhex، يتوافق مع ملصق OEM عند الإزاحة في VBRs (اختياري)
+003hex |
6 | |
| يختلف | منطقة كود التمهيد (إدخال الكود في 0x0000)
|
يختلف | |
0x01AC(428)
|
0x78
|
توقيع AAP (اختياري) | 2 |
0x01AD(429)
|
0x56
| ||
0x01AE(430)
|
إدخال قسم AAP رقم 0 مع دلالات خاصة | سجل AAP (اختياري) | 16 |
0x01BE(446)
|
مدخل القسم رقم 1 | جدول التقسيم (للأقسام الأساسية) |
16 |
0x01CE(462)
|
مدخل القسم رقم 2 | 16 | |
0x01DE(478)
|
مدخل القسم رقم 3 | 16 | |
0x01EE(494)
|
مدخل القسم رقم 4 | 16 | |
0x01FE(510)
|
0x55
|
توقيع التمهيد [أ] | 2 |
0x01FF(511)
|
0xAA
| ||
| الحجم الإجمالي: 30 + 398 + 2 + 16 + 4×16 + 2 | 512 | ||
| عنوان | وصف | الحجم ( بايت ) | |
|---|---|---|---|
0x0000(0) |
منطقة كود التمهيد | 380 | |
0x017C(380)
|
0x5A
|
توقيع AST/NEC (اختياري؛ ليس لـ SpeedStor) | 2 |
0x017D(381)
|
0xA5
| ||
0x017E(382)
|
مدخل القسم رقم 8 | جدول التقسيم الموسع AST/NEC (اختياري؛ أيضًا لـ SpeedStor) |
16 |
0x018E(398)
|
مدخل القسم رقم 7 | 16 | |
0x019E(414)
|
مدخل القسم رقم 6 | 16 | |
0x01AE(430)
|
مدخل القسم رقم 5 | 16 | |
0x01BE(446)
|
مدخل القسم رقم 4 | جدول التقسيم (للأقسام الأساسية) |
16 |
0x01CE(462)
|
مدخل القسم رقم 3 | 16 | |
0x01DE(478)
|
مدخل القسم رقم 2 | 16 | |
0x01EE(494)
|
مدخل القسم رقم 1 | 16 | |
0x01FE(510)
|
0x55
|
توقيع التمهيد [أ] | 2 |
0x01FF(511)
|
0xAA
| ||
| الحجم الإجمالي: 380 + 2 + 4×16 + 4×16 + 2 | 512 | ||
| عنوان | وصف | الحجم ( بايت ) | |
|---|---|---|---|
0x0000(0) |
منطقة كود التمهيد | 252 | |
0x00FC(252)
|
0xAA
|
توقيع DM (اختياري) | 2 |
0x00FD(253)
|
0x55
| ||
0x00FE(254)
|
إدخال القسم | جدول التقسيم الموسع DM (اختياري) |
16 |
0x010E(270)
|
إدخال القسم | 16 | |
0x011E(286)
|
إدخال القسم | 16 | |
0x012E(302)
|
إدخال القسم | 16 | |
0x013E(318)
|
إدخال القسم | 16 | |
0x014E(334)
|
إدخال القسم | 16 | |
0x015E(350)
|
إدخال القسم | 16 | |
0x016E(366)
|
إدخال القسم | 16 | |
0x017E(382)
|
إدخال القسم | 16 | |
0x018E(398)
|
إدخال القسم | 16 | |
0x019E(414)
|
إدخال القسم | 16 | |
0x01AE(430)
|
إدخال القسم | 16 | |
0x01BE(446)
|
مدخل القسم رقم 1 | جدول التقسيم (للأقسام الأساسية) |
16 |
0x01CE(462)
|
مدخل القسم رقم 2 | 16 | |
0x01DE(478)
|
مدخل القسم رقم 3 | 16 | |
0x01EE(494)
|
مدخل القسم رقم 4 | 16 | |
0x01FE(510)
|
0x55
|
توقيع التمهيد [أ] | 2 |
0x01FF(511)
|
0xAA
| ||
| الحجم الإجمالي: 252 + 2 + 12×16 + 4×16 + 2 | 512 | ||
إدخالات جدول التقسيم
| الإزاحة (بايت) |
طول الحقل |
وصف | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x00 | 1 بايت | الحالة أو محرك الأقراص الفعلي (المجموعة 7 مخصصة للنشاط أو قابلية التمهيد، وتقبل أقراص MBR القديمة فقط 0x80 ، و0x00 تعني غير نشط، و 0x01 – 0x7F تعني غير صالح) [ج] | ||||||||||||||||||
| 0x01 | 3 بايت | عنوان CHS للقطاع المطلق الأول في القسم. [d] يتم وصف التنسيق بثلاثة بايتات، راجع الصفوف الثلاثة التالية. | ||||||||||||||||||
| 0x01 | 1 بايت |
| ||||||||||||||||||
| 0x02 | 1 بايت |
| ||||||||||||||||||
| 0x03 | 1 بايت |
| ||||||||||||||||||
| 0x04 | 1 بايت | نوع القسم [14] | ||||||||||||||||||
| 0x05 | 3 بايت | عنوان CHS للقطاع المطلق الأخير في القسم. [d] يتم وصف التنسيق بثلاثة بايتات، راجع الصفوف الثلاثة التالية. | ||||||||||||||||||
| 0x05 | 1 بايت |
| ||||||||||||||||||
| 0x06 | 1 بايت |
| ||||||||||||||||||
| 0x07 | 1 بايت |
| ||||||||||||||||||
| 0x08 | 4 بايت | LBA للقطاع المطلق الأول في القسم [f] | ||||||||||||||||||
| 0x0ج | 4 بايت | عدد القطاعات في القسم [g] | ||||||||||||||||||
تعد جداول التقسيم من الآثار المترتبة على تقنية القرص الصلب من عصر PC XT ، وهي تقسم وسيط التخزين باستخدام وحدات الأسطوانات والرؤوس والقطاعات ( عنونة CHS ). لم تعد هذه القيم تتوافق مع أسمائها في محركات الأقراص الحديثة، فضلاً عن كونها غير ذات صلة بالأجهزة الأخرى مثل محركات الأقراص ذات الحالة الصلبة ، والتي لا تحتوي فعليًا على أسطوانات أو رؤوس.
في مخطط CHS، تبدأ مؤشرات القطاعات (تقريبًا) دائمًا بالقطاع 1 بدلاً من القطاع 0 حسب الاتفاقية، وبسبب خطأ في جميع إصدارات MS-DOS/PC DOS حتى الإصدار 7.10، يقتصر عدد الرؤوس عمومًا على 255 [h] بدلاً من 256. عندما يكون عنوان CHS كبيرًا جدًا بحيث لا يتناسب مع هذه الحقول، يتم استخدام المجموعة (1023، 254، 63) عادةً اليوم، على الرغم من أنه في الأنظمة الأقدم، ومع أدوات القرص الأقدم، غالبًا ما يتم لف قيمة الأسطوانة حول modulo حاجز CHS بالقرب من 8 جيجابايت، مما يتسبب في الغموض ومخاطر تلف البيانات. (إذا كان الموقف يتضمن "MBR وقائيًا" على قرص به GPT، فإن مواصفات واجهة البرامج الثابتة القابلة للتوسيع من Intel تتطلب استخدام المجموعة (1023، 255، 63)) يتم تسجيل قيمة الأسطوانة المكونة من 10 بتات في بايتين لتسهيل إجراء المكالمات إلى روتينات الوصول إلى قرص BIOS INT 13h الأصلية/القديمة ، حيث تم تقسيم 16 بتًا إلى أجزاء قطاعية وأسطوانية، وليس على حدود البايتات. [13]
نظرًا لحدود عنونة CHS، [16] [17] تم إجراء انتقال إلى استخدام LBA، أو عنونة الكتلة المنطقية . كل من طول القسم وعنوان بداية القسم عبارة عن قيم قطاع مخزنة في إدخالات جدول القسم بكميات 32 بت. اعتاد أن يُعتبر حجم القطاع ثابتًا عند 512 (2 9 ) بايت، وكان لمجموعة واسعة من المكونات المهمة بما في ذلك الشرائح وقطاعات التمهيد وأنظمة التشغيل ومحركات قواعد البيانات وأدوات التقسيم وأدوات النسخ الاحتياطي ونظام الملفات والبرامج الأخرى هذه القيمة مبرمجة بشكل ثابت. منذ نهاية عام 2009، أصبحت محركات الأقراص التي تستخدم قطاعات بحجم 4096 بايت ( 4Kn أو التنسيق المتقدم ) متاحة، على الرغم من أن حجم القطاع لبعض هذه المحركات لا يزال يُبلغ عنه على أنه 512 بايت لنظام المضيف من خلال التحويل في البرامج الثابتة للقرص الصلب ويشار إليه بمحركات محاكاة 512 ( 512e ).
نظرًا لأن عناوين الكتل والأحجام مخزنة في جدول أقسام MBR باستخدام 32 بت، فإن الحجم الأقصى، بالإضافة إلى أعلى عنوان بداية، للقسم الذي يستخدم محركات تحتوي على قطاعات بحجم 512 بايت (فعلية أو محاكاة) لا يمكن أن يتجاوز 2 تيرابايت −512 بايت (2 199 023 255 040 بايت أو4 294 967 295 (2 32 −1) قطاع × 512 (2 9 ) بايت لكل قطاع). [1] كان تخفيف هذا القيد على السعة أحد الدوافع الرئيسية لتطوير GPT.
نظرًا لأن معلومات التقسيم مخزنة في جدول تقسيم MBR باستخدام عنوان كتلة بداية وطول، فقد يكون من الممكن نظريًا تعريف الأقسام بطريقة تجعل المساحة المخصصة لقرص به قطاعات 512 بايت تعطي حجمًا إجماليًا يقترب من 4 تيرابايت، إذا كانت جميع الأقسام باستثناء قسم واحد تقع أسفل حد 2 تيرابايت وتم تعيين القسم الأخير على أنه يبدأ عند أو بالقرب من الكتلة 2 32 −1 وتحديد الحجم بما يصل إلى 2 32 −1، وبالتالي تحديد قسم يتطلب 33 بتًا بدلاً من 32 بتًا للوصول إلى عنوان القطاع. ومع ذلك، في الممارسة العملية، تدعم أنظمة التشغيل الممكّنة لـ LBA-48 فقط، بما في ذلك Linux وFreeBSD وWindows 7 [18] التي تستخدم عناوين قطاعات 64 بت داخليًا هذا بالفعل. نظرًا لقيود مساحة التعليمات البرمجية وطبيعة جدول أقسام MBR لدعم 32 بت فقط، فإن قطاعات التمهيد، حتى إذا تم تمكينها لدعم LBA-48 بدلاً من LBA-28 ، غالبًا ما تستخدم حسابات 32 بت، ما لم تكن مصممة خصيصًا لدعم نطاق العنوان الكامل لـ LBA-48 أو كانت مخصصة للتشغيل على منصات 64 بت فقط. سيؤدي أي رمز تمهيد أو نظام تشغيل يستخدم عناوين قطاعات 32 بت داخليًا إلى التفاف العناوين حول الوصول إلى هذا القسم وبالتالي يؤدي إلى تلف خطير للبيانات في جميع الأقسام.
بالنسبة للأقراص التي تقدم حجم قطاع بخلاف 512 بايت، مثل محركات الأقراص الخارجية USB ، فهناك قيود أيضًا. يؤدي حجم قطاع 4096 إلى زيادة ثمانية أضعاف في حجم القسم الذي يمكن تعريفه باستخدام MBR، مما يسمح بأقسام تصل إلى 16 تيرا بايت (2 32 × 4096 بايت) في الحجم. [19] تدعم إصدارات Windows الأحدث من Windows XP أحجام القطاعات الأكبر، بالإضافة إلى Mac OS X، وقد دعم Linux أحجام القطاعات الأكبر منذ 2.6.31 [20] أو 2.6.32، [21] ولكن المشكلات المتعلقة بأدوات تحميل التمهيد وأدوات التقسيم وتنفيذات BIOS للكمبيوتر تقدم بعض القيود، [22] لأنها غالبًا ما تكون مبرمجة لحجز 512 بايت فقط لمخازن القطاعات، مما يتسبب في استبدال الذاكرة بأحجام القطاعات الأكبر. قد يتسبب هذا أيضًا في سلوك غير متوقع، وبالتالي يجب تجنبه عندما تكون التوافقية والتوافق مع المعايير مشكلة.
عندما يتم تقسيم جهاز تخزين البيانات باستخدام مخطط GPT، فإن سجل التمهيد الرئيسي سيظل يحتوي على جدول أقسام، ولكن الغرض الوحيد منه هو الإشارة إلى وجود GPT ومنع برامج المرافق التي تفهم مخطط جدول أقسام MBR فقط من إنشاء أي أقسام في ما قد تراه بخلاف ذلك كمساحة خالية على القرص، وبالتالي محو GPT عن طريق الخطأ.
تمهيد النظام
في أجهزة الكمبيوتر المتوافقة مع IBM PC ، يقوم برنامج التمهيد الثابت (الموجود داخل BIOS ROM ) بتحميل وتنفيذ سجل التمهيد الرئيسي. [23] استخدم PC /XT (النوع 5160) معالج Intel 8088 الدقيق. وللحفاظ على التوافق، تبدأ جميع أنظمة بنية BIOS x86 بالمعالج الدقيق في وضع تشغيل يشار إليه بالوضع الحقيقي . يقرأ BIOS سجل التمهيد الرئيسي من جهاز التخزين إلى الذاكرة الفعلية ، ثم يوجه المعالج الدقيق إلى بداية رمز التمهيد. سيحول BIOS المعالج إلى الوضع الحقيقي، ثم يبدأ في تنفيذ برنامج سجل التمهيد الرئيسي، وبالتالي من المتوقع أن تحتوي بداية سجل التمهيد الرئيسي على رمز آلة في الوضع الحقيقي . [23]
نظرًا لأن روتين تمهيد BIOS يقوم بتحميل وتشغيل قطاع واحد فقط من القرص الفعلي، فإن وجود جدول الأقسام في MBR مع رمز التمهيد يبسط تصميم برنامج MBR. يحتوي على برنامج صغير يقوم بتحميل سجل تمهيد المجلد (VBR) للقسم المستهدف. ثم يتم تمرير التحكم إلى هذا الرمز، وهو المسؤول عن تحميل نظام التشغيل الفعلي. تُعرف هذه العملية باسم التحميل المتسلسل .
تم إنشاء برامج كود MBR الشهيرة لتشغيل أنظمة تشغيل الكمبيوتر DOS و MS-DOS ، ولا يزال استخدام كود تمهيد مشابه قيد الاستخدام على نطاق واسع. تتوقع قطاعات التمهيد هذه FDISKأن يكون مخطط جدول التقسيم قيد الاستخدام وتفحص قائمة الأقسام في جدول التقسيم المضمن في MBR للعثور على القسم الوحيد الذي تم وضع علامة عليه بالعلامة النشطة . [24] ثم تقوم بتحميل وتشغيل سجل تمهيد المجلد (VBR) للقسم النشط.
توجد تطبيقات بديلة لرموز التمهيد، بعضها مثبت بواسطة مديري التمهيد ، والتي تعمل بطرق متنوعة. يقوم بعض رموز MBR بتحميل رمز إضافي لمدير التمهيد من المسار الأول للقرص، والذي يفترض أنه مساحة "خالية" غير مخصصة لأي قسم من أقسام القرص، وينفذه. قد يتفاعل برنامج MBR مع المستخدم لتحديد القسم الذي يجب أن يتم التمهيد عليه، وقد ينقل التحكم إلى MBR لمحرك أقراص مختلف. تحتوي رموز MBR الأخرى على قائمة بمواقع القرص (غالبًا ما تتوافق مع محتويات الملفات في نظام الملفات ) لبقية رمز مدير التمهيد للتحميل والتنفيذ. (يعتمد الأول على سلوك غير عالمي عبر جميع أدوات تقسيم القرص، وأبرزها تلك التي تقرأ وتكتب ملفات GPT. يتطلب الأخير تحديث القائمة المضمنة لمواقع القرص عند إجراء تغييرات من شأنها نقل بقية الرمز.)
في الأجهزة التي لا تستخدم معالجات x86 ، أو في أجهزة x86 التي تحتوي على برامج ثابتة غير BIOS مثل البرامج الثابتة المفتوحة أو البرامج الثابتة لواجهة البرامج الثابتة القابلة للتوسعة (EFI)، فإن هذا التصميم غير مناسب، ولا يتم استخدام MBR كجزء من تمهيد النظام. [25] بدلاً من ذلك، فإن برامج EFI الثابتة قادرة على فهم مخطط تقسيم GPT وتنسيق نظام الملفات FAT بشكل مباشر ، وتحميل وتشغيل البرامج المحفوظة كملفات في قسم نظام EFI . [26] سيتم إشراك MBR فقط بقدر ما قد يحتوي على جدول تقسيم لأغراض التوافق إذا تم استخدام مخطط جدول تقسيم GPT.
يوجد بعض أكواد استبدال MBR التي تحاكي عملية التمهيد الخاصة ببرنامج EFI الثابت، مما يجعل الأجهزة غير المزودة بـ EFI قادرة على التمهيد من الأقراص باستخدام مخطط تقسيم GPT. فهو يكتشف GPT، ويضع المعالج في وضع التشغيل الصحيح، ويحمل الكود المتوافق مع EFI من القرص لإكمال هذه المهمة.
هوية القرص

بالإضافة إلى كود التمهيد وجدول التقسيم، قد تحتوي سجلات التمهيد الرئيسية على توقيع قرص. هذه قيمة مكونة من 32 بتًا تهدف إلى تحديد وسيط القرص بشكل فريد (على عكس وحدة القرص - ليس بالضرورة أن يكون الاثنان متماثلين بالنسبة للأقراص الصلبة القابلة للإزالة).
تم تقديم توقيع القرص بواسطة إصدار Windows NT 3.5، ولكن يتم استخدامه الآن بواسطة العديد من أنظمة التشغيل، بما في ذلك إصدار Linux kernel 2.6 والإصدارات الأحدث. يمكن لأدوات Linux استخدام توقيع قرص NT لتحديد القرص الذي تم تمهيد الجهاز منه. [27]
يستخدم Windows NT (وأنظمة التشغيل Microsoft الأحدث) توقيع القرص كمؤشر لجميع الأقسام الموجودة على أي قرص متصل بالكمبيوتر ضمن نظام التشغيل هذا؛ يتم الاحتفاظ بهذه التوقيعات في مفاتيح سجل Windows ، في المقام الأول لتخزين التعيينات الدائمة بين أقسام القرص وأحرف محركات الأقراص. يمكن أيضًا استخدامها في ملفات BOOT.INI الخاصة بنظام Windows NT (على الرغم من أن معظمها لا تفعل ذلك)، لوصف موقع أقسام Windows NT (أو الأحدث) القابلة للتمهيد. [28] أحد المفاتيح (من بين العديد)، حيث تظهر توقيعات قرص NT في سجل Windows 2000/XP، هو:
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\
إذا كان توقيع القرص المخزن في MBR هو A8 E1 B9 D2 (بهذا الترتيب) وكان قسمه الأول يتوافق مع محرك الأقراص المنطقي C: في نظام التشغيل Windows، فإن البيانات الموجودة أسفل قيمة المفتاح ستكون:
REG_BINARY\DosDevices\C:
A8 E1 B9 D2 00 7E 00 00 00 00 00 00
يُقال إن أول أربعة بايتات هي توقيع القرص. (في مفاتيح أخرى، قد تظهر هذه البايتات بترتيب عكسي لتلك الموجودة في قطاع MBR.) ويتبع ذلك ثمانية بايتات أخرى، تشكل عددًا صحيحًا مكونًا من 64 بتًا، وفقًا لتدوين النهاية الصغيرة ، والتي تُستخدم لتحديد إزاحة البايت لهذا القسم. في هذه الحالة، يتوافق 00 7E مع القيمة السداسية عشرية 0x7E00 (32,256 ). بناءً على افتراض أن محرك الأقراص المعني يبلغ حجم قطاع يبلغ 512 بايتًا، فإن قسمة إزاحة البايت هذه على 512 ينتج عنها 63، وهو رقم القطاع الفعلي (أو LBA) الذي يحتوي على القطاع الأول من القسم (على عكس عدد القطاعات المستخدم في قيمة القطاعات في مجموعات CHS، والتي تحسب من واحد ، تبدأ القيمة المطلقة أو قيمة القطاع LBA في العد من الصفر ).
إذا كان هذا القرص يحتوي على قسم آخر بالقيم 00 F8 93 71 02 بعد توقيع القرص (تحت، على سبيل المثال، قيمة المفتاح )، فسوف يبدأ عند إزاحة البايت 0x00027193F800 (\DosDevices\D:10,495,457,280 )، وهو أيضًا أول بايت من القطاع المادي20,498,940 .
بدءًا من Windows Vista ، يتم تخزين توقيع القرص أيضًا في مخزن بيانات تكوين التمهيد (BCD)، وتعتمد عملية التمهيد عليه. [29] إذا تغير توقيع القرص، أو تعذر العثور عليه أو كان به تعارض، فلن يتمكن Windows من التمهيد. [30] ما لم يُجبر Windows على استخدام الجزء المتداخل من عنوان LBA لإدخال القسم النشط المتقدم كتوقيع قرص وهمي، فإن استخدام Windows يتعارض مع ميزة القسم النشط المتقدم في PTS-DOS 7 وDR-DOS 7.07، وخاصةً إذا كان رمز التمهيد الخاص بهما يقع خارج أول 8 جيجابايت من القرص، لذلك يجب استخدام عنونة LBA.
اعتبارات البرمجة
نشأ MBR في PC XT . [31] أجهزة الكمبيوتر المتوافقة مع IBM PC هي أجهزة صغيرة النهاية ، مما يعني أن المعالج يخزن القيم الرقمية التي تمتد على بايتين أو أكثر في الذاكرة، البايت الأقل أهمية أولاً. يعكس تنسيق MBR على الوسائط هذه الاتفاقية. وبالتالي، سيظهر توقيع MBR في محرر القرص على هيئة التسلسل 55 AA. [أ]
ستقوم تسلسلات التمهيد في BIOS بتحميل أول MBR صالح تجده في الذاكرة الفعلية للكمبيوتر عند العنوان 0x7C00 إلى 0x7FFF . [31] ستكون التعليمات الأخيرة التي يتم تنفيذها في كود BIOS عبارة عن "قفزة" إلى هذا العنوان من أجل توجيه التنفيذ إلى بداية نسخة MBR. التحقق الأساسي لمعظم أنظمة BIOS هو التوقيع عند الإزاحة 0x01FE ، على الرغم من أن منفذ BIOS قد يختار تضمين فحوصات أخرى، مثل التحقق من أن MBR يحتوي على جدول أقسام صالح بدون إدخالات تشير إلى قطاعات تتجاوز السعة المبلغ عنها للقرص.
بالنسبة إلى BIOS، فإن الأقراص القابلة للإزالة (مثل الأقراص المرنة) والأقراص الثابتة هي نفس الشيء بشكل أساسي. بالنسبة لأي منهما، يقرأ BIOS القطاع المادي الأول للوسائط في ذاكرة الوصول العشوائي عند العنوان المطلق 0x7C00 ، ويتحقق من التوقيع في آخر بايتين من القطاع المحمل، ثم، إذا تم العثور على التوقيع الصحيح، ينقل التحكم إلى البايت الأول من القطاع باستخدام تعليمة الانتقال (JMP). والتمييز الحقيقي الوحيد الذي يميز BIOS هو أنه (افتراضيًا، أو إذا لم يكن ترتيب التمهيد قابلاً للتكوين) يحاول التمهيد من أول قرص قابل للإزالة قبل محاولة التمهيد من أول قرص ثابت. من منظور BIOS، فإن عمل MBR الذي يقوم بتحميل سجل تمهيد وحدة التخزين في ذاكرة الوصول العشوائي هو نفس عمل سجل تمهيد وحدة تخزين القرص المرن الذي يقوم بتحميل كود الكائن لمحمل نظام التشغيل في ذاكرة الوصول العشوائي. في كلتا الحالتين، يقوم البرنامج الذي قام BIOS بتحميله بعمل تحميل نظام التشغيل بشكل متسلسل.
بينما يتوقع كود قطاع تمهيد MBR أن يتم تحميله على العنوان المادي 0x0000 : 0x7C00 ، [i] فإن كل الذاكرة من العنوان المادي 0x0000 : 0x0501 (العنوان 0x0000 : 0x0500 هو آخر عنوان يستخدمه BIOS Phoenix) [13] إلى 0x0000 : 0x7FFF ، [31] يتم تخفيفها لاحقًا إلى 0x0000 : 0xFFFF [32] (وأحيانًا [j] حتى 0x9000 : 0xFFFF ) - نهاية أول 640 كيلوبايت - متاحة في الوضع الحقيقي. [k] قد تساعد مكالمة مقاطعة BIOS في تحديد مقدار الذاكرة التي يمكن تخصيصها بأمان (بشكل افتراضي، تقرأ ببساطة حجم الذاكرة الأساسية بالكيلوبايت من المقطع :offset location 0x0040 : 0x0013 ، ولكن قد يتم ربطها ببرنامج ما قبل التمهيد المقيم الآخر مثل تراكبات BIOS أو كود RPL أو الفيروسات لتقليل مقدار الذاكرة المتوفرة المبلغ عنها من أجل منع برامج مرحلة التمهيد الأخرى مثل قطاعات التمهيد من الكتابة فوقها).
INT 12h
يتم حجز آخر 66 بايت من MBR الذي يبلغ حجمه 512 بايت لجدول الأقسام والمعلومات الأخرى، لذلك يجب أن يكون برنامج قطاع تمهيد MBR صغيرًا بما يكفي ليتناسب مع 446 بايت من الذاكرة أو أقل.
يقوم كود MBR بفحص جدول التقسيم، واختيار قسم مناسب، وتحميل البرنامج الذي سيقوم بالمرحلة التالية من عملية التمهيد، عادةً عن طريق الاستفادة من مكالمات BIOS INT 13h . يقوم كود تمهيد MBR بتحميل وتشغيل كود سجل تمهيد وحدة التخزين (المعتمد على محمل التمهيد أو نظام التشغيل) الموجود في بداية القسم "النشط". سيتناسب سجل تمهيد وحدة التخزين مع قطاع يبلغ طوله 512 بايت، ولكن من الآمن لكود MBR تحميل قطاعات إضافية لاستيعاب محملات التمهيد الأطول من قطاع واحد، بشرط ألا يقوموا بأي افتراضات حول حجم القطاع. في الواقع، يتوفر 1 كيلوبايت على الأقل من ذاكرة الوصول العشوائي (RAM) عند العنوان 0x7C00 في كل جهاز من فئة IBM XT وAT، لذا يمكن استخدام قطاع بحجم 1 كيلوبايت دون أي مشكلة. مثل MBR، يتوقع سجل تمهيد وحدة التخزين عادةً أن يتم تحميله عند العنوان 0x0000 : 0x7C00 . يرجع هذا إلى حقيقة مفادها أن تصميم سجل تمهيد وحدة التخزين نشأ على وسائط غير مقسمة، حيث يتم تحميل سجل تمهيد وحدة التخزين مباشرةً بواسطة إجراء تمهيد BIOS؛ وكما ذكرنا أعلاه، يعامل BIOS سجلات تمهيد وحدة التخزين الرئيسية وسجلات تمهيد وحدة التخزين (VBRs) [l] على نحو مماثل تمامًا. ونظرًا لأن هذا هو نفس الموقع الذي يتم فيه تحميل MBR، فإن إحدى المهام الأولى لـ MBR هي نقل نفسه إلى مكان آخر في الذاكرة. يتم تحديد عنوان النقل بواسطة MBR، ولكنه غالبًا ما يكون 0x0000 : 0x0600 (بالنسبة لكود MBR في MS-DOS/PC DOS وOS/2 وWindows) أو 0x0060 : 0x0000 (معظم سجلات تمهيد وحدة التخزين في DR-DOS). (على الرغم من أن كلا من هذه العناوين المجزأة يتم حلها إلى نفس عنوان الذاكرة الفعلية في الوضع الحقيقي، لكي يتمكن Apple Darwin من التشغيل، يجب نقل MBR إلى 0x0000 : 0x0600 بدلاً من 0x0060 : 0x0000 ، نظرًا لأن الكود يعتمد على مؤشر DS: SI إلى إدخال القسم الذي يوفره MBR، ولكنه يشير إليه بشكل خاطئ عبر 0x0000 : SI فقط. [33] ) من المهم عدم النقل إلى عناوين أخرى في الذاكرة لأن العديد من VBRs ستفترض تخطيط ذاكرة قياسي معين عند تحميل ملف التمهيد الخاص بها.
يتم استخدام حقل الحالة في سجل جدول الأقسام للإشارة إلى قسم نشط. ستسمح سجلات MBR المتوافقة مع المعايير بقسم واحد فقط تم وضع علامة عليه بأنه نشط واستخدام ذلك كجزء من فحص السلامة لتحديد وجود جدول أقسام صالح. ستعرض رسالة خطأ إذا تم وضع علامة على أكثر من قسم واحد بأنه نشط. لن تعامل بعض سجلات MBR غير القياسية هذا الأمر كحالة خطأ وستستخدم فقط القسم المحدد الأول في الصف.
تقليديًا، كانت القيم الأخرى بخلاف 0x00 (غير نشطة) و 0x80 (نشطة) غير صالحة وكان برنامج التمهيد يعرض رسالة خطأ عند مواجهتها. ومع ذلك، سمحت مواصفات BIOS Plug and Play ومواصفات تمهيد BIOS (BBS) للأجهزة الأخرى بأن تصبح قابلة للتمهيد أيضًا منذ عام 1994. [32] [34] وبالتالي، مع تقديم MS-DOS 7.10 (Windows 95B) والإصدارات الأحدث، بدأ MBR في التعامل مع بت المجموعة 7 كعلامة نشطة وأظهر رسالة خطأ للقيم 0x01 .. 0x7F فقط. واستمر في التعامل مع الإدخال كوحدة محرك مادية لاستخدامها عند تحميل VBR للقسم المقابل لاحقًا، وبالتالي قبول محركات التمهيد الأخرى بخلاف 0x80 على أنها صالحة، ومع ذلك، لم يستخدم MS-DOS هذا الامتداد بمفرده. لا يتسبب تخزين رقم محرك الأقراص الفعلي في جدول الأقسام عادةً في حدوث مشكلات تتعلق بالتوافق مع الإصدارات السابقة، حيث ستختلف القيمة عن 0x80 فقط على محركات الأقراص بخلاف المحرك الأول (والتي لم تكن قابلة للتمهيد من قبل على أي حال). ومع ذلك، حتى مع تمكين الأنظمة من التمهيد من محركات أقراص أخرى، فقد لا يزال الامتداد لا يعمل عالميًا، على سبيل المثال، بعد تغيير تعيين BIOS لمحركات الأقراص الفعلية عند إزالة محركات الأقراص أو إضافتها أو تبديلها. لذلك، وفقًا لمواصفات تمهيد BIOS (BBS)، [32] من الأفضل أن تقبل MBR الحديثة البت 7 كعلامة نشطة لتمرير قيمة DL التي قدمها BIOS في الأصل بدلاً من استخدام الإدخال في جدول الأقسام.
واجهة BIOS إلى MBR
يتم تحميل MBR في موقع الذاكرة 0x0000 : 0x7C00 مع إعداد سجلات وحدة المعالجة المركزية التالية عندما يقوم محمل التمهيد السابق (عادةً IPL في BIOS) بتمرير التنفيذ إليه بالانتقال إلى 0x0000 : 0x7C00 في الوضع الحقيقي لوحدة المعالجة المركزية .
- تستخدم بعض أنظمة BIOS الخاصة بأجهزة Compaq بشكل خاطئ 0x07C0 : 0x0000 بدلاً من ذلك. وفي حين يؤدي هذا إلى نفس الموقع في ذاكرة الوضع الحقيقي، إلا أنه ليس معياريًا ويجب تجنبه، حيث إن كود MBR الذي يفترض قيمًا معينة للسجل أو غير المكتوب بحيث يمكن نقله قد لا يعمل بخلاف ذلك.
- DL = وحدة محرك التمهيد ( الأقراص الثابتة / محركات الأقراص القابلة للإزالة : 0x80 = الأولى، 0x81 = الثانية، ...، 0xFE ؛ الأقراص المرنة / الأقراص المرنة الفائقة : 0x00 = الأولى، 0x01 = الثانية، ...، 0x7E ؛ القيم 0x7F و 0xFF محجوزة لمحركات أقراص ROM / البعيدة ولا يجب استخدامها على القرص). [35] [36]
- تدعم أنظمة IBM BIOSes DL وكذلك معظم أنظمة BIOS الأخرى. ومن المعروف أن BIOS الخاص بـ Toshiba T1000 لا يدعم هذا بشكل صحيح، وتستخدم بعض أنظمة BIOS القديمة Wyse 286 قيم DL أكبر من أو تساوي 2 للأقراص الثابتة (وبالتالي تعكس أرقام محرك الأقراص المنطقية في نظام DOS بدلاً من أرقام محرك الأقراص الفعلية في BIOS). عادةً ما تحصل أقراص USB التي تم تكوينها كمحركات قابلة للإزالة على تعيين DL = 0x80 و 0x81 وما إلى ذلك. ومع ذلك، قدمت بعض أنظمة BIOS النادرة هذه القيم بشكل خاطئ تحت DL = 0x01 ، تمامًا كما لو كانت مهيأة كأقراص مرنة فائقة.
- يقوم BIOS المتوافق مع المعايير بتعيين أرقام أكبر أو تساوي 0x80 حصريًا للأقراص الثابتة / محركات الأقراص القابلة للإزالة، وعادةً ما يتم تمرير القيم 0x80 و 0x00 فقط كوحدات محرك أقراص مادية أثناء التمهيد. وفقًا للاتفاقية، يتم تقسيم الأقراص الثابتة / محركات الأقراص القابلة للإزالة فقط، وبالتالي، فإن قيمة DL الوحيدة التي يمكن لسجل MBR رؤيتها تقليديًا كانت 0x80 . على أي حال، تم ترميز العديد من سجلات MBR لتجاهل قيمة DL والعمل بقيمة ثابتة (عادةً 0x80 ).
- تسمح مواصفات BIOS Plug and Play ومواصفات تمهيد BIOS (BBS) للأجهزة الأخرى بأن تصبح قابلة للتمهيد أيضًا منذ عام 1994. [32] [34] توصي الأخيرة بأن يستخدم كود MBR وVBR DL بدلاً من الإعدادات الافتراضية المضمنة داخليًا. [32] سيضمن هذا أيضًا التوافق مع العديد من التعيينات غير القياسية (انظر الأمثلة أعلاه)، بقدر ما يتعلق الأمر بكود MBR.
- قد تحتوي أقراص CD-ROM القابلة للتمهيد وفقًا لمواصفات El Torito على صور أقراص مثبتة بواسطة BIOS لتظهر كأقراص مرنة أو أقراص مرنة فائقة على هذه الواجهة. يمكن أيضًا استخدام قيم DL 0x00 و 0x01 بواسطة خدمات تمديد واجهة وقت تشغيل المنطقة المحمية (PARTIES) وامتدادات BIOS لمجموعة الحوسبة الموثوقة (TCG) في الوضع الموثوق للوصول إلى أقسام PARTIES غير المرئية، وملفات صور الأقراص الموجودة عبر سجل تمديد هندسة التمهيد (BEER) في آخر قطاع مادي من منطقة المضيف المحمية (HPA) للقرص الصلب . على الرغم من تصميمه لمحاكاة الأقراص المرنة أو الأقراص المرنة الفائقة، فإن كود MBR الذي يقبل قيم DL غير القياسية هذه يسمح باستخدام صور الوسائط المقسمة على الأقل في مرحلة التمهيد لأنظمة التشغيل.
- بت DH 5 = 0: جهاز مدعوم من خلال INT 13h ؛ وإلا: لا أهتم (يجب أن يكون صفرًا). يدعم بعض BIOSes IBM DH.
- قد تحتوي بعض السجلات الأخرى عادةً أيضًا على قيم سجلات معينة (DS، ES، SS = 0x0000 ؛ SP = 0x0400 ) مع أنظمة BIOS الأصلية لـ IBM ROM، ولكن لا يمكن الاعتماد على هذا، حيث قد تستخدم أنظمة BIOS الأخرى قيمًا أخرى. لهذا السبب، لم يستفد كود MBR من IBM وMicrosoft وDigital Research وما إلى ذلك منه مطلقًا. قد يؤدي الاعتماد على قيم السجلات هذه في قطاعات التمهيد أيضًا إلى حدوث مشكلات في سيناريوهات التمهيد المتسلسل.
ستوفر الأنظمة التي تدعم BIOS أو BBS المزودة بنظام Plug-and-Play مؤشرًا إلى بيانات PnP بالإضافة إلى DL: [32] [34]
- تسمح هذه المعلومات لمحمل التمهيد في MBR (أو VBR، إذا تم تمريرها) بالتفاعل بشكل نشط مع BIOS أو تراكب BIOS PnP / BBS المقيم في الذاكرة من أجل تكوين ترتيب التمهيد، وما إلى ذلك، ومع ذلك، يتم تجاهل هذه المعلومات بواسطة معظم MBRs وVBRs القياسية. من الناحية المثالية، يتم تمرير ES:DI إلى VBR لاستخدامه لاحقًا بواسطة نظام التشغيل المحمل، ولكن أنظمة التشغيل التي تدعم PnP عادةً ما يكون لديها أيضًا طرق احتياطية لاسترداد نقطة دخول BIOS PnP لاحقًا حتى لا تعتمد معظم أنظمة التشغيل على هذا.
واجهة MBR إلى VBR
حسب الاتفاقية، يقوم MBR المتوافق مع المعيار بتمرير التنفيذ إلى VBR محمل بنجاح، محمل في موقع الذاكرة 0x0000 : 0x7C00 ، بالانتقال إلى 0x0000 : 0x7C00 في الوضع الحقيقي لوحدة المعالجة المركزية مع الاحتفاظ بالسجلات التالية أو إعدادها على وجه التحديد:
- CS:IP = 0x0000 : 0x7C00 [m] (ثابت)
- DL = وحدة محرك التمهيد (انظر أعلاه)
- لا تمرر سجلات MBR في أنظمة MS-DOS 2.0–7.0 / PC DOS 2.0–6.3 قيمة DL التي تم استلامها عند الإدخال، ولكنها تستخدم بدلاً من ذلك إدخال حالة التمهيد في إدخال جدول الأقسام للقسم الأساسي المحدد كوحدة محرك تمهيد مادية. نظرًا لأن هذا هو، حسب الاتفاقية، 0x80 في معظم جداول أقسام MBR، فلن يتغير الأمر إلا إذا حاول BIOS التمهيد من جهاز مادي بخلاف القرص الثابت الأول / محرك الأقراص القابل للإزالة في الصف. هذا هو أيضًا السبب في عدم تمكن أنظمة التشغيل هذه من التمهيد من قرص ثابت ثانٍ، إلخ. تسمح بعض أدوات FDISK أيضًا بتمييز الأقسام الموجودة على الأقراص الثانوية على أنها "نشطة". في هذه الحالة، مع العلم أن أنظمة التشغيل هذه لا يمكنها التمهيد من محركات أقراص أخرى على أي حال، يستمر بعضها في استخدام القيمة الثابتة التقليدية 0x80 كعلامة نشطة، بينما يستخدم البعض الآخر القيم المقابلة لوحدة محرك الأقراص المادية المعينة حاليًا ( 0x81 ، 0x82 )، مما يسمح بالتمهيد من محركات أقراص أخرى، على الأقل من الناحية النظرية. في الواقع، سيعمل هذا مع العديد من أكواد MBR، والتي تأخذ بتًا محددًا 7 من إدخال حالة التمهيد كعلامة نشطة بدلاً من الإصرار على 0x80 ، ومع ذلك، فإن سجلات MBR الخاصة بـ MS-DOS/PC DOS مُبرمجة لقبول القيمة الثابتة 0x80 فقط. سيؤدي تخزين رقم محرك الأقراص الفعلي في جدول الأقسام أيضًا إلى حدوث مشكلات، عندما يتغير تعيين BIOS لمحركات الأقراص الفعلية، على سبيل المثال عند إزالة محركات الأقراص أو إضافتها أو تبديلها. لذلك، بالنسبة لسجل MBR العادي الذي يقبل البت 7 كعلامة نشطة وبخلاف ذلك يستخدم ويمرر إلى VBR فقط، فإن قيمة DL التي يوفرها BIOS في الأصل تسمح بأقصى قدر من المرونة. لقد تغيرت سجلات MBR الخاصة بـ MS-DOS 7.1–8.0 لمعاملة البت 7 كعلامة نشطة وأي قيم 0x01 .. 0x7F على أنها غير صالحة، لكنها لا تزال تأخذ وحدة محرك الأقراص الفعلية من جدول الأقسام بدلاً من استخدام قيمة DL التي يوفرها BIOS. تعامل MBRs الممتدة في DR-DOS 7.07 البت 7 كعلم نشط وتستخدم وتمرر قيمة BIOS DL بشكل افتراضي (بما في ذلك القيم غير القياسية 0x00 .. 0x01 المستخدمة من قبل بعض BIOSes أيضًا للوسائط المقسمة)، ولكنها توفر أيضًا كتلة تكوين NEWLDR خاصة لدعم طرق التمهيد البديلة بالتزامن مع LOADER وREAL/32 بالإضافة إلى تغيير سلوك التفاصيل الخاص بـ MBR، بحيث يمكنه أيضًا العمل مع قيم محرك الأقراص المستردة من جدول الأقسام (مهم بالتزامن مع LOADER وAAPs، راجع إزاحة NEWLDR )، وترجمة وحدات محرك Wyse غير القياسية 0x02 .. 0x7F إلى 0x80 .. 0xFD ، وإصلاح قيمة محرك الأقراص بشكل اختياري (المخزنة عند الإزاحة في كتلة معلمات BIOS الممتدة (EBPB) أو عند إزاحة القطاع
0x000C0x0190x01FD) في VBRs المحملة قبل تمرير التنفيذ إليها (انظر إزاحة NEWLDR0x0014) - وهذا يسمح أيضًا لمحملات التمهيد الأخرى باستخدام NEWLDR كمحمل سلسلة، وتكوين صورته في الذاكرة أثناء التنقل و"نفق" تحميل VBRs أو EBRs أو AAPs من خلال NEWLDR.
- يجب أن يتم حفظ محتويات DH وES:DI بواسطة MBR لدعم التوصيل والتشغيل الكامل (انظر أعلاه)، ومع ذلك، فإن العديد من MBRs، بما في ذلك تلك الخاصة بـ MS-DOS 2.0–8.0 / PC DOS 2.0–6.3 وWindows NT/2000/XP، لا يتم حفظها. (وهذا ليس مفاجئًا، نظرًا لأن إصدارات DOS هذه تسبق معيار التوصيل والتشغيل BIOS، ولم تشير المعايير والاتفاقيات السابقة إلى أي متطلبات للحفاظ على أي سجل بخلاف DL.) تقوم بعض MBRs بتعيين DH إلى 0.
يقوم كود MBR بتمرير معلومات إضافية إلى VBR في العديد من التنفيذات:
- DS:SI = يشير إلى إدخال جدول أقسام MBR المكون من 16 بايت (في MBR المعاد وضعه) المقابل لـ VBR المنشط. يعتمد PC-MOS 5.1 على هذا للتمهيد إذا لم يتم وضع علامة على أي قسم في جدول الأقسام على أنه قابل للتمهيد. بالاقتران مع LOADER، يستخدم قطاعات التمهيد Multiuser DOS و REAL/32 هذا لتحديد موقع قطاع التمهيد للقسم النشط (أو محمل تمهيد آخر مثل IBMBIO.LDR في موضع ثابت على القرص) إذا تعذر العثور على ملف التمهيد (LOADER.SYS). يستخدم PTS-DOS 6.6 و S/DOS 1.0 هذا بالاقتران مع ميزة Advanced Active Partition (AAP) الخاصة بهما. بالإضافة إلى دعم LOADER وAAPs، يمكن لـ DR-DOS 7.07 استخدام هذا لتحديد طريقة الوصول INT 13h الضرورية عند استخدام رمز VBR المزدوج CHS/LBA الخاص به وسيقوم بتحديث حقل محرك التمهيد/علم الحالة في إدخال القسم وفقًا لقيمة DL المستخدمة بشكل فعال. تعتمد أجهزة تحميل التشغيل الخاصة بداروين (أجهزة تحميل التشغيل الخاصة بشركة أبل
boot1h،boot1uوأجهزة تحميل التشغيل الخاصة بشركة ديفيد إليوتboot1fat32) على هذا المؤشر أيضًا، ولكنها لا تستخدم DS بالإضافة إلى ذلك، بل تفترض أنه مضبوط على 0x0000 بدلاً من ذلك. [33] وهذا من شأنه أن يسبب مشاكل إذا كان هذا الافتراض غير صحيح. يوفر كود MBR الخاص بأنظمة التشغيل OS/2، وMS-DOS من 2.0 إلى 8.0، وPC DOS من 2.0 إلى 7.10، وWindows NT/2000/XP نفس هذه الواجهة أيضًا، على الرغم من أن هذه الأنظمة لا تستخدمها. لم تعد أجهزة تحميل التشغيل الخاصة بأنظمة التشغيل Windows Vista/7 توفر مؤشر DS:SI هذا. وفي حين تعتمد بعض الامتدادات فقط على إدخال جدول الأقسام المكون من 16 بايتًا نفسه، فقد تتطلب امتدادات أخرى وجود جدول الأقسام المكون من 4 (أو 5 إدخالات) بالكامل أيضًا. - DS: BP = يشير اختياريًا إلى إدخال جدول أقسام MBR المكون من 16 بايتًا (في MBR المعاد وضعه) المقابل لـ VBR المنشط. هذا مماثل للمؤشر الذي يوفره DS:SI (انظر أعلاه) ويتم توفيره بواسطة MS-DOS 2.0–8.0 وPC DOS 2.0–7.10 وWindows NT/2000/XP/Vista/7 MBRs. ومع ذلك، لا تدعمه معظم MBRs التابعة لجهات خارجية.
في نظام DR-DOS 7.07، قد يتم توفير واجهة ممتدة بشكل اختياري بواسطة MBR الممتد وبالاشتراك مع LOADER:
- AX = توقيع سحري يشير إلى وجود امتداد NEWLDR هذا ( 0x0EDC )
- DL = وحدة محرك التمهيد (انظر أعلاه)
- DS:SI = يشير إلى إدخال جدول قسم MBR المكون من 16 بايت المستخدم (انظر أعلاه)
- ES: BX = بداية قطاع التمهيد أو صورة قطاع NEWLDR (عادةً 0x7C00 )
- CX = محجوز
بالتزامن مع GPT، يوصي اقتراح Enhanced Disk Drive Specification (EDD) 4 Hybrid MBR بتمديد آخر للواجهة: [37]
- EAX = 0x54504721 (" ")
!GPT - DL = وحدة محرك التمهيد (انظر أعلاه)
- DS:SI = يشير إلى بنية تسليم MBR هجينة، تتكون من إدخال جدول قسم MBR وهمي مكون من 16 بايت (مع تعيين جميع البتات باستثناء علم التمهيد عند الإزاحة 0x00 ونوع القسم عند الإزاحة 0x04 ) متبوعًا ببيانات إضافية. هذا متوافق جزئيًا مع امتداد DS:SI الأقدم الذي تمت مناقشته أعلاه، إذا كانت هذه الامتدادات الأقدم تتطلب إدخال القسم المكون من 16 بايت فقط، وليس جدول القسم بالكامل.
- نظرًا لأن أنظمة التشغيل الأقدم (بما في ذلك VBRs الخاصة بها) لا تدعم هذا الامتداد ولا يمكنها معالجة القطاعات التي تتجاوز حاجز 2 تيرابايت، فيجب على محمل التمهيد الهجين الممكّن بتقنية GPT محاكاة إدخال جدول قسم MBR الوهمي المكون من 16 بايت إذا كان قسم التمهيد يقع ضمن أول 2 تيرابايت. [n]
- ES:DI = يشير إلى "
$PnP" هيكل فحص التثبيت (انظر أعلاه)
تحرير واستبدال المحتويات
على الرغم من أنه من الممكن معالجة البايتات في قطاع MBR مباشرةً باستخدام محررات الأقراص المختلفة ، إلا أن هناك أدوات لكتابة مجموعات ثابتة من التعليمات البرمجية العاملة إلى MBR. منذ MS-DOS 5.0، FDISKتضمن البرنامج المفتاح /MBR، الذي سيعيد كتابة تعليمات MBR البرمجية. [38] في نظامي التشغيل Windows 2000 و Windows XP ، يمكن استخدام وحدة التحكم في الاسترداد لكتابة تعليمات برمجية MBR جديدة إلى جهاز تخزين باستخدام fixmbrأمرها. في نظامي التشغيل Windows Vista و Windows 7 ، يمكن استخدام بيئة الاسترداد لكتابة تعليمات برمجية MBR جديدة باستخدام BOOTREC /FIXMBRالأمر. يمكن أيضًا استخدام بعض أدوات الطرف الثالث لتحرير محتويات جداول الأقسام مباشرةً (دون الحاجة إلى أي معرفة بالنظام السداسي عشر أو محررات الأقراص/القطاعات)، مثل MBRWizard . [o]
ddهو أمر POSIX يستخدم عادة لقراءة أو كتابة أي موقع على جهاز تخزين، بما في ذلك MBR. في Linux ، يمكن استخدام ms-sys لتثبيت Windows MBR. تحتوي مشاريع GRUB و LILO على أدوات لكتابة التعليمات البرمجية إلى قطاع MBR، وهي grub-installو lilo -mbr. يمكن لوحدة التحكم التفاعلية GRUB Legacy الكتابة إلى MBR، باستخدام الأوامر setupو embed، ولكن GRUB2 يتطلب حاليًا grub-installالتشغيل من داخل نظام التشغيل.
تتمكن برامج مختلفة من إنشاء " نسخة احتياطية " لكل من جدول القسم الأساسي والأقسام المنطقية في القسم الممتد.
يمكن لنظام Linux sfdisk(على قرص SystemRescueCDsfdisk -d /dev/hda > hda.out ) حفظ نسخة احتياطية من جدول الأقسام الأساسي والممتد. فهو ينشئ ملفًا يمكن قراءته في محرر نصوص، أو يمكن استخدام هذا الملف بواسطة sfdisk لاستعادة جدول الأقسام الأساسي/الممتد. أحد أوامر النسخ الاحتياطي لجدول الأقسام هو و لاستعادته هو sfdisk /dev/hda < hda.out. من الممكن نسخ جدول الأقسام من قرص إلى آخر بهذه الطريقة، وهو أمر مفيد لإعداد النسخ المتطابق، لكن sfdisk ينفذ الأمر دون مطالبة/تحذيرات باستخدام sfdisk -d /dev/sda | sfdisk /dev/sdb. [39]
انظر أيضا
- سجل التمهيد الممتد (EBR)
- سجل تمهيد المجلد (VBR)
- جدول تقسيم GUID (GPT)
- قسم تمهيد BIOS
- قسم نظام EFI
- سجل تمديد هندسة التمهيد (BEER)
- منطقة محمية مضيفة (HPA)
- تراكب تكوين الجهاز (DCO)
- خريطة تقسيم Apple (APM)
- كتلة القرص الصلب Amiga (RDB)
- جدول محتويات المجلد (VTOC)
- تسمية قرص BSD
- محمل الإقلاع
- استنساخ القرص
- قرص الاسترداد
- جنو بارتد
- محاذاة القسم
ملحوظات
- ^ abcdefg التوقيع عند الإزاحة 0x01FE في قطاعات التمهيد هو ، أي 0x55 عند الإزاحة 0x01FE وعند الإزاحة 0x01FF . نظرًا لأنه يجب افتراض التمثيل ذي الطرف الصغير في سياق الأجهزة المتوافقة مع IBM PC ، فيمكن كتابة هذا على هيئة كلمة مكونة من 16 بت في البرامج الخاصة بمعالجات x86 (لاحظ ترتيب المبادلة)، بينما يجب كتابته كما هو الحال في البرامج الخاصة بهياكل وحدة المعالجة المركزية الأخرى باستخدام تمثيل ذي طرف كبير . نظرًا لأن هذا قد تم خلطه عدة مرات في الكتب وحتى في مستندات مرجعية أصلية من Microsoft، فإن هذه المقالة تستخدم التمثيل على القرص على أساس الإزاحة لكل بايت لتجنب أي سوء تفسير محتمل.
55hex AAhexAAhexAA55hex55AAhex - ^ لضمان سلامة كود محمل التمهيد MBR، من المهم عدم تغيير البايتات الموجودة في 0x00DA إلى 0x00DF أبدًا، إلا إذا كانت البايتات الستة تمثل قيمة 0 أو استبدال كود محمل التمهيد MBR بالكامل (باستثناء جدول التقسيم (الموسع)) في نفس الوقت أيضًا. يتضمن هذا إعادة تعيين هذه القيم إلى ما لم يكن الكود المخزن في MBR معروفًا. تلتزم Windows بهذه القاعدة.
00 00 00 00 00 00hex - ^ في الأصل، كانت قيم الحالة بخلاف 0x00 و 0x80 غير صالحة، ولكن سجلات التمهيد الرئيسية الحديثة تعامل البت 7 كعلم نشط وتستخدم هذا الإدخال لتخزين وحدة التمهيد المادية.
- ^ ab تقتصر حقول القطاع المبدئية على 1023+1 أسطوانة، و255+1 رأس، و63 قطاعًا؛ أما حقول القطاع النهائي فلها نفس القيود.
- ^ abcde النطاق للقطاع هو من 1 إلى 63؛ النطاق للأسطوانة هو من 0 إلى 1023؛ النطاق للرأس هو من 0 إلى 255 شاملاً. [13]
- ^ يتم استخدام هذا الإدخال بواسطة أنظمة التشغيل في ظروف معينة؛ في مثل هذه الحالات يتم تجاهل عناوين CHS. [15]
- ^ يتم حجز الصفر ولا يجب استخدامه في إدخالات القسم العادية. يستخدم هذا الإدخال بواسطة أنظمة التشغيل في ظروف معينة؛ في مثل هذه الحالات يتم تجاهل عناوين CHS. [15]
- ^ "اقتباس: [معظم] إصدارات MS-DOS (بما في ذلك MS-DOS 7 [Windows 95]) بها خطأ يمنع التشغيل على الأقراص الصلبة ذات 256 رأسًا (FFh)، لذا فإن العديد من أنظمة BIOS الحديثة توفر تعيينات بحد أقصى 255 رأسًا (FEh)." RBIL [40] [41]
- ^ العنوان : هو أول بايت من 32 كيلوبايت من ذاكرة الوصول العشوائي. كان تحميل برنامج التمهيد عند هذا العنوان هو السبب التاريخي وراء أن الحد الأدنى لحجم ذاكرة الوصول العشوائي لجهاز كمبيوتر IBM PC الأصلي (النوع 5150) كان 16 كيلوبايت، بينما كان 32 كيلوبايت مطلوبًا لخيار القرص في IBM XT.
0000hex7C00hex - ^ إذا كان هناك EBDA، فإن الذاكرة المتوفرة تنتهي أسفله.
- ^ قد تحتوي الأجهزة القديمة جدًا على أقل من 640 كيلوبايت ( أو 655,360 بايت) من الذاكرة. من الناحية النظرية، من المضمون وجود 32 كيلوبايت (حتى : ) أو 64 كيلوبايت (حتى : ) فقط؛ وهذا هو الحال على جهاز من فئة IBM XT مزود فقط بالحد الأدنى المطلوب من الذاكرة لنظام الأقراص.
A0000hex0000hex7FFFhex0000hexFFFFhex - ^ ينطبق هذا عندما يتعامل BIOS مع VBR، أي عندما يكون في القطاع المادي الأول من الوسائط غير المقسمة. بخلاف ذلك، لا علاقة لـ BIOS بـ VBR. تصميم VBRs هو كما هو لأن VBRs نشأت فقط على وسائط أقراص مرنة غير مقسمة - لم يكن لدى جهاز كمبيوتر IBM من النوع 5150 في الأصل خيار القرص الصلب - وتم تطوير نظام التقسيم باستخدام MBR لاحقًا كتكيف لوضع أكثر من وحدة تخزين، كل منها يبدأ بـ VBR الخاص به كما هو محدد بالفعل، على قرص ثابت واحد. من خلال هذا التصميم، يحاكي MBR بشكل أساسي روتين تمهيد BIOS، ويقوم بنفس الأشياء التي يقوم بها BIOS لمعالجة VBR هذا وإعداد بيئة التشغيل الأولية له تمامًا كما لو كان BIOS قد وجد VBR هذا على وسيط غير مقسم.
- ^ يتم تعيين IP كنتيجة للقفزة. يمكن تعيين CS إلى 0 إما عن طريق تنفيذ قفزة بعيدة أو عن طريق تحميل قيمة السجل صراحةً قبل تنفيذ قفزة قريبة. (من المستحيل أن يكتشف كود x86 الذي تم القفز إليه ما إذا كان قد تم استخدام قفزة قريبة أو بعيدة للوصول إليه [ما لم يمرر الكود الذي قام بالقفزة هذه المعلومات بشكل منفصل بطريقة ما]).
- ^ هذا ليس جزءًا من الاقتراح المذكور أعلاه، بل هو نتيجة طبيعية لظروف موجودة مسبقًا.
- ^ على سبيل المثال، محرر جدول الأقسام الخاص بـ PowerQuest (PTEDIT32.EXE)، والذي يعمل على أنظمة تشغيل Windows، لا يزال متاحًا هنا: موقع FTP الخاص بـ Symantec.
مراجع
- ^ abcd "دعم Windows للأقراص الصلبة التي تزيد سعتها عن 2 تيرابايت". 1. Microsoft . 2013-06-26. 2581408. مؤرشف من الأصل في 2017-04-27 . تم الاسترجاع 2013-08-28 .
- ^ abc Sedory, Daniel B. (2004). "The Mystery Bytes (or the Drive/Timestamp Bytes) of the MS-Windows 95B, 98, 98SE and Me Master Boot Record (MBR)". سجلات التمهيد الرئيسية . thestarman.pcministry.com. مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2012-08-25 .
- ^ لوكاس، مايكل (2003). OpenBSD المطلق: يونكس للبارانويا العملية. ص 73. ISBN 9781886411999تم الاسترجاع في 2011-04-09 .
يتضمن كل نظام تشغيل أدوات لإدارة أقسام MBR. لسوء الحظ، يتعامل كل نظام تشغيل مع أقسام MBR بطريقة مختلفة قليلاً.
- ^ نورتون، بيتر ؛ كلارك، سكوت (2002). كتاب بيتر نورتون الجديد داخل الكمبيوتر الشخصي. دار سامز للنشر . ص 360-361. رقم ISBN 0-672-32289-7.
- ^ جريفز، مايكل دبليو. (2004). دليل A+ لصيانة وإصلاح أجهزة الكمبيوتر . تومسون ديلمار. ص. 276. ISBN 1-4018-5230-0.
- ^ أندروز، جان (2003). الترقية والإصلاح مع جان أندروز. دورة تومسون للتكنولوجيا. ص 646. ISBN 1-59200-112-2.
- ^ Boswell, William (2003). Inside Windows Server 2003 . Addison-Wesley Professional . ص. 13. ISBN 0-7357-1158-5.
- ^ سميث، رودريك دبليو. (2000). دليل تكوين التمهيد المتعدد. دار نشر كيو . ص 260-261. رقم ISBN 0-7897-2283-6.
- ^ Brouwer, Andries Evert (2004-04-22) [2000]. "خصائص جداول التقسيم". أنواع التقسيم . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2017-08-24 .
يكتب Matthias [R.] Paul: "[…]
PTS-DOS
[يستخدم] إدخال قسم خامس خاص أمام الإدخالات الأربعة الأخرى في MBR وكود تمهيد MBR المقابل الذي يتوافق مع AAP. [...]"
- ^ Brouwer, Andries Evert (2004-04-22) [2000]. "خصائص جداول التقسيم". أنواع التقسيم . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2017-08-24 .
بعض أنظمة OEM، مثل AST DOS (النوع
) و NEC DOS (النوع
) كان لديها 8 بدلاً من 4 إدخالات تقسيم في قطاعات MBR الخاصة بها. (Matthias R. Paul).
(ملاحظة: جداول أقسام NEC MS-DOS 3.30 و AST MS-DOS التي تحتوي على ثمانية إدخالات تسبقها توقيع عند الإزاحة 0x017C .)14hex24hexA55Ahex - ^ Sedory, Daniel B. (2007-05-18) [2003]. "Notes on the Differences in one OEM version of the DOS 3.30 MBR". Master Boot Records . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2017-08-24 .
عندما أضفنا أقسامًا إلى جدول NEC هذا، تم وضع أول قسم عند الإزاحات من
0x01EE
إلى
0x01FD
وتمت إضافة الإدخال التالي فوقه مباشرةً. لذا، يتم إدراج الإدخالات وإدراجها بشكل عكسي من جدول عادي. وبالتالي، عند النظر إلى مثل هذا الجدول باستخدام محرر أقراص أو أداة سرد الأقسام، فإنه سيُظهر الإدخال الأول في جدول NEC المكون من ثمانية إدخالات باعتباره الإدخال الأخير (الإدخال الرابع) في جدول أقسام عادي.
(ملاحظة: يعرض جدول أقسام مكون من 8 إدخالات والمكان الذي يختلف فيه رمز التمهيد الخاص به عن MS-DOS 3.30.)
- ^ "Partition Table". osdev.org. 2017-03-18 [2007-03-06]. مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع 2017-08-24 .
- ^ abc نظام BIOS لأجهزة الكمبيوتر IBM PC/XT/AT والمتوافقة معها . مرجع فني من Phoenix . Addison-Wesley . 1989. ISBN 0-201-51806-6.
- ^ Brouwer, Andries Evert (2013) [1995]. "قائمة معرفات الأقسام لأجهزة الكمبيوتر". أنواع الأقسام . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2017-08-24 .
- ^ ab Wood, Sybil (2002). دليل عمليات Microsoft Windows 2000 Server. Microsoft Press . ص. 18. ISBN 978-0-73561796-4.
- ^ "مقدمة في هندسة القرص الصلب". Tech Juice . 2012-12-06 [2011-08-08]. مؤرشف من الأصل في 2013-02-04.
- ^ Kozierok, Charles M. (2001-04-17). "BIOS and the Hard Disk". The PC Guide . مؤرشف من الأصل في 2017-06-17 . تم الاسترجاع في 2013-04-19 .
- ^ سميث، روبرت (2011-06-26). "التعامل مع قيود MBR". برنامج تعليمي حول استخدام GPT fdisk . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2013-04-20 .
- ^ "أكثر من 2 تيرابايت على قرص MBR". superuser.com. 2013-03-07. مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع 2013-10-22 .
- ^ "الانتقال إلى محركات الأقراص الصلبة ذات التنسيق المتقدم 4K Sector Hard Drives". Tech Insight . Seagate Technology . 2012. مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2013-04-19 .
- ^ كالفيرت، كلفن (16 مارس 2011). "محركات الأقراص الصلبة ذات السعة الكبيرة WD AV‐GP" (ملف PDF) . ويسترن ديجيتال . تم الاسترجاع في 20 أبريل 2013 .
- ^ سميث، رودريك دبليو. (2010-04-27). "لينكس على أقراص قطاع 4 كيلوبايت: نصيحة عملية". DeveloperWorks . IBM . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2013-04-19 .
- ^ ab "MBR (x86)". OSDev Wiki . OSDev.org. 2012-03-05. مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2013-04-20 .
- ^ Sedory, Daniel B. (2003-07-30). "IBM DOS 2.00 Master Boot Record". The Starman's Realm. مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2011-07-22 .
- ^ سينغ، أميت (2009-12-25) [ديسمبر 2003]. "تشغيل نظام التشغيل Mac OS X". Mac OS X Internals: The Book . تم الاسترجاع في 2011-07-22 .
- ^ de Boyne Pollard, Jonathan (2011-07-10). "عملية تمهيد EFI". إجابات متكررة . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2011-07-22 .
- ^ Domsch, Matt (2005-03-22) [2003-12-19]. "Re: RFC 2.6.0 EDD improvements". قائمة بريدية لنواة Linux . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2017-08-24 .
- ^ "قد يستخدم Windows صيغة Signature() في ملف BOOT.INI". قاعدة المعارف . Microsoft .
- ^ McTavish (فبراير 2014). "توقيع قرص MBR الخاص بـ Vista". أجهزة التمهيد المتعددة: التمهيد المزدوج والتمهيد المتعدد مع Vista . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2017-08-24 .
- ^ Russinovich, Mark (2011-11-08). "إصلاح تضارب توقيعات القرص". مدونة مارك روسينوفيتش . مايكروسوفت . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2013-04-19 .
- ^ abc Sakamoto, Masahiko (2010-05-13). "لماذا يقوم BIOS بتحميل MBR إلى 0x7C00 في x86؟". Glamenv-Septzen.net. مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2011-05-04 .
- ^ abcdef Compaq Computer Corporation ; Phoenix Technologies Ltd. ; Intel Corporation (1996-01-11). "مواصفات تمهيد BIOS 1.01" (PDF) . 1.01. ACPICA. مؤرشف (PDF) من الأصل في 2017-08-24 . تم الاسترجاع في 2013-04-20 .[1]
- ^ ab Elliott, David F. (2009-10-12). "لماذا يحدد MBR "القياسي" SI؟". tgwbd.org . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2013-04-20 .
- ^ abc Compaq Computer Corporation ; Phoenix Technologies Ltd. ; Intel Corporation (1994-05-05). "Plug and Play BIOS Specification 1.0A" (PDF) . 1.0A. Intel . مؤرشف من الأصل (PDF) في 2017-08-24 . تم الاسترجاع في 2013-04-20 .
- ^ Paul, Matthias R. (1997-10-02) [1997-09-29]. "تحديث Caldera OpenDOS 7.01/7.02 Alpha 3 IBMBIO.COM - README.TXT and BOOT.TXT - وصف مختصر لكيفية تشغيل OpenDOS". مؤرشف من الأصل في 2003-10-04 . تم الاسترجاع في 2009-03-29 .[2]
- ^ بول، ماثياس ر. (2017-08-14) [2017-08-07]. "الملحمة المستمرة لنظام التشغيل Windows 3.1 في الوضع المحسن على OmniBook 300". MoHPC - متحف آلات HP الحاسبة . مؤرشف من الأصل في 2018-05-01 . تم الاسترجاع في 2018-05-01 .
[…] SYS […] /O[:nnn] تجاوز وحدة محرك التمهيد المبلغ عنها IPL (n=0..126, 128..254). […] تحضير القرص المستهدف... اختيار قطاع تمهيد FAT12 CHS (يتطلب IPL للإبلاغ عن وحدة التمهيد). معاملة الهدف كقرص مرن أو وسيط فائق المرونة (وحدة محرك التمهيد 0). كتابة قطاع تمهيد جديد... […]
(ملاحظة: يكتب SYS سجلات تمهيد المجلد بدلاً من سجلات التمهيد الرئيسية، ولكن واجهة السجل الواردة الخاصة بهما متشابهة (مع الامتدادات) نظرًا لأنه يمكن تحميل كليهما في البداية بواسطة النظام الأساسي.) - ^ إليوت، روبرت (2010-01-04). "EDD-4 Hybrid MBR boot code annex" (PDF) . Hewlett Packard ، T13 Technical Committee. e09127r3. مؤرشف من الأصل (PDF) في 2017-08-24 . تم الاسترجاع في 2013-04-20 .
- ^ "FDISK /MBR يعيد كتابة سجل التمهيد الرئيسي". دعم . 1. Microsoft . 2011-09-23. 69013. مؤرشف من الأصل في 2017-02-08 . تم الاسترجاع 2013-04-19 .
- ^ "sfdisk(8) – Linux man page". die.net . 2013 [2007]. مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع 2013-04-20 .
- ^ براون، رالف د. (2000-07-16). "قائمة مقاطعة رالف براون (الإصدار 61 من HTML)". ديلوري سوفتوير . تم الاسترجاع في 2016-11-03 .
- ^ براون، رالف د. (2000-07-16). "B-1302: INT 13 - DISK - READ SECTOR(S) INTO MEMORY". قائمة مقاطعة رالف براون (RBIL) (61 طبعة) . تم الاسترجاع في 2016-11-03 .(ملاحظة: راجع الملف INTERRUP.B داخل الأرشيف "INTER61A.ZIP.)
قراءة إضافية
- جيلبرت، هوارد (1996-01-01) [1995]. "الأقسام والمجلدات". PC Lube & Tune . مؤرشف من الأصل في 2016-03-03.
- Knights, Ray (2004-12-22) [2000-12-16]. "Ray's Place". MBR وقطاعات تمهيد Windows (تتضمن تفكيك التعليمات البرمجية وتوضيحات لعملية التمهيد) . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2017-08-24 .
- لانديس، هيل (2002-05-06). "سجل التمهيد الرئيسي". كيف يعمل . مؤرشف من الأصل في 2014-07-01.
- Sedory, Daniel B. (2015-06-25) [2007]. "MBRs (Master Boot Records)". تم الكشف عن سجلات التمهيد . مؤرشف من الأصل في 2017-08-24 . تم الاسترجاع في 2017-08-24 .[3] [4]
روابط خارجية
- مقالة عن سجل التمهيد الرئيسي
- MBR وكيفية ملاءمته لعملية تمهيد BIOS
