بعد البدء 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