BIOS Hatasında Linux Boots Nasıl Onarılır

Yayınlanan: 2022-09-28
Linux komut istemini gösteren mavi arka planda dizüstü bilgisayar.
fatmawati achmad zaenuri/Shutterstock.com

GRUB güncellemelerinin, Linux bilgisayarların BIOS veya UEFI ayarlarına önyükleme yapmasına neden olduğu bilinmektedir. Bunun çözümü, gerçekten bilmeniz gereken yararlı bir sistem kurtarma hilesinden yararlanır.

Bir Vaka Çalışması: GRUB 2:2.06.r322

2022 yazında Arch ve Arch tabanlı Linux dağıtımları için bir sistem güncellemesi, GRUB'un yeni bir sürümünü içeriyordu. GRUB, gr ve birleşik önyükleyici anlamına gelir.

Önyükleyici, bilgisayarınız açıldığında önyükleme işlemini başlatan bir uygulamadır. Sonunda operasyonel ve erişilebilir bir işletim sistemi elde etmek için çeşitli yazılım araçları ve yardımcı programların doğru bölümden ve doğru sırayla başlatılması gerekir. GRUB bu olaylar dizisini başlatır.

Bilgisayarınızda birden fazla işletim sistemi kuruluysa, GRUB, hangi işletim sistemini kullanacağınızı seçebileceğiniz bir menü sunar. GRUB 2:2.06.r322'deki kod değişikliklerinden biri, yeni bir GRUB seçeneği olan --is-supported için destek ekledi. Bu seçenek, bellenime önyükleme özelliğinin mevcut olup olmadığını belirtmek için kullanılır. Öyleyse, GRUB, EUFI ayarlarınıza önyükleme yapmanıza izin vermek için önyükleme menüsüne bir giriş ekler.

Yeni seçeneğe “30_uefi-firmware.in” adlı bir komut dosyasında başvurulmuştu. Bu dosyanın farkı, bir if ifadesinin kaldırıldığını ve iki satırın eklendiğini gösterir.

Yeni satırlardan biri if ifadesinin yerini aldı. Diğer yeni satır, fwsetup --is-supported içerir. "fwsetup" içindeki "fw", bellenim anlamına gelir. Ancak bu satır yeni if ​​ifadesinin üzerinde olduğu için her zaman çalışacaktır. Eğer if if test doğru olarak çözümlendiğinde çalışır.

UEFI Nedir ve BIOS'tan Nasıl Farklıdır?
İLGİLİ UEFI Nedir ve BIOS'tan Nasıl Farklıdır?

Bu, UEFI bilgisayarlarının hepsinde olmasa da pek çoğunda sorunlara neden oldu. Yüklemiş olduğunuz GRUB sürümünün bu komutu destekleyip desteklemediğine bağlıydı. Etkilenen makineler iki şeyden birini yapar. Ya önyükleme işleminin hiçbir zaman tamamlanmadığı, ancak sürekli olarak yeniden başlatıldığı bir önyükleme döngüsüne girerler ya da bilgisayar doğrudan UEFI üretici yazılımı ayarlarına önyükleme yapar. Her iki durumda da, bilgisayarınızı Linux'ta önyüklemeye zorlamanın bir yolu yoktu.

Bunun gibi durumlarla karşılaştığınızda, her zaman tam bir yeniden yükleme yapma nükleer seçeneği vardır. Bu işe yarar, ancak sabit sürücünüzün nasıl bölümlendiğine bağlı olarak, yeni bir yedekleme olmadan veri kaybedebilirsiniz.

Düşük etkili yöntem, chroot ve Canlı USB veya Canlı CD/DVD kullanır. Bu, Linux bilgisayarınızda önyükleme yapamadığınızda veya oturum açamadığınızda her türlü sistem arızasını anlamak ve kollamak için iyi bir tekniktir.

Kullanacağımız Teknik

Bu tekniği kullanmak için, üzerinde Linux dağıtımı olan ve canlı bir Linux örneğine ön yükleme yapan, önyüklenebilir bir USB veya CD/DVD'ye sahip olmanız gerekir. Bunlara genellikle Canlı USB veya Canlı CD/DVD adı verilir. Tüm büyük dağıtımlar bu işlevi destekler.

Kalıcı Depolama ile Canlı bir Ubuntu USB Sürücüsü Nasıl Oluşturulur
İLGİLİ Kalıcı Depolama ile Canlı bir Ubuntu USB Sürücüsü Nasıl Oluşturulur

Hiçbir şey yüklemeyeceğiz, bu nedenle canlı medyanın bilgisayarınıza yüklediğiniz dağıtımla aynı olması gerekmez. Örneğin, bir EndeavourOS bilgisayarını onarmak için bir Ubuntu USB kullanabilirsiniz. Herhangi bir canlı ortama erişiminiz yoksa, bir görüntüyü indirmek ve bir USB bellek çubuğuna veya bir CD/DVD'ye yazmak için başka bir bilgisayar kullanmanız gerekir.

Canlı ortamdan önyükleme yaptığınızda, mevcut dosya sisteminizi bağlayabilir ve bunlara erişebilirsiniz. Yüklü dosya sisteminiz, canlı ortamdan başlatılan Linux dosya sisteminin bir parçası olarak görünecektir. Bu harika. Erişebilirsek, tamir etme şansımız var. Ama bir sorunu gündeme getiriyor.

Linux'ta chroot Komutu Nasıl Kullanılır
İLGİLİ Linux'ta chroot Komutu Nasıl Kullanılır

Bu karma dosya sisteminin kökü, kurulu dosya sisteminizin kökü değil, canlı medya dosya sisteminin köküdür. Linux sisteminizde yapılandırılan dosya yollarının, canlı Linux'un chroot göre bir yerde değil, dosya sisteminizin içinde bir yerde doğru hedef konumlarına başvurmasını sağlamak için, yüklü dosya sisteminiz. Başka bir deyişle, “/” ile başlayan yollar, başlangıç ​​noktası olarak dosya sisteminizin kökünü kullanır.

Bunun için kullandığımız test bilgisayarı ext4 dosya sistemini kullanıyor ancak bu tekniği başka dosya sistemlerinde de kullanabilirsiniz. Sadece hangi bölümleri veya birimleri bağlamanız gerektiğini ve bunları nereye monte edeceğinizi belirlemeniz gerekir. İlkeler aynı.

Uygulamaya koymak

Önyüklenebilir bir USB sürücü oluşturduk ve sorunlu bilgisayarımızı ondan başlattık. Kullandığımız dağıtım EndeavourOS idi. EndeavourOS canlı medya, XFCE 4 masaüstü ortamına açılıyor.

EndeavourOS canlı ortamı, XFCE masaüstü ortamına yüklendi

Dosya sisteminizin kökünü hangi bölümlerin tuttuğunu ve önyükleme bölümünün hangisi olduğunu belirlemek için bir terminal penceresi açın ve fdisk komutunu kullanın. -l (liste bölümü) seçeneğini kullanıyoruz. sudo kullanmanız gerekecek.

 sudo fdisk -l 

Bölümleri ve aygıtları listelemek için sudo fdisk -l komutunu kullanma

“EFI Sistemi” ve “Linux dosya sistemi” etiketli girişleri görene kadar çıktıyı kaydırın.

Önyükleme ve kök bölümleri vurgulanmış olarak sudo fdisk -l komutunun çıktısı

Bu bilgisayarda ikisi de sda ​​sabit diskinde. /dev/sda1 ve /dev/sda2 bölüm etiketleriyle belirtildiği gibi, bir ve iki bölümlerinde bulunurlar.

Bilgisayarınızda farklı sabit disklerde ve bölümlerde olabilirler. Bulundukları bölümleri not etmeye dikkat edin, bunları sonraki komutlarda kullanmamız gerekecek.

Bu bölümlerin üzerindeki dosya sistemlerini canlı dosya sistemine bağlayarak bağlamamız gerekiyor. mount komutu bunu bizim için yapacak. Unutmayın, bölüm etiketlerinizin farklı olması muhtemeldir, bu nedenle fdisk komutunuzun sonuçlarından olanları kullandığınızdan emin olun.

 sudo mount /dev/sda2 /mnt
 sudo mount /dev/sda1 /mnt/boot/efi 

Önyükleme ve dosya sistemi kök dosya sistemlerini bağlama

Dosya sisteminin etkin kökünün gerçek, kurulu dosya sisteminizin kökünde başlamasını sağlamak için, kökü “/mnt” bağlama noktası olarak ayarlamak için chroot kullanacağız. Bu, kurulu dosya sisteminizin kökünün canlı dosya sistemine aşılandığı yerdir.

 sudo chroot /mnt 

Yeni bir etkili kök oluşturmak için chroot komutunu kullanma

Komut isteminin, artık etkin bir şekilde kök olarak oturum açtığınızı ve bilgisayarınızın dosya sisteminin “/” kök dizininde olduğunuzu gösterecek şekilde değiştiğini unutmayın.

“/home” dizinine geçerek ve içinde hangi dizinlerin bulunduğunu kontrol ederek bunu kolayca test edebiliriz.

 cd /ev
 ls 

Kullanıcı hesaplarını listelemek için ls kullanma

Kendi kullanıcı hesabınız için bir dizin de dahil olmak üzere, bilgisayarınızda yapılandırılmış her kullanıcı için bir dizin görmelisiniz. Bu bilgisayarın "dave" adında tek bir kullanıcısı var. chroot komutunu kullanmadan önce cd /home kullansaydık, canlı dosya sisteminin “/home” dizinine girerdik.

Açık olmak gerekirse, artık gerçek dosya sisteminize kök kullanıcı olarak erişiyorsunuz, bu yüzden dikkatli olun.

GRUB 2:2.06.r322 ile sorunu çözmek için tek yapmamız gereken grub-install komutunu çalıştırmaktı.

 grub-kurulum 

GRUB önyüklemesini BIOS hatasına düzeltmek için grub-install komutunu çalıştırma

grub-install install'ı bu şekilde körü körüne çalıştırmak genellikle önerilmez. Bu durumda, gerekli olan buydu.

Onar veya Değiştir

Farklı bir sorunu düzeltmeye çalışıyorsanız, sorununuz için uygun çözüm için dağıtımınıza ilişkin forumları kontrol etmeniz gerekir. Yaygın bir şikayetse, yakında bunun için bir çözüm bulacaksınız.

En azından artık dosya sisteminize erişebildiğinize göre, verilerinizi bazı çıkarılabilir ortamlara kopyalayabilirsiniz. Tam bir yeniden yükleme yapmaya karar verirseniz, veri kaybetmezsiniz.

İLGİLİ: Linux'ta "install" Komutunu Kullanarak Dosyaları Kopyalama