Setelah memulai yum updateCentOS, setelah reboot berikutnya, Anda mungkin akan terkejut dalam bentuk server yang rusak yang menggantung di layar splash BIOS.
Kami mulai menulis tentang masalah ini di forum dan pelacak bug kemarin. Tampaknya masalah tersebut memengaruhi semua sistem dengan bootloader UEFI dan relevan untuk setidaknya CentOS 7.8 dan 8.2. Jadi kemarin malam saya tidak cukup beruntung untuk memperbarui dan memulai ulang server, memastikan diri saya malam yang menyenangkan.
Masalahnya memanifestasikan dirinya pada saat reboot server dalam bentuk layar beku dengan layar splash BIOS, dari mana pada awalnya sama sekali tidak jelas apa yang terjadi - tidak ada kesalahan, tidak ada konsol grub, hanya layar splash bios yang dibekukan.
Keputusan
Jika setelah pembaruan server tidak melakukan boot ulang, maka agar tidak mendapatkan batu bata pada boot ulang berikutnya, itu cukup untuk mengembalikan pembaruan paket grub2 dan dependensinya:
yum downgrade grub2\* shim\* mokutil
Jika server di-boot ulang dan batu bata masih diterima, maka untuk memulihkan bootloader Anda memerlukan disk Live-CD atau flash drive. Urutan tindakan untuk mengembalikan paket pada sistem yang tidak dapat di-boot adalah sebagai berikut:
- Boot dari Live-CD (saya mengambil versi 7 di sini );
- Konfigurasi jaringan;
- Pasang partisi root ke / mnt / sysimage;
- Pasang partisi / boot di / mnt / sysimage / boot dan partisi / boot / efi di / mnt / sysimage / boot / efi;
- Jalankan urutan perintah:
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
Setelah itu, loader akan diperbarui ke versi lama dan server harus boot.
Tidak termasuk paket dari pembaruan
Untuk mencegah bootloader rusak lagi selama pembaruan berikutnya, Anda perlu menambahkan paket yang bermasalah ke pengecualian (baris exclude=grub2* shim* mokutil) di file konfigurasi yum /etc/yum.conf.
Versi paket yang bermasalah untuk CentOS 7, bersama mereka bootloader UEFI rusak:
grub2-2.02-0.86.el7.centos.x86_64
shim-x64-15-7.el7_9.x86_64