GRUB'da Windows Görünmeme Hatası Çözümü

 Merhaba, 

bu yazıda UEFI kurulum yapılmış cihazlarda Grub'da Windows ekranının görünmemesi durumunda veya "Grub'da Windows Görünmesine Rağmen Grub-Customizer'da Görünmediği için Varsayılan Grub Sırasını Değiştirememe" durumunda sorunun nasıl çözüleceğini ve ilk olarak nasıl Windows üzerinden başlatılabileceğini göstereceğim. 



Bunun için eğer boot-repair ile onarım yapmamışsak onu yapıyoruz. Nasıl yapılacağını

https://www.sglbl.com/2020/12/dual-bootta-grub-calsmyor-direkt.html bu yazıda anlattım. 

Bu sorun hala devam ediyorsa öncelikle 

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

terminalde bu komutlar ile veya Ubuntu Software üzerinden Grub Customizer'ı kurup açıyoruz.


Eğer yapılandırma kısmında Windows entry'si varsa Genel Ayarlar sekmesindeki Varsayılan girdi kısmında Windows'u seçip kaydedebiliriz. Eğer Windows aralarında yoksa aşağıdaki adımları uygulayacağız.

Öncelikle EFI Disk bölümünü bulmamız gerekiyor. Eğer Windows'a erişiminiz yoksa direkt olarak 2.adıma bakınız.
  1. Windows EFI Disk bölümünü bulma

Başlata sağ tıklayıp Disk Yönetimi'ne giriyoruz. Sonrasında EFI yazan yerin hangi disk hangi bölüm olduğunu buluyoruz. hd harddisk anlamına geliyor. Grub düzenlerken bunu kullanacağımız için; Disk 0, bölüm 1'i (hd0,1) olarak düşünebiliriz.

  1. Ubuntu ile Windows - EFI Disk bölümünün türünü bulma.
        

    Gparted uygulamasını açıyoruz. Eğer Gparted yoksa uygulamayı Ubuntu Uygulama mağazasından indirebiliriz.

  Gparted'da  /dev/sda1 olarak görülen kısım Windows EFI bölümünü gösteriyor. sda dışında sdb gibi şeylerin olmaması tek diskin olduğunu gösteriyor. 1 de bölüm 1'i gösteriyor. Eğer sdb, sdc gibi şeyler olsaydı şu şekilde düşünebilirdik;
sda = disk 0 yani hd0
sdb = disk 1 yani hd1 şeklinde düşünebiliriz.
Örneğin bende sda1 EFI system partition'u gösteriyor. sda1 yazan yer bizim için (hd0,1). 
Siz de EFI system partition'un bulunduğu kısmın kodunu yukarıdaki gibi not edin.

3) Grub'la Windows EFI Disk bölümünün türünü bulma.

Üstteki 1. veya 2.adımda bulduğumuz EFI bölümünün msdos veya gpt gibi hangi şekilde olduğunu öğrenmemiz gerekiyor. Örneğin ben üstteki adımlardan EFI partition'ımın (hd0,1)'de bulunduğunu öğrenmiştim. Şimdi de Grub'u açıyoruz.

Grub'da iken c tuşuyla command line'ı açın ve "ls" yazın. Çıkan sonuçlar disk bölümlerini temsil ediyor. Farklı bilgisayarlarda gpt yerine msdos... gibi şeyler de yazabilir. Eğer sizin üst adımlarda bulduğunuz bölüm grub listesinde ,gpt şeklinde kullanılmışsa biz Windows'a giriş için bu kodu kullacağız, eğer gpt yerine msdos yazıyorsa msdos içeren kodu kullanacağız. 

Örneğin, önceden Windows EFI'nin (hd0,1) olduğunu bulmuştuk. Grub ekranında ls yazınca çıkan sonuçlar msdos değil, gpt içeriyor diye (hd0,gpt1) olarak düşünebiliriz.

4) Grub'a Windows'u Ekleme ve Grub sırasını Ubuntu Üzerinden değiştirme.

Disk bölümümüzün ismini bulduğumuza göre Grub'u düzenlemek ve Windows'u ekleme işlemine geçebiliriz.

 sudo gedit /etc/grub.d/40_custom

komutunu terminalde yazarak 40_custom dosyasını açıyoruz.

Normalde yapmamız gereken şey, aşağıdaki komutu dosyanın sonuna yapıştırmak.


menuentry "Windows 10" {
insmod part_msdos
insmod chain
set root="(hd0,gpt1)"
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Fakat yukarıdaki komut bizim diskimizin sadece hd0 olduğu durumda çalışıyor, eğer biz ekstra disk takarsak ve Windows'un bulunduğu disk hd1 olursa Windows'u açarken hatayla karşılaşabiliriz. Bu yüzden yukarıdaki yöntem yerine aşağıdaki gibi arama mantığı kullanabiliriz. hint ifadesi ise daha hızlı açılması için öncelikle bizim bulduğumuz partition'a bakılmasını söylüyor. Eğer bizim hint kısmında yazdığımız partition'da bulamazsa o zaman diğer partition'ları arayıp Windows'un boot başlatma dosyasını bulmaya çalışıyor. Bu olay disk açılma işini hızlandırıyor. Bu yüzden yukarıdaki değil aşağıdaki kodu yapıştıracağız.

menuentry "Windows 10" {
search --hint-efi=hd0,gpt1 --set=root --file /efi/Microsoft/Boot/bootmgfw.efi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}


Yapıştırıp kaydettikten sonra "sudo update-grub" veya "sudo update-grub2" komutuyla grub bilgimizi güncelliyoruz.

Bu işlem sayesinde Grub'da Windows'un görünmesini sağladık. 

Eğer Grub'da varsayılan olarak Windows'un seçili olmasını istiyorsak veya bekleme süresini saniye cinsinden değiştirmek istiyorsak aşağıdaki adımları uygulayabiliriz.

 sudo gedit /etc/default/grub 

komutu ile grub düzenleme dosyamızı açıyoruz. 


40_custom dosyasında menuentry yerine koyduğumuz ismi ( örneğin bende "Windows 10"), aynı şekilde grub dosyasının içinde GRUB_DEFAULT yerine yazıyoruz.

GRUB_TIMEOUT_STYLE'ı "hidden" yerine "menu" yapıyoruz. 

Alttaki satırda da GRUB_TIMEOUT'ta grub menüsünü göstermek istedigimiz saniyeyi yazıyoruz. Ben 4 yazdım yani bu sayede ilk başlangıçta grub menüsü 4 saniye açık olarak Windows 10 varsayılan olarak seçiliyken duracak.

Son olarak 3.adımdaki "sudo update-grub" veya "sudo update-grub2" komutuyla grub bilgimizi güncelliyor ve yeniden başlatıyoruz.

Paylaş:

Ara