Linux'u Düzeltmek için GRUB Kurtarma Nasıl Kullanılır

Yayınlanan: 2023-05-14
Bir dizüstü bilgisayarda Ubuntu Linux başlangıç ​​ekranı
Jordan Gloor / Nasıl Yapılır Geek
GRUB kabuklarınız bir "grub>" istemi gösteriyorsa, Linux sisteminizi düzeltmek için ls , set , linux ve initrd komutlarını kullanabilirsiniz. Bunun yerine bir "grub kurtarma>" istemi görürseniz, bilgisayarınızı başlatmak için set , insmod , linux ve initrd komutlarını kullanın.

Linux bilgisayarınız işletim sistemine önyükleme yapamıyorsa, muhtemelen kendinizi GRUB kabuğundaki bir komut istemine bakarken bulacaksınız. Bozuk önyükleme işlemlerinizi onarmak için bu adımları izleyin.

İçindekiler

Önyükleyiciniz Önyükleme Yapmadığında
GRUB Kabuğunun Kullanılması
GRUB Kurtarma Kabuğunun Kullanılması
Diğer Olası Çözümler

Önyükleyiciniz Önyükleme Yapmadığında

Bir önyükleme hatası kadar kalbinizin derinden ve hızlı bir şekilde batmasına neden olan çok az bilgisayar sorunu vardır. Çalışan bir işletim sistemi olmadan, bilgisayarınız gerçekten bir bilgisayar değildir.

Temel nedeni derinlemesine incelemenin kolay bir yolu olmayan çok anlaşılmaz bir sorun olabilir. Linux'a erişiminiz olmadan, sorunu araştırmak için kullandığınız olağan teşhis araçlarının ve işlemlerinin hiçbirini kullanamazsınız. Ve sorunun ne olduğunu belirlemeden, onu nasıl düzeltebilirsiniz?

Linux'ta GRUB, önyükleme işlemini kontrol eden yazılımdır. Yüklü birden fazla işletim sisteminiz varsa, önyükleme yapmak istediğinizi seçmenize olanak tanır.

GRUB, konfigürasyonu tarafından kontrol edilir. İşlevlerini yerine getirmek için diğer destekleyici dosyalara da güvenir. Bunlardan herhangi biri eksikse veya bozulursa, GRUB çalışmaz. Bilgisayarınızın sabit sürücülerinde ve bölümlerinde yapılan değişikliklerin GRUB yapılandırmasına yansıtılması gerekir. Durum böyle değilse, GRUB'un talimatları bir anlam ifade etmez ve önyükleme işleminiz çalışmaz.

Linux'ta Bir ISO Dosyasını USB Sürücüye Yazma
İLGİLİ Linux'ta Bir ISO Dosyasını USB Sürücüye Yazma

Bir not olarak, GRUB dediğimiz şey aslında GRUB 2'dir. Bu, GRUB'un 2012'de piyasaya sürülen gelişmiş bir sürümüdür. Diğer değişikliklerin yanı sıra, "grub.cfg" dosyasının oluşturulma biçimini değiştirmiştir ve çıkarılabilir medyadan önyükleme yapın.

GRUB bir işletim sistemini yükleyemezse, GRUB kabuğundaki bir komut istemine bakakalırsınız. Bu, bir avuç eylem gerçekleştirmenize izin verecek minimalist bir ortamdır. Ancak doğru şekilde yapıldığında, bu adımlar bilgisayarınızı yeniden canlandırabilir.

İki farklı GRUB kabuğu vardır. Sorunun temel nedenine bağlı olarak, kendinizi bir GRUB kabuk isteminde bulabilirsiniz:

 yiyecek >

veya bir GRUB kurtarma kabuğu isteminde:

 grup kurtarma>

GRUB kurtarma kabuğu, GRUB kabuğundan bile daha kısıtlıdır, ancak yine de bilgisayarınızın önyüklenmesini sağlayacak kadar güçlüdür. Bilgisayarınız önyüklendikten sonra, temel nedeni iyileştirmek için çok daha iyi bir konumdasınız.

GRUB Kabuğunun Kullanılması

GRUB kabuğu, Linux komutlarının küçük bir alt kümesini kullanmanıza izin veren bir komut satırı arayüzüdür. Kendinizi her zamanki oturum açma ekranınız yerine burada bulursanız, bu, önyükleme işleminizin berbat olduğu anlamına gelir.

GRUB kabuk istemi

Erişiminiz olan komutlar, normal Linux sürümleriyle aynı değildir. Örneğin GRUB kabuğu ls komutu, Bash ls komutu değildir. Onunla çok az ortak noktası var. Bunu --help seçeneğini kullanarak görebiliriz.

 ls --yardım 

--help seçeneğini ls'nin GRUB kabuk sürümüyle kullanma

Yalnızca beş seçeneği listeler. Bu, Bash'te ls tarafından desteklenen düzinelerce seçenekten çok uzak. Yine de, biraz sessiz komut paletimizle bile, durumu hala düzeltebiliriz.

İstendiğinde, ls yazın ve "Enter" tuşuna basın.

 ls 

Sürücüleri ve bölümleri gösteren, ls'nin GRUB kabuk sürümünün çıktısı

Bu bilgisayarda üç öğe listelenir.

  • (hd0) ilk sabit sürücüdür.
  • (hd0,gpt1), ilk sabit sürücüdeki ilk bölümdür.
  • (hd0,gpt2) birinci sabit sürücüdeki ikinci bölümdür.

“gpt” etiketi, GUID bölüm tablosu anlamına gelir. Bir bölüme atıfta bulunurken “ () ” parantezlerini dahil etmemiz gerekir, ancak etiketi atlayabiliriz.

Bölümlere sırayla bakmak için ls kullanacağız.

 ls (hd0,1)
 ls (hd0,2) 

Linux bölümünü tanımlamak için ls'nin GRUB kabuk sürümünü kullanma

İkinci bölümün üzerinde bir Linux dosya sistemi olduğunu bulduk. O bölümün kök dizinine bakarak biraz daha araştıracağız.

 ls (hd0,2)/ 

Belirli bir bölümü incelemek için ls'nin GRUB kabuk sürümünü kullanma

Açıkçası, bu, üzerinde önyükleme dizini bulunan Linux bölümüdür. Burası GRUB dosyalarının, Linux önyükleme görüntülerinin ve diğer önyükleme dosyalarının saklandığı yerdir.

Bu bilgisayarda, komutlarımızı verirken bölüme (hd0,2) başvurmamız gerekecek. Bilgisayarınızda, Linux kurulumunuzu hangi bölümde bulursanız kullanın.

Dizin yolunu ve dosya adını bölüm adına ekleyerek metin dosyalarına bakmak için cat komutunu şu şekilde kullanabiliriz:

 cat (hd0,2)/etc/sayı 

GRUB kabuğundaki cat komutunu kullanarak Linux sürümüne bakma

Çoklu önyükleme kurulumlarında bu, doğru bölümde olduğunuzu doğrulamak için yararlı bir yoldur. Yapılandırma dosyalarının içine bakmak için de harikadır.

Burada, “/boot” dizinindeki dosyaları listelemek için -l (uzun) ve -h (insan tarafından okunabilir boyutlar) seçenekleriyle ls komutunu kullanıyoruz.

 ls -lh (hd0,2)/önyükleme 

ls'nin GURB sürümünü kullanarak /boot dizinindeki dosyaları listeleme

Bu bilgisayarı başlatmak için, GRUB'a yeni keşfedilen Linux bölümümüzün önyükleme dosyalarını tuttuğunu söylemeliyiz.

 kök ayarla=(hd0,2)

Hangi Linux çekirdeğinden önyükleme yapacağımızı belirlememiz gerekiyor. Bunu linux komutu ile yapıyoruz. Ayrıca, olağan Linux sabit disk ve bölüm adlandırma şemasını kullanarak kök dizini sağlamamız gerektiğini unutmayın.

 linux /boot/vmlinuz-6.2.0-20-jenerik kök=/dev/sda2

Örnek bilgisayarımızda, ilk sabit disk olan (hd0) kullanıyoruz. Buna olağan Linux terminolojisinde sda ​​denir. İkinci bölümün Linux bölümü olduğunu bulduk, bu nedenle sda2 belirtmemiz gerekiyor.

Sizin makineniz farklı olabilir. Örneğin, Linux bölümünüz (hd2,1) olarak bildirilirse bu, üçüncü sabit sürücüdeki bölüm bir veya sdc1 anlamına gelir.

Bilgisayar önyüklendiğinde hangi RAM tabanlı dosya sistemi görüntüsünün kullanılacağını da belirtmemiz gerekir. Bu, kullandığımız Linux çekirdeği ile aynı sayısal bileşeni kullanmalıdır.

 initrd /boot/initrd.img-6.2.0-20-genel 

GRUB kabuğundaki önyükleme parametrelerini ayarlama

Şimdi, sistemimizi başlatmak için "boot" yazın ve "Enter" tuşuna basın.

Bu, bilgisayarınızı Linux'a açmalıdır. Bu bizi tekrar çalıştırdı, ancak yine de GRUB'u düzeltmemiz gerekiyor, böylece bilgisayarımızı her başlattığımızda bunu yapmamıza gerek kalmıyor.

update-grub çalıştıracağız. Bu, sistemimizi tarayacak, işletim sistemlerini belirleyecek ve yeni bir GRUB yapılandırması oluşturacaktır. Bunu root kullanıcısı olarak çalıştırmamız gerekiyor.

 sudo güncelleme grubu 

grub.cfg dosyasını yeniden oluşturmak için update-grub çalıştırılıyor

Nadiren, grub-install kullanarak GRUB önyükleyicisini de yeniden kurmanız gerekebilir.

 sudo grub-install /dev/sda

Hangi bölüme kurulacağını belirtmenize gerek olmadığını, yalnızca hangi sürücüye yükleneceğinizi unutmayın. Normal kurulumlarda, Linux'unuzun üzerinde olduğu sürücünün aynısıdır.

Pudingin kanıtı bir sonraki yeniden başlatmayla birlikte gelir. Bilgisayarınız normal şekilde yeniden başlatılmalıdır.

İLİŞKİLİ: GRUB2 Önyükleme Yükleyici Ayarlarını Yapılandırma

GRUB Kurtarma Kabuğunun Kullanılması

Önyükleme sorununun doğasına bağlı olarak, GRUB kabuğuna düşmeyebilirsiniz. GRUB kurtarma modunda kalmış olabilirsiniz. Bu durumda, isteminiz şöyle görünecektir:

 grup kurtarma>

Bu kabukta vermemiz gereken komutlar farklıdır. Tıpkı GRUB kabuğunu kullanıyormuşsunuz gibi, Linux bölümünü bulmak için ls kullanmamız gerekiyor. Linux bölümünü belirledikten sonra devam edebilir ve bu komutları girebilirsiniz.

Bilgisayarınız için doğru olan sürücü tanımlayıcılarını ve çekirdek sürüm numaralarını kullanmayı unutmayın. insmod komutu çekirdek modüllerini yükler.

 öneki ayarla=(hd0,2)/boot/grub
 kök ayarla=(hd0,2)
 normal mod
 insmod linux
 linux /boot/vmlinuz-6.2.0-20-jenerik kök=/dev/sda2
 initrd /boot/initrd.img-6.2.0-20-genel 

GRUB kurtarma kabuğunda önyükleme parametrelerini ayarlama

Ardından, bilgisayarınızı yeniden başlatmak için “boot” yazıp “Enter” tuşuna basabilirsiniz. Yeniden başlatıldıktan ve oturum açtıktan sonra, update-grub komutuyla GRUB'u güncelleyin.

Diğer Olası Çözümler

Sorunun "vmlinuz" ve "initrd.img" dosyaları gibi eksik önyükleme dosyaları olduğu ortaya çıkarsa, bilgisayarınızı Canlı DVD'den veya önyüklenebilir Linux USB flash sürücüsünden önyükleyebilir ve eksik dosyaları yerine kopyalayabilirsiniz.

“vmlinuz” ve “initrd.img” dosyalarının, eşleşen bir çift olarak çalıştıkları için aynı sürüm numaralarına sahip olmaları gerektiğini unutmayın.

İLGİLİ: Mac'inizde Önyüklenebilir Linux Canlı USB Nasıl Oluşturulur