شرح شامل Master Boot Record & GRUB
السلام عليكم ورحمة الله وبركاته
اليوم سنتحدت عن ال mbr او Master Boot Record
ال mbr هى اول 512 بايت فى الهارد الخاص بيك وهى مقسمه الى :
1- 446 bytes وهى التى يوجد بها الكود الذى يسمح لك ببدء عمل الجرب او Grub والذى يسمح لك ببدء تحميل النظام التشغيل الخاص بكم
كود PHP:
2- 66 bytes contain a 64-byte partition table and a 2-byte signature at the very end
والجزء الثانى يوجد به 64 بايت لل partition table
وينتهى ب 2 بايت فى النهاية
وال partition table هى عبارة عن جدول يوجد به بيانات عن البارتشن الأساسى والبارتشنات الاخرى فمثلا اين تبدأ واين تنتهى وطبعا هذا يكون بال cylinder والعديد من البيانات المهمة عن ال partations الخاصة بك
تخيل ما يحدث لو ضاعت هذه ال 512 بايت ؟؟؟؟
ولذلك سنقوم بعمل باك اب من هذه ال 512 بايت
الاداة dd هتقوم بعمل باك اب back up للجزء المطلوب وهى من ادوات unix التى تقوم بتنفيذ المطلوب منها بكفاءة
وسنقوم الان بعمل الباك اب من خلال الامر التالى :
كود PHP:
$ sudo dd if=/dev/sda of=mbr_backup bs=512 count=1
والاداة ببساطة ستقوم بعمل قراءة ونسخ من ال /dev/sda لأول 512بايت ويقوم بنسخهم الى الملف mbr_backup
وطبعا تقدر تنسخ الملف المطلوب وهوا الباك اب الى اى هارد ديسك اخر للحفاظ عليه او الى فلاش ميمورى او اى وسيط تخزين
ولعمل إستعادة لهذا ال back up من الملف الى ال MBR
طبعا سيكون الجهاز بالكامل مش شغال فستقوم بادخال ال rescue disk
او اى توزيعة لينوكس live CD وتقوم بكتابة الامر التالى فى ال terminal
كود PHP:
$ sudo dd if=mbr_backup of=/dev/sda bs=512 count=1
ولتجربة الامر السابق يمكنك اتلاف ال mbr الخاص بك وذلك من خلال الامر التالى : ( يجب توخى الحذر التام لأن هذا الأمر قد يؤدى الى إتلاف الهارد ديسك الخاص بك بالكامل وليس ال mbr فقط )
كود PHP:
$ sudo dd if=/dev/zero of=/dev/sda bs=512 count=1
سيقوم هذا بمسح ال MBR وسيضع بدلا منها 00 فى المساحة بالكامل المذكورة وهى mbr او اول 512 بايت فى البارتشن
إصلاح ال Partition Table يكون من خلال التالى :
سنستخدم الأداة الشهيرة gpart وطبعا ستكون داخل الجهاز ب live CD
ستقوم الأداة بفحص الهارد بالكامل وستبحث عن بدايات البارتشن لكل بارتشن ونهاية البارتشن وبعد ان تنتهى الأداة ستقوم بإخراج البيانات فى شكل منسق لك لتقوم بالقراءة والتعديل فى حالة رغبتك فى التعديل أو فى حالتنا هذه ستقوم بعمل write لهذه ال partition table مرة اخرى
كود PHP:
sudo gpart /dev/sda
سيقوم الامر السابق بعمل اسكان للهارد ديسك ويحدد البارتشنات
كود PHP:
root@kareem-pc:/home# gpart /dev/sda
Begin scan...
Possible partition(DOS FAT), size(9005mb), offset(0mb)
Possible partition(Linux swap), size(1004mb), offset(9005mb)
Possible extended partition at offset(10009mb)
Possible partition(Linux ext2), size(10001mb), offset(10009mb)
Possible partition(DOS FAT), size(56305mb), offset(20010mb)
End scan.
Checking partitions...
Partition(DOS or Windows 95 with 32 bit FAT, LBA): primary
Partition(Linux swap or Solaris/x86): primary
Partition(Linux ext2 filesystem): invalid logical
Partition(DOS or Windows 95 with 32 bit FAT, LBA): orphaned logical
Ok.
Guessed primary partition table:
Primary partition(1)
type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA)
size: 9005mb #s(18442557) s(63-18442619)
chs: (0/1/1)-(1023/254/63)d (0/1/1)-(1147/254/63)r
Primary partition(2)
type: 130(0x82)(Linux swap or Solaris/x86)
size: 1004mb #s(2056320) s(18442620-20498939)
chs: (1023/254/63)-(1023/254/63)d (1148/0/1)-(1275/254/63)r
Primary partition(3)
type: 015(0x0F)(Extended DOS, LBA)
size: 10001mb #s(20482875) s(20498940-40981814)
chs: (1023/254/63)-(1023/254/63)d (1276/0/1)-(2550/254/63)r
Primary partition(4)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
اذا اردنا كتابة النتيجة السابقة فعلا فى الهارد وتحديد البارتشنات كما اظهرها البرنامج ... مع الملاحظة انها مختفية وغير ظاهرة وال partation tables غير موجودة فسنوقم بكتابه النتيجة write على الهارد كما يلى
كود PHP:
sudo gpart -W /dev/sda /dev/sda
الى هنا قمنا بعرض وعمل التالى :
1- اخذ باك اب من ال MBR
2-إسترجاع ال partation tables
والان ننتقل إلى خطوة أخرى وهى :
إسترجاع ال Boot Code
فبعد ان قمنا باسترجاع ال partation tables نحتاج الى تكملة خطواتنا واسترجاع البوت كود كالتالى
اولا لديك طريقتين اما بالدخول الى اللينوكس على جهازك و هنا ستقوم بكتابه الامر التالى :
كود PHP:
$ sudo grub-install --recheck /dev/sda
ولا تنسى ان تستبدل ال /dev/sda بالبارتشن الرئيسى لك او الاساسى
او تقوم بوضع ال live CD ولهذا ستحتاج الى الدخول الى البارتشن الروت الخاص بك الذى يوجد به ملفات السيستم من خلال chroot وتقوم منه بتسطيب الجرب GRUBمرة أخرى
فستقوم بذلك كالتالى :
كود PHP:
$ sudo mkdir /mnt/sda1
$ sudo mount /dev/sda1 /mnt/sda1
$ sudo chroot /mnt/sda1 /usr/sbin/grub-install
وتختار من الذى يظهر لك :
كود PHP:
-recheck /dev/sda
لا تنسى ان ال /dev/sda هوا البارتشن الروت الخاص بك
مع الملاحظة اذا لم يتم تنصيب الجرب من خلال ال chroot داخل الروت بارتشن فستقوم بعمل التالى :
كود PHP:
$ sudo /usr/sbin/grub-install --recheck
وستقوم باختيار الخيار التالى :
كود PHP:
-root-directory /mnt/sda1 /dev/sda
إلى هنا إنتهى الشرح
إن شاء الله يكون تولد لدينا جميعا إحترام لل MBR وأن نقوم بتطبيق الخطوات وعمل باك اب لل MBR
أتمنى من المولى تبارك وتعالى أن أكون وفقت فى إختيار ووضع الموضوع لكم وشرحه بشكل يستطيع الجميع فهمه
غن أصبت فبتوفيق من المولى تبارك وتعالى و إن أخطأت فمن الشيطان
يرجى وضع أى ملاحظات أو إضافات من قبلكم لإثراء الموضوع أكثر فأكثر...
دعواتكم لنا
لكم منا كل التحية والتقدير
كريم عبد القادر
رد: شرح شامل Master Boot Record & GRUB
قد لا يكون ال gpart موجودا فى بعض الاجهزة او التوزيعات ؟؟؟
كود PHP:
sudo yum -y install gpart
او
كود PHP:
sudo apt-get install gpart
او من مدير الحزم package manger اختر الحزمة وقم بتنصيبها
تحياتى
رد: شرح شامل Master Boot Record & GRUB
رد: شرح شامل Master Boot Record & GRUB
رد: شرح شامل Master Boot Record & GRUB
اقتباس:
المشاركة الأصلية كتبت بواسطة Tech_Admin
شكرى و تقديرى لك
شكرا لمرورك وخالص تحياتى لك
اقتباس:
المشاركة الأصلية كتبت بواسطة adam black ice
معلم كبير اوى يا كيمو :)
بعضا مما عندكم ياباشا :$
انته الاستاذ الكبير برده :ah38:
نورت الموضوع
مفيش اى اضافة على الكلام :p
:)
رد: شرح شامل Master Boot Record & GRUB
ما شاء الله اية الحلاوة دى يا كريم ؟
رد: شرح شامل Master Boot Record & GRUB
ماشاء الله عليك ياكيمو مبدع
رد: شرح شامل Master Boot Record & GRUB
معلم كبير ياكيمو ومجهود رائع تسلم ايدك
بس برده قدام 10 سنين:D
رد: شرح شامل Master Boot Record & GRUB
الف شكر يا كريم على الشرح والمجهود الرائع
جزاك الله خيراا
رد: شرح شامل Master Boot Record & GRUB
الف شكر يا كيمو وربنا يوفقك في حياتك ان شاء الله
رد: شرح شامل Master Boot Record & GRUB
شرح مميز ومنظم .. الله ينور عليك
رد: شرح شامل Master Boot Record & GRUB
اقتباس:
المشاركة الأصلية كتبت بواسطة Nightspy
ما شاء الله اية الحلاوة دى يا كريم ؟
تسلم ياباشا ربنا يحفظك :)
اقتباس:
المشاركة الأصلية كتبت بواسطة mahmoud saad
ماشاء الله عليك ياكيمو مبدع
تسلم ونورت الموضوع
اقتباس:
المشاركة الأصلية كتبت بواسطة manprotocol2003
معلم كبير ياكيمو ومجهود رائع تسلم ايدك
بس برده قدام 10 سنين:D
ياااااااااااه :ah17:
هانت ::ah38:p
اقتباس:
المشاركة الأصلية كتبت بواسطة 7amasa7
الف شكر يا كريم على الشرح والمجهود الرائع
جزاك الله خيراا
نورت يا باشمهندس
اقتباس:
المشاركة الأصلية كتبت بواسطة walid_abdalla
الف شكر يا كيمو وربنا يوفقك في حياتك ان شاء الله
منور ياباشمهندس
المهم تكون اخدت الباك اب وحفظته على اسطوانة عشان انته عارف الكمبيوترات ياما بتهزهز :p
اقتباس:
المشاركة الأصلية كتبت بواسطة kapersky
شرح مميز ومنظم .. الله ينور عليك
شكرا لردك نورت الموضوع
متنسوش يا جماعة تاخدوا الباك اب اللى قلنا عليه
تحياتى
رد: شرح شامل Master Boot Record & GRUB
رد: شرح شامل Master Boot Record & GRUB
جزاكم الله خيرا وجارى التجربة
رد: شرح شامل Master Boot Record & GRUB
اقتباس:
المشاركة الأصلية كتبت بواسطة hisham_munshar
مشكور و بارك الله فيك
اقتباس:
المشاركة الأصلية كتبت بواسطة gouda000
جزاكم الله خيرا وجارى التجربة
نورتم الموضوع وربنا يوفقكم
استاذ جودة خد بالك وانته بتجرب لان الموضوع ممكن يتلف الهارد ديسك بالكامل
يعنى جرب على هارد ديسك خارجى او على قطاع معين من الهارد ديسك
تحياتى ليكم
كريم عبد القادر