أحدث تحديث لـ CentOS يكسر محمل الإقلاع GRUB2-efi

بعد البدء yum updateفي CentOS ، مع إعادة التشغيل اللاحقة ، قد تكون في حالة مفاجأة في شكل خادم تالف معلق على شاشة BIOS.



نحن بدأت الكتابة عن مشكلة في المحافل و تعقب علة أمس. يبدو أن المشكلة تؤثر على جميع الأنظمة التي تحتوي على محمل إقلاع UEFI وهي ذات صلة بـ CentOS 7.8 و 8.2 على الأقل. لذا مساء أمس لم أكن محظوظًا بما يكفي لتحديث الخادم وإعادة تشغيله ، مما يضمن لنفسي ليلة من المرح.



تتجلى المشكلة في وقت إعادة تشغيل الخادم في شكل شاشة مجمدة مع شاشة BIOS البداية ، والتي لا يكون من الواضح في البداية ما يحدث على الإطلاق - لا توجد أخطاء ، ولا وحدة تحكم نكش ، فقط شاشة البداية المجمدة السير.



القرار



إذا لم يتم إعادة تشغيل الخادم بعد التحديث ، فعندئذٍ حتى لا تحصل على لبنة عند إعادة التشغيل التالية ، يكفي التراجع عن تحديث حزم grub2 وتبعياتها:



yum downgrade grub2\* shim\* mokutil


إذا تم إعادة تشغيل الخادم واستمر استلام الطوب ، فستحتاج لاستعادة أداة تحميل التشغيل إلى قرص Live-CD أو محرك أقراص فلاش. سيكون تسلسل الإجراءات لاسترجاع الحزم على نظام غير قابل للتمهيد كما يلي:



  • التمهيد من Live-CD (أخذت الإصدار 7 هنا ) ؛
  • تكوين شبكة ؛
  • قم بتركيب قسم الجذر على / mnt / sysimage ؛
  • قم بتركيب قسم التمهيد / في / mnt / sysimage / boot وقسم / boot / efi في / mnt / sysimage / boot / efi ؛
  • نفذ سلسلة من الأوامر:



    mount -o bind /dev/urandom /mnt/sysimage/dev/urandom
    echo 'nameserver 1.1.1.1' > /mnt/sysimage/etc/resolv.conf
    chroot /mnt/sysimage
    yum downgrade grub2\* shim\* mokutil


بعد ذلك ، سيتم تحديث المُحمل إلى الإصدار القديم ويجب تشغيل الخادم.



استبعاد الحزم من التحديثات



حتى لا ينكسر برنامج bootloader مرة أخرى أثناء التحديث التالي ، فأنت بحاجة إلى إضافة الحزم ذات المشكلات إلى الاستثناءات (السطر exclude=grub2* shim* mokutil) في ملف التكوين yum /etc/yum.conf.



إصدارات إشكالية من الحزم لـ CentOS 7 ، ينهار محمل الإقلاع UEFI معهم:

grub2-2.02-0.86.el7.centos.x86_64

shim-x64-15-7.el7_9.x86_64




All Articles