‏إظهار الرسائل ذات التسميات grub. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات grub. إظهار كافة الرسائل

التعامل مع إعدادات محمل الإقلاع إبتداءً من فيدورا 30


بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته



مع جديد فيدورا 30 بما يخص محمل الإقلاع ؟


سأبدأ أولا بشرح على السريع ومبسط لبعض الأشياء التي تهمنا من دون تفصيل .


في السابق عندما كنا نريد إدخال تغيرات مثلا التعديل على البارامترات التي تمرر للنواة (kernel command line arguments) وتثبيت هذه التعديلات كنا نعدل على هذا الملف etc/default/grub/  ثم نقوم بطلب الأخذ بالتغيرات وتحديث ما يسمى boot menu من خلال أداة mkconfig.

في الإصدرا 30 من فيدورا هناك بعض الأشياء الجديدة سموها Boot Loader Specification وإختصارها BLSCFG أو BLS (سأعتمد إختصار BLS في الشرح لتسهيله) وهي ببساطة تغير طريقة أخذ محمل الإقلاع الإعدادات.

هذا موضوع قديم يشرح الطريقة القديمة .
https://arfedora.blogspot.com/2016/09/parameters.html




ما هي التغيرات التي تهم المستخدم أو حتى المطور ؟


أولا كل نواة لها ملف إعدادات خاص يأخذ منه إعدادات محمل الإقلاع ومنها البارامترات للنواة ,عندما يقوم النظام بتثبيت أي نواة يأتي معها هذا الملف ولست بحاجة لتغير أي شيء ومسار هذه الملفات هو boot/loader/entries/ كل ملف يتم تسميته  بإسم يدل على إصدار النواة ورقم خاص يكون محفوظ في هذا الملف etc/machine-id/  وينتهي إسم الملف باللاحقة conf.





1-هذا الرقم الخاص في ملف etc/machine-id/.

2-هذه هي ملفات الإعدادات نلاحظ كيف يتم تسميتها.

3-هذه الأنوية المتوفرة عندي ويبدأ إسمها ب vmlinuz .





قمت بقرأءة أحد ملفات الإعدادات نلاحظ أن إفتراضيا options التي ستمرر للنواة محفوظة في متغير $kernelopts لاكن ما هي قيمة هذا المتغير وأين موجود ؟ الصورة في الأسفل توضح الأمر .




نلاحظ إفتراضيا من أين يتم أخذ المعلومات نلاحظ قيمة متغير kernelopts  وغيره من الإعدادات وهذا المسار في حالة إستخدام Legacy Bios أما في حالة EFI يصبح المسار شيء كهذا boot/EFI/fedora/grubenv/ 

متغير kernelopts ممكن إستخدامه كإعدادات عامة أي يحفظ فيه الإعدادات العامة ثم أي نواة تريد اخذ الإعدادات العامة يتم إضافة هذا السطر في ملف إعداداتها options $kernelopts أما إذا أردنا لنواة ما أن تأخذ إعدادات خاصة نستبدل kernelopts$ بالذي نريده (ممكن إستخدام اداة grubby حيث ممكن تحديد النواة المراد التعديل عليها وممكن التعديل على القيمة العامة من خلال ALL هناك رابط في أخر الموضوع يشرح القليل عن grubby )



الأن هل إنتهى دور ملف etc/default/grub/ ؟



لا لم ينتهي مازال يحتفظ ببعض الإعدادات منها إعداد معين يفعل BSL  وأيضا بعض الإعدادات مثل GRUB_TIMEOUT مازالت تأخذ منه وأيضا للتوافقية مثلا إذا قمت بالترقية من فيدورا 29 إلى 30 لن تكون BLS مفعلة ستحتاج تفعيلها بنفسك (أخر الموضوع يوجد رابط من وثائق فيدورا يشرح عن الأمر).






الخلاصة.


 في السابق إذا كنا نريد تمرير شيء للنواة عند كل إقلاع نعدل على ملف etc/default/grub/ ثم نقوم بتحديث المعلومات من خلال اداة mkconfig ثم إعادة تشغيل الجهاز أما حديثا يكفي التعديل على ملف grubenv وإعادة إقلاع النظام من دون إستخدام اداة mkconfig (ملاحظة بدل التعديل اليدوي على ملف grubenv ممكن أيضا إستخدام اداة grubby ).


وهذا يقودنا لسؤال اخر هل تم التخلي عن اداة mkconfig ؟

الجواب لا الأداة مستخدمة للتعرف على الأنظمة والتوزيعات الاخرى مثلا ويندوز أو توزيعة لينكس أخرى وأيضا للأخذ ببعض الإعدادات من ملف etc/default/grub/ مثل كما ذكرت GRUB_TIMEOUT .



هذا الموضوع للتوسع يشرح أكثر لماذا يتم إعتماد هذه الطريقة أي ما هي الأسباب وبعض المعلومات .
https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault


وهذا أيضا موضوع من مجلة فيدورا يشرح قليلا عن اداة  grubby.
https://fedoramagazine.org/setting-kernel-command-line-arguments-with-fedora-30/





أخر معلومة عن grubby .


 نلاحظ عند إستخدام ALL أي تحديد كل الأنوية يتم التعديل على ملف grubenv .



وعند إستبدال ALL بنواة محددة التعديل يتم على ملف إعدادات النواة المحددة وليس grubenv اي سيتم اخذ قيمة kernelopts وإضافة إليها القيمة الجديدة وتعينهم بشكل صريح في options أي لن يتم بعدها لهذه النواة بالتحديد أخذ القيمة من ملف grubenv بل تم تعينها بشكل صريح في ملف أعداداتها الخاص  أتمنى أن تكون الأمور واضحة .

على العموم الأفضل دائما إذا ما أردنا القيام بأي تغيرعلى ملفات الإعدادات  اولا أخذ نسخة عنهم ثم بعد التعديل التأكد من المعلومات الموجودة فيها .





أخر ملاحظة إذا كنت تستخدم برنامجي Arfedoracontrolcenter الإضافة المتعلقة بتعديل إعدادات محمل الإقلاع كما في الصورة في الأسفل إلى الأن لم أعدل عليها لهذا بعض التغيرات التي تقوم بها  من هناك لن تعطي نتيجة في حالة BLS لاكن إن شاء الله في المستقبل عندما يكون لي وقت اعمل على حل ما .
https://github.com/yucefsourani/arfedoraccframework




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












برنامج إصلاح محمل الإقلاع Arboot Fix

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته



برنامج إصلاح محمل الإقلاع Arboot Fix .

 



 Arboot Fix هو برنامج أعمل عليه الأن  لإصلاح محمل الإقلاع grub2 , البرنامج مازال تحت التجربة حاولت قدر الإمكان عدم الإعتماد على مكتبات غير قياسبة لأن البرنامج غالبا سيعمل من القرص الحي .

البرنامج اﻷن يحتاج فقط python3 و pygobject وGtk+ وهم يأتو بشكل إفتراضي في أغلب التوزيعات يعني يكفي تنزيل البرنامج من مستودع github وتشغيله .

بالنسبة لكود البرنامج للصراحة الأمر خرج من يدي ههه بسبب إهمالي في هذه المواضيح وتوقفي عن العمل عليه أشهر ثم العودة ثم التوقف ومن التجربة والخطأ أصبح الكود غير مفهوم وغير مرتب ويحتاج إعادة مراجعة لاكنه يعمل الأن على فيدورا ويمكن تعديله ليدعم توزيعات أخرى حيث أني سهلت الامر قدر الإمكان لكن الأن نحن نتكلم عن Fedora و ما بنية عليها مثل ojuba , ملاحظة لايوجد ضمانات على إستخدام البرنامج.



1-لتنزيل البرنامج وتشغيل من القرص الحي يكفي تنفيذ هذه الأوامر نكتفي بنسخ لصق Copy Paste.

 cd && git clone https://github.com/yucefsourani/arboot-fix
su -c "chmod 755 arboot-fix/fedora/arboot-fix.py"
su -c "arboot-fix/fedora/arboot-fix.py"
أو
  cd && git clone https://github.com/yucefsourani/arboot-fix && xhost local:root
sudo chmod 755 ~/arboot-fix/fedora/arboot-fix.py
sudo ~/arboot-fix/fedora/arboot-fix.py
   





2-بعض الشرح عن البرنامج .


1-نختار القسم روت root وهو أمر إجباري .

2-نختار القسم boot وهو أمر غير إجباري ممكن أن نختار None ,

3-نختار القسم EFI وهو أمر غير إجباري ممكن أن نختار None .

4-ممكن أن نفعل أو نلغي تفعيل خيار إعادة تثبيت النواة عندما يدخل البرنامج على القسم روت من خلال chroot ,ملاحظة بطبيعة الحال إذا كان هذا الخيار مفعل يجب أن يكون الجهاز متصل بالإنترنت .

5-إذا كان هذا الخيار مفعل سيتم إعادة تثبيت محمل الإقلاع من خلال مدير الحزم dnf داخل chroot ,ملاحظة هذا أمر ضروري في حال لم تكن EFI فارغة أو None يعني إذا كنا نحاول إصلاح إقلاع EFI يجب أن يكون الجهاز متصل بالإنترنت .

6-بشكل إفتراضي البرنامج سيحاول التعرف على كل الأقسام وتصنيفها مثلا هذا root وهذا boot و هذا EFI لكن إذا فشل في تصنيف هذه الأقسام بشكل صحيح يمكننا ان نفعل هذا الخيار ونختار الأقسام بشكل يدوي وهنا يجب أن نكون حذرين أكثر في إختيار الأقسام الصحيحة.





أخيرا نلاحظ في الصورة في الأسفل أنه أحيانا يكون لدينا أكثر من توزيعة منها مثلا من يكون لها قسم boot مستقل ومنها لا لهذا يجب أن نحدد الخيار الصحيح للتوزيعة التي نريد إصلاح محمل إقلاعها مثلا لنفترض السناريو السابق موجود  ونريد إصلاح محمل إقلاع التوزيعة التي ليس لديها قسم boot منفصل عندها نضع None في خيار Boot Target وهذا أمر مهم حتى لا تتشابك الأمور في بعضها.


إختيار نظام أو نواة كخيار إفتراضي للإقلاع في محمل الإقلاع grub2

بسم الله الرحمن الرحيم 

السلام عليكم ورحمة الله وبركاته



إحدى طرق إختيار ووضع نظام أو نواة كخيار إفتراضي للإقلاع في محمل الإقلاع grub2 التجربة كانت على فيدورا 23 فقط أما عن التوزيعات الأخرى قد تختلف بعض الأمور مثل إسم مجلد boot/grub2/ و...إلخ وقد لا يعمل الشرح على الإصدارات القديمة من محمل الإقلاع grub2:




1-التأكد من أن قيمة GRUB_DEFAULT في ملف etc/default/grub/ تساوي saved ممكن من دون التأكد من قيمتها أن نكتفي بوضع قيمتها saved من خلال أي محرر نصوص أو هذا اﻷمر في الأسفل نكتفي بنسخ لصق copy paste .


التسميات

2016 (1) 23 (1) 24 (3) 25 (1) 26 (1) 27 (1) 28 (1) 29 (1) 30 (1) 31 (1) إتصال (1) إختراق (2) أدة (1) أدوات (1) إرسال (1) أرش (1) إسترجاع (1) إستعلام (1) أشياء (7) أشياء تفعلها (8) إصدارات (1) إصلاح (6) إصلاحrealtek (1) إضافات (1) إضافة (1) أعجوبة (1) أعجوية (1) إعداد (1) إقاف (2) أقسام (1) ألعاب (2) الفرق (1) الفلاشة (1) القسم هوم (1) الكتابة بالعربية (1) إلى جانب (1) أندرويد (1) إنشاء (1) إنشاء مستودع (1) أيات (1) أيزو (1) أيقومات (1) أيقونات (1) ايقونات (2) باتش (1) بارامتر (1) بايثون (16) برامج (56) برامج إسلامية (2) برنامج (19) برودباند (1) بعد (7) بعد التثبيت (8) بلوتوث (1) بناء (1) بناء توزيعة (1) بيئة عمل (1) تثبيت (29) تجهيز (2) تجهيو من دون (2) تحزيم (2) تحقق (1) تحويل (1) تخصيص (5) ترجمة (2) ترقية (1) تسجيل الشاشة (1) تشغيل (3) تعريف (13) تعطيل (2) تعلم (6) تفعلها (7) تفعيل (2) تقطع الأحرف (1) تقعيل (1) تنزيل (2) تورنت (1) توزيعة (1) توسعة (1) ثيم (5) ثيمات (1) جافا (1) جماليات (7) جنوم (1) حجم (1) حرق (2) حزمة (1) حل (2) دالة (1) دورة (1) روتر (1) ريدهات (2) سكربت (2) شرح (11) صورة متحركة (1) فايرفوكس (1) فتح منفذ (1) فصل (1) فلاشة (3) فيدورا (29) فيدورا بالعربي (1) قاموس (1) كالي (2) كتاب (2) كتب (2) كرت (1) كروت الشاشة (1) كلمة المرور (2) كورس (1) كورورا (1) لعبة (1) لينكس (2) لينكسو (1) ماهو (6) متغير البيئة (1) مجانا (1) محاكات (2) محاكي (1) محمل الإقلاع إصلاح (1) محمول (1) مستودعات (1) مشكلة (2) ملف نصي (1) من إصدار (1) نظام ملفات (1) نمط (2) نواة (1) هجين (4) واجهات (1) وايرلس (1) وهمي (2) ويندوز (2) access token (1) active (2) add (1) after (7) alias (1) andoid studio (1) android (2) android studio (1) Apache (2) appstream (1) arboot (1) arboot fix (1) arch (3) archiso (1) arfedoraccframework (3) arfedoracontrolcenter (3) arfedy (1) atari (1) atom (1) ayat (1) bicon (1) blivet (1) blivet-gui (1) bls (1) bluetooth (1) book (2) books (2) bootloader fix (1) boxes (3) broadband (1) broadcom (1) broadwayd (1) bugzilla (1) build (2) builddep (1) bumblebee (1) bumbleebe (2) burn (2) byzanz (1) c# (1) calamares (1) camera (1) cannot open display (1) cannot open display: :0 (1) ccna (1) cd (2) centos (1) change (2) chsh (1) cisco (1) clion (1) clone (1) code.org (1) command (2) command line (2) commands (2) comps (1) connect (1) contra (1) convert (1) copr (1) could not connect to the debugger (1) cpu (1) cpufreq (1) createrepo (1) csharp (1) css (1) curlew (1) custom (2) dbus (3) dconf (1) dd (1) Decryption (1) defragment (2) desktop (1) desktop entry (1) dictionary (1) Digital signature (1) disks (1) dnf (14) do (7) docker (1) dolphine (1) download (2) downloads manager (1) dply (1) DRI PRIME (1) driver (9) dukto (1) e2fsck (1) efi (4) el forkane (1) elforkane (1) elif (1) emergency (3) emergency mode (3) emulator (1) enable (2) Encryption (1) entries (1) error mounting /dev/sd (1) ext4 (1) extend (1) extensions (2) fakenes (1) fast startup (2) fceux (1) fedora (45) fedora 25 alpha (1) fedora cloude (1) fedora28 (1) fedoraوفيدورا (1) fedy (1) fgmac (2) fgmac-24 (1) file (1) find (1) firefox (2) fix (10) flash mem (1) flash memory (2) flashplayer (1) flatpak (4) forward (1) fpaste (1) free (1) freebsd (1) freevpn (1) function (1) game (3) games (2) gedit (1) genymotion (1) gettext (1) gif (1) gimp (1) gio (1) github (5) github.io (1) glibc-common (1) gmaclinux (2) gnome (16) gnome boxes (1) gnome disk (1) gnome shell (13) gnome terminal (1) gnome-disks (1) gnu (1) godot (1) goldendict (1) google web designer (1) gpg (2) gradio (1) group (2) grub (7) grub2 (1) grubenv (1) gstreamer (1) gtk (8) gtk+ (1) gvrecord (1) hack (2) hash (4) hdmi (3) hibernate (1) home (2) hosspot (1) html (1) http (1) hybrid (2) icon (2) icons (3) ide (1) if (1) install (32) installf (9) installing (7) intellij idea (1) internet downlaod manager (1) iso (2) java (3) jdk (2) jetbrains (1) jetbrains toolbox (1) kali (2) kde (3) kernel (1) kernel parameters (1) key (1) kickstarts (3) korora (1) krita (1) kvm (2) kvm switches (1) lamp (1) laps (1) learn (1) legacy (1) legacy bios (3) libreoffice (2) libvirt (1) life is trange (1) linux (8) lutris (1) lv (1) lvm (2) mac (4) macros (1) mageia (1) make distro (1) mariadb (1) MariaDB and PHP Lamp Server (1) markdown (2) mate terminal (1) mbr (1) md5sum (1) mirro (1) mkconfig (1) mo (1) mono (2) monodevelop (2) mount (1) mp4 (1) multi screen (1) mumble (1) murmur (1) natron (1) nautilus (2) nes (1) netbeans (1) netcut (1) nintendo (1) ntfs (2) nvidia (8) objdesktop (1) ojuba (2) oop (1) opensuse (1) openvpn (1) opera (1) optirun (2) oracle (1) os.path (1) package (2) page (1) pages (1) pantheon (1) parameter (1) parameters (1) password (2) patch (1) path (2) pdf (1) peek (1) photoshop (1) php (1) phpstorm (1) plasma (2) plugin (3) plugins (1) plymouth (1) po (1) polkit (1) port (1) portable (1) portmatp (1) PostinstallerF (1) pot (1) powerline (2) powerline-go (1) preset (1) preview (1) primary display (1) primeos (1) primus (1) primusrun (1) private key (1) programs (3) protonvpn (1) pubg (1) public key (1) put (1) pv (1) pycharm (2) pygobject (4) pygtk (5) python (56) pythonk (1) qdbus (1) qemu (3) qemu-kvm (1) query (1) radio (1) raspberry pi (4) raspbian (2) reclaim space (2) record (1) redhat (3) remix (1) remix os (1) repo (4) repofrompath (1) repository (1) reset (1) resize2fs (1) rhel (1) router (1) rpm (7) rpmbuild (1) rtl8188ee (1) rtl8192c (1) rtl8192ce (1) rtl8192cu (1) rtl8192de (1) rtl8192ee (1) rtl8192se (1) rtl8723ae (1) rtl8723be (1) rtl8723com (1) rtl8821ae (1) rubymine (1) salix (1) scratch (2) scratch2.scratch 2 (1) screencast (1) script (2) seconday display (1) self (1) send (1) server (1) settings (2) sha1256sym (1) sha256sum (1) share desktop (1) shell (2) shortcut (1) shutter (1) skel (1) skel ماهو (1) skype (1) skype.برامج (1) slackware (1) software (1) soundcloud (1) source code (1) spec (2) spin (1) sqlmap (1) ssh (3) sshd (2) st-trans (1) steam (2) store (1) su (1) sudo (2) sudoers (1) swap (2) switch (2) Switchable Graphics (1) synergy (1) systemd (1) systemd preset (1) teamviewer (1) terminal (2) theme (5) things (7) thomson (1) thread (2) threading (2) thumbnails (1) to (8) tor (2) tor browser (1) torrent (1) transfer closed with 736700 bytes remaining to read (1) translation (1) turn off (2) tuxcut (1) txt (1) ubuntu (1) uefi (5) unable to mount location (1) unity (1) unity3d (1) upgrade (1) usb (1) useradd (2) utf-8 (1) vega (1) verify (1) vg (1) vgaوتبديل (1) vi (1) video (1) vim (1) vino (1) virsh (1) virt-install (1) virt-manger (1) virtual (1) virtual box (1) virtualbox (3) vmware (3) vnc server (1) vokoscreen (1) vpn (1) web server (1) webstorm (1) wifi (1) windows (4) windows-1256 (1) wine (1) woeusb (1) X Error: BadAccess (1) X Error: BadDrawable (1) xdg-mime (1) xdman (1) xfce (1) xfconf-query (1) yum (2) zeal (1) zealdocs (1)