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’un açılımı grve sensaflaştırılmış bootloader.
Ö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 için destek ekledi, --is-supported
. 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
ifadesi kaldırıldı ve iki satır eklendi.
Yeni hatlardan biri değiştirildi if
Beyan. Diğer yeni satır şunları içerir: fwsetup --is-supported
. “fwsetup” içindeki “fw”, bellenim anlamına gelir. Ama bu çizgi olduğu için üstünde yeni if
ifadesi, her zaman çalışacak. vücudunun içinde olsaydı if
ifade, yalnızca test if
ifade doğru olarak çözüldü.
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 kullanır chroot
ve bir Canlı USB veya Canlı CD/DVD. 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.
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.
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 köküne göre bir yerde değil, dosya sisteminizin içinde bir yerde doğru hedef konumlarına başvurmasını sağlamak için kullanmamız gerekir. chroot
kökünüzü işaret eden yeni bir kök ayarlamak için Kurulmuş dosya sistemi. 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 sistemi, ancak bu tekniği diğer 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.
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
emretmek. kullanıyoruz -l
(liste bölümü) seçeneği. kullanman gerekecek sudo
fazla.
sudo fdisk -l
“EFI Sistemi” ve “Linux dosya sistemi” etiketli girişleri görene kadar çıktıyı kaydırın.
Bu bilgisayarda, ikisi de sda
sabit disk. Bölüm etiketlerinde belirtildiği gibi, bir ve iki bölümlerde bulunurlar. /dev/sda1
ve /dev/sda2
.
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. bu mount
komut bunu bizim için yapacak. Unutmayın, bölüm etiketlerinizin farklı olması muhtemeldir, bu nedenle sonuçlarınızdan olanları kullandığınızdan emin olun. fdisk
emretmek.
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
Dosya sisteminin etkin kökünün gerçek, kurulu dosya sisteminizin kökünden başlamasını sağlamak için, kullanacağız chroot
kökü “/mnt” bağlama noktası olarak ayarlamak için. Bu, kurulu dosya sisteminizin kökünün canlı dosya sistemine aşılandığı yerdir.
sudo chroot /mnt
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 /home
ls
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. kullanmış olsaydık cd /home
biz kullanmadan önce chroot
komutuyla, canlı dosya sisteminin “/home” dizinine girmiş olurduk.
Sadece açık olmak gerekirse, şimdi erişiyorsunuz gerçek dosya sisteminiz olarak kök kullanıcı, bu yüzden dikkatli olun.
GRUB 2:2.06.r322 ile sorunu çözmek için tek yapmamız gereken grub-install
emretmek.
grub-install
Koşma grub-install
körü körüne böyle genellikle tavsiye edilmez. 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.
İLİŞKİLİ: Linux’ta “install” Komutunu Kullanarak Dosyaları Kopyalama