بدء تشغيل نظام تشغيل Ubuntu GRUB وتكوينه

الـ GRUB Linux Bootloader هو أشهر برنامج تحميل التمهيد المستخدم لنظام Linux. يمكن لكل مستخدم طموح لنظام Linux الاستفادة من التعرف على GRUB Ubuntu. في هذا البرنامج التعليمي، ستتعلم ما هو GRUB، كيفية عمل عملية التمهيد، وستستعرض عدة تكوينات مفيدة لـ Ubuntu GRUB.

انغمس للمزيد من المعلومات.

المتطلبات

إذا كنت ترغب في متابعة هذا البرنامج التعليمي، تأكد من وجود جهاز Linux يحتوي على GRUB كبرنامج تحميل التمهيد. سيكون هذا البرنامج التعليمي مستندًا إلى Ubuntu 18.04.5 LTS، الذي يعمل على جهاز افتراضي في Oracle VirtualBox.

فهم عملية تمهيد Ubuntu GRUB

GRUB هو اختصار لبرنامج تحميل التمهيد الموحد الكبير وهو العنصر الأساسي والأكثر أهمية لتمهيد جهازك. كما أن GRUB هو أشهر برامج تحميل التمهيد لنظام Linux. رحلتك ستبدأ بمعرفة أكثر قليلاً عن عملية تمهيد GRUB.

في عملية التمهيد العامة، يبدأ الـ BIOS باستدعاء خطوة POST ومن ثم يبحث عن برنامج التحميل في سجل التمهيد الرئيسي (MBR).يعد MBR هو المعلومات في القطاع الأول من أي قرص صلب. يحدد MBR مكان نظام التشغيل. المعلومات المخزنة في MBR تقوم بتحميل (تشغيل) نظام التشغيل في ذاكرة الجهاز (RAM).

تغطي هذه المقالة جانب MBR فقط. ولكن يمكنك أيضًا العثور على أقراص تستخدم نظام GPT، والذي يعني جداول تقسيم GUID. يعتبر GPT أفضل إذا كنت تخطط لإنشاء أكثر من أربعة أقسام حيث أن القرص MBR يمكنه استيعاب أقصى 4 أقسام أساسية فقط.

في الصورة أدناه، يمكنك رؤية رسم بياني لعملية التمهيد. يمكنك أن ترى أن GRUB في Ubuntu يحمل النواة التي اخترتها إلى الذاكرة العشوائية (RAM) الرئيسية. بعد تحميل النواة، يمكن للمستخدمين تسجيل الدخول إلى الجهاز.

The role of GRUB during the complete boot process in Linux

مقارنة بين برامج تحميل النظام GRUB و LILO

تتوفر في عالم Linux ثلاثة برامج رئيسية لتحميل النظام: LILO، GRUB و GRUB2. يعتبر GRUB2 أحدث برنامج تحميل نظام أساسي في توزيعات Linux. يُستخدم GRUB2 بشكل أكبر ويتم استعراضه في هذا البرنامج التعليمي لأنه برنامج تحميل النظام الافتراضي في Ubuntu، ولكن LILO لا يزال لديه وجود في Linux. في هذا القسم، ستتعلم كيف يتصرف كل منهما.

هناك محملات تشغيل Linux أخرى متوفرة في السوق، مثل GNU GRUB، الذي يتميز بدعم متميز لإدارة الذاكرة وإطار عمل يعتمد على الكائنات. الآخر هو SYSLINUX الذي يعتبر محمل تشغيل خفيف الوزن.

يدعم GRUB تشغيل أنظمة تشغيل متعددة. بينما يمكن لـ LILO تشغيل نظام تشغيل واحد فقط.

GRUB allows opting among multiple OS

يعمل GRUB في أوبونتو مع Windows, Linux, Unix, macOS, BSD, Solaris، بينما يدعم LILO بشكل أساسي أنظمة تشغيل Linux.

إذا قمت بتحديث ملف التكوين في LILO، فيجب إعادة تثبيت LILO على MBR. إذا قمت بتغيير إعدادات GRUB، فلا يتطلب إعادة التثبيت.

اختيار أنواع مختلفة من الأنظمة الأساسية أو وضعيات الاستعادة

تحتوي هذه القسم على كيفية اختيار النظام الأساسي أثناء تشغيل الجهاز والاستعادة من نظام أساسي تالف.

A kernel works as an interface between hardware and software. It controls all the processes that users run on the device.

هنا الخطوات لاختيار النظام الأساسي باستخدام VM في Oracle VirtualBox.

1. قم بتسجيل الدخول مباشرة إلى وحدة التحكم في جهاز أوبونتو باستخدام Oracle VirtualBox.

2. أعد تشغيل جهاز أوبونتو باستخدام أمر الإغلاق الذي يتم عرضه أدناه.

shutdown -r now

بعد أن يعيد جهازك التشغيل، اضغط واستمر في الضغط على Shift أثناء تحميل أوبونتو GRUB، وسترى قائمة محمل التشغيل GRUB. إذا لم تختر أي شيء، سيقوم GRUB بتشغيل النظام بالنظام الأساسي الافتراضي وسيستمر في عملية التشغيل.

يجب عليك اختيار الخيارات المتقدمة لـ Ubuntu عندما تحتاج إلى التمهيد باستخدام نواة مختلفة عن النواة الافتراضية. أو إذا واجهت أي مشاكل داخل النظام مثل تلف الملفات، أو عدم تحميل النواة بشكل صحيح.

GRUB loading process

4. بعد تحديدك لـ الخيارات المتقدمة لـ Ubuntu، سيظهر قائمة GRUB لـ Ubuntu. في القائمة، يجب أن ترى خيارات النواة المختلفة التي تختارها. إذا لم تقم باختيار أي خيار، فسيتم تحميل النواة الأولى المعروضة افتراضيًا.

كما يمكنك أن ترى أدناه في الصورة، هناك خيارين إضافيين لكل نواة: upstart وrecovery.

  • (upstart): بديل معتمد على الأحداث لبرنامج الـ /sbin/init، الذي يتعامل مع بدء المهام والخدمات أثناء التمهيد، وإيقافها أثناء الإغلاق، وإشرافها أثناء تشغيل النظام.
  • (وضع الاستعادة): لاستعادة النواة من أي فشل في النظام.
Selecting a kernel from the GRUB menu

5. بمجرد تسجيل الدخول إلى الجهاز، يتحقق الأمر uname مما إذا كانت النواة المحددة قد تم تحميلها. يقوم الخيار -r بطباعة اسم النواة.

uname -r 
Verifying the kernel from the console

ضبط النظام التشغيلي الافتراضي

الآن بعد أن أصبحت أكثر معرفة بـ GRUB، ستقوم بتعديل بعض خيارات تكوين GRUB. ستبدأ بتكوين أي نظام تشغيل سيتم تحميله افتراضيًا.

1. قم بتسجيل الدخول إلى جهاز Ubuntu الخاص بك باستخدام عميل SSH المفضل لديك.

2. الآن، قم بسرد إدخالات قائمة التمهيد GRUB عن طريق تشغيل أمر awk كما هو موضح أدناه. سيعرض أمر awk جميع الإدخالات المخزنة في /boot/grub/grub.cfg. ستظهر محتويات الملف على الطرفية. قم بتوخي الانتباه للأسطر. ستحتاج إلى رقم المرتبط بالسطر الذي يسبقه، الذي يبدأ بالصفر، أي ستكون السطر Ubuntu هو 0 وUbuntu، بنظام Linux 4.4.0-210-generic هو 1.

awk -F\' '/menuentry / {print $2}' /boot/grub/grub.cfg
awk command filtering all the entries stored in /boot/grub/grub.cfg

3. بعد ذلك، قم بتحرير ملف تكوين GRUB. يمكنك الاعتماد على vi لتحرير الملف وتغيير القيمة الخاصة بـ GRUB_DEFAULT، ولكن استخدم محررك المفضل كما تشاء.

vi /etc/default/grub

الآن، قم بتعيين قيمة GRUB_DEFAULT إلى رقم السطر الخاص بإدخال نظام التشغيل المرغوب. تذكر الأمر awk الذي قمت بتشغيله؟ كانت تلك هي إدخالات أنظمة التشغيل. إذا قمت بتعيين GRUB_DEFAULT إلى 0، سيتم تشغيل أول إدخال نظام تشغيل في قائمة التمهيد GRUB بشكل افتراضي. إذا قمت بتعيينها إلى 1، سيتم تشغيل الإدخال الثاني بشكل افتراضي، وهكذا. في الشاشة أدناه، تم تعيين تشغيل النظام الأول Ubuntu بشكل افتراضي.

افتراضيًا، لا ينتظر GRUB في قائمة التمهيد ويبدأ التمهيد فورًا، في 0 ثوانٍ. يمكنك تغيير هذا الإعداد عن طريق تغيير قيمة GRUB_TIMEOUT. ستكون القيمة هي عدد الثواني التي تظهر فيها القائمة قبل بدء التمهيد. إذا كانت القيمة 5، ستظهر قائمة التمهيد لمدة 5 ثوانٍ حتى تتمكن من اختيار النظام الذي تريد تحميله عند بدء تشغيل النظام.

Editing the GRUB configuration file

4. بمجرد حفظ التغييرات في ملف تكوين GRUB، تأكد من تشغيل الأمر update-grub. يأخذ الأمر update-grub الملف التكوين المغير ويطبقه على النظام.

update-grub
Updating the GRUB configuration

ضبط صورة الخلفية في GRUB لـ Ubuntu

لا يجب أن يكون تكوين GRUB الخاص بك بسيطًا. يمكنك إضافة القليل من النكهة إلى GRUB عن طريق إضافة صورة خلفية إلى قائمة GRUB. يمكنك تعيين الصور كخلفية في GRUB باستخدام الخيار GRUB_BACKGROUND. اتبع الخطوات أدناه لتخصيص GRUB.

1. قم بتحرير ملف تكوين GRUB باستخدام vi، أو محرر النص المفضل لديك، وأضف السطر GRUB_BACKGROUND كما هو موضح أدناه. في هذا البرنامج التعليمي، يتم تخزين الصورة في مجلد المستخدم المسمى UBUNTU، حيث يعمل GRUB كمستخدم root، يمكنه الوصول إلى الصور عبر نظام الملفات. بمجرد تعديله، احفظ ملف التكوين.

# Sytax: GRUB_BACKGROUND=/path-to-image
GRUB_BACKGROUND=/home/ubuntu/shanky.jpeg

تم تخزين صورة الملف shanky.jpeg بالفعل على النظام. استبدل هذا الاسم بالاسم الذي ترغب في جعله خلفية للصورة.

2. بعد ذلك، بعد إجراء التغييرات في ملف تكوين GRUB، قم بتشغيل الأمر update-grub.

Updating the grub configuration file

3. بالإضافة إلى ذلك، تحقق مما إذا كانت الصورة التي أضفتها في ملف Grub كخلفية تعمل كما هو مقصود. للتحقق، أعد تشغيل الجهاز الخاص بك واضغط على مفتاح Shift أثناء تحميل GRUB. كما يمكنك رؤية أدناه، أصبح لدى GRUB الآن صورة خلفية.

GRUB menu displaying the background image as specified in the grub configuration file.

التمهيد المزدوج مع GRUB

واحدة من أهم ميزات Ubuntu GRUB هي أنها تتيح لك اختيار بين نظامي التشغيل Windows و Linux عند تشغيل الجهاز: المعروف أيضًا باسم تشغيل مزدوج. يتيح التشغيل المزدوج لك استخدام Linux و Windows معًا في جهاز واحد ويجعل الحياة أسهل لمهندسي تقنية المعلومات الذين يعملون على أنظمة تشغيل متعددة.

بدءًا من أوائل عام 2021 ، تم تعطيل النص الافتراضي os_prober الذي يضيف تلقائيًا إدخالات قائمة نظام التشغيل الإضافية بسبب مخاوف أمنية محتملة مع الكشف التلقائي عن نظام التشغيل. يمكنك إعادة تمكين هذه الوظيفة عبر الأمر التالي، شريطة أن تكون على علم بالأنظمة التي تم تثبيتها.

echo GRUB_DISABLE_OS_PROBER=false|sudo tee -a /etc/default/grub && sudo update-grub

بمجرد تكوين التشغيل المزدوج على جهازك، يجب أن ترى شاشة مشابهة لقائمة GRUB عند بدء تشغيل الجهاز.

GRUB menu allows you to either login to Windows or Linux Instance

الاستنتاج

في هذا البرنامج التعليمي، تعلمت ما هو GRUB، وقدم لك المقال عملية تشغيل GRUB.

كما تعلمت كيفية ضبط بعض تكوينات Ubuntu GRUB، وتحميل أنواع مختلفة من النوى، وحتى تعلمت عن التشغيل المزدوج.

الآن بعد أن لديك معرفة سليمة بـ GRUB، ما هي بعض الخيارات في التكوين التي ستقوم بتغييرها؟

Source:
https://adamtheautomator.com/ubuntu-grub/