Linux

Linux UEFI Boot Partition Sorunu ve Onarma Yöntemi3 min read

Ara 17, 2020 3 min

Linux UEFI Boot Partition Sorunu ve Onarma Yöntemi3 min read

Okunur: 3 dakika

Geçtiğimiz hafta gece 01:00 sularında yaklaşık olarak üç saat süren bir kesinti yaşadık, bu kesintinin ana sebeplerinden bir tanesi yapmış olduğum kernel güncellemesi sonrasında debian işletim sisteminin boot-efi kısmının zarar görmesi idi. Tabii bu sorun gördüğüm kadarıyla 1 haftanın snapshot şeklinde alınan yedeklerinde bile vardı.

Tahminimce son kernel güncellemesinden hemen sonra ki yeniden başlatmada ortaya çıktı ancak fark edilmediği için bir süre devam etti. Hızlı aksiyon alabilmek için yedekten geldiysem de kısacası işe yaramadı. KVM ile giriş yaptığımda sunucuda aşağıdaki uyarıyı gördüm.

Cannot open access to console, the root account is locked.
See sulogin(8) man page for more details.

Press Enter to continue.

Bu uyarıdan kurtulmak amacıyla Hetzner’ın sağlamış olduğu rescue imajı ile makineyi yeniden başlattım. ve sırasıyla aşağıdaki işlemleri gerçekleştirdim.

mkdir -p server_hdd
sudo mount /dev/sda1 server_hdd
sudo chroot server_hdd
passwd root
exit
systemctl reboot

Böylelikle root’un parolasını değiştirdim ve kilitli durumdan çıkmış oldu. Normalde SSH sorunsuz bir şekilde systemctl rescue ile açılabiliyor olsaydı passwd -d root ile çözülecekti ama olmadı.

Ardından ilk yeniden başlatma sonrasında aşağıdaki görsel ile karşılaştım. Sistem maintenance moda girmişti ve yeniden başlatmanın ardından kendine gelmiyordu.

çöken linuxu kurtarmak, debian çökmesi, linux boot sorunu gidermek

Öncesinde fstab üzerinde değişiklik yaptığımı düşündüm(ki hiç bir değişiklik yapmamıştım) ve diskleri kontrol etmek istedim. Çünkü bu duruma disklerin yanlış eklenmesi de sebep oluyordu.

fstab kontrol, blkd ile disk id kontrolü

Tabii kontrollerim neticesinde, bu soruna sebep olabilecek bir bulguya rastlamadım. Yapılandırma sorunsuzdu ve bir sıkıntı istese de çıkartması mümkün değildi. Dedim ki debian topluluk maillerine bakayım illaki bu sorunu yaşayan olmuştur. Ve bunu buldum ama bu elemanda aynısını söylemişti “root parolasını değiştirin.”

Ardından akıl danışmak için gecenin üçünde Onur’u rahatsız ettim. “mertcan hic boot ederken bir hata mesaji vermiyor mu /var/log/messages’e bak bi” dedi. Ben baktığımda hiç bir kayıt görmemiştim ancak bu sefer bütün logu tekrar kontrol etmeye karar verdim.(çünkü bir hata mesajı olmak zorundaydı) Birde ne göreyim, ilk boot aşamasın da hataya düşmüş ama yeniden başlatma sırasında ikinci veya üçüncü kez bu satırları basmamıştı.(ilginç)

debian boot hatasi, debian efi hatasi, efi boot sorunu

Kernel sorunsuz yerinde, sadece boot ve diğer partitionlar sıkıntılı peki ne yapabilirdim? Tabii ki aşağıdaki komut ile boot tekrar kuracaktım. Ayrıca unutmayın Hetzner üzerinden alınan her sanal sunucunun boot partitionu her zaman sda15’de olacaktır. Emin değilseniz lsblk ile bakmanızı öneririm.

mount /dev/sda15 /boot/efi
grub-install /dev/sda15

Sorun çözüldü mü? HAYIR, yeniden başlatma sonrasında aşağıdaki görsel beni karşıladı.

sulogin error, debian login error, boot sekans sorunu

Son koz olarak systemctl default komutunu verdiysem de işe yaramadı, hatalar silsilesi ile karşılaştım. EFI ile bu sorun çözülmeyeceğini anladıktan sonra artık gerekeni yaparak bütün paketleri kaldırdım.

apt-get purge grub-efi grub-efi-amd64 grub-efi-amd64-bin

Sonrasında aşağıdaki işlemleri yaparak nihai çözüme ulaştım.

grub-install /dev/sda
update-grub
reboot

Bu kontroller ve işlemler sonrasında sabaha karşı dört gibi sorun çözülmüş oldu, tekrar yaşanmayacağının garantisi olmasa da benim için çok ilginç bir sorun giderme süreci oldu.

Sistem Uzmanı, Linux Hacısı, El-Kernel