Boot-Repair, Windows için çok fazla grub menüsü girişi oluşturdu


11

Son zamanlarda Ubuntu'yu Windows 10 ile birlikte bir HP dizüstü bilgisayarda çift önyüklemeye kurdum. Başlangıçta, Windows seçeneklerini seçerek gruba geri dönecek şekilde grub kullanarak Windows'u önyükleyemedim.

Sonra bir önyükleme onarım yaptım ve tüm bu ekstra seçenekler grub menüsünde ortaya çıktı.

Windows'u "Windows UEFI bootmgfw.efi" seçeneğini kullanarak açabiliyorum, ancak "Windows Önyükleme Yöneticisi'nin (on / dev / sda1) standart seçeneğini kullanamıyorum.

Bu girişleri nasıl azaltabilirim ve ikinci seçeneği kullanarak Windows'u neden önyükleyemiyorum?

İşte grub'un bir görüntüsü. İlk seçenek Ubuntu:

grub - 1. seçenek Ubuntu



3
Gerçekten bunun bir kopyası değil. Mine Linux çekirdek girişlerini göstermiyor. Artı, önyükleme yöneticisi seçeneğini kullanarak Windows'u önyükleyemediğim nokta.
Abhay

1
Vay canına, çabuk ol! Sadece bir cevap denedikten sonra kabul etmelisin , ama bu kesinlikle yardımcı olacaktır !!! ;-) Ayrıca, başlamadan önce gerçekten bir yedek almanız gerektiğini veya sildiğiniz konusunda gerçekten, gerçekten dikkatli olmanız gerektiğini mi söyledim ?!
Fabby

1
Fabby'nin önerdiği gibi GRUB Customizer'ı kullanmak yardımcı olacaktır. Bir seçeneğin neden işe yarayıp diğerinin çalışmadığına gelince, /boot/grub/grub.cfgdosyayı sisteminizden görmemiz gerekir . Şüphem, çalışmayan girişin BIOS tabanlı sistemler için tasarlandığı, ancak sizinki açıkça EFI tabanlı olduğundan, BIOS modu seçeneği (gerçek olmayan) bir başlangıç ​​değildir.
Rod Smith

Yanıtlar:


5

Windows burada konu dışı, ancak cevap, bu çok eski bir teknoloji ve önyükleme sektörü sadece 512 bayt, bu yüzden tutmasını istediğimiz her şeyi tutacak kadar büyük değil.

Kendi başınıza gruba kolayca giriş eklemek ve kaldırmak için lütfen:

  1. CloneZilla Live kullanan diğer işletim sistemleri de dahil olmak üzere tüm bilgisayarınızın tam sistem yedeklemesini alın
  2. Hayır, şaka yapmıyordum! Önce tam bir sistem yedeği alın ! :-)
  3. Birisi size bir PPA yüklemenizi söyleyince çok dikkatli olun, eğer gerçekten istediğiniz şeyse kendi araştırmanızı yapın ve ancak o zaman devam edin
  4. Aşağıdaki komutları uygulayarak grub-customizer'ı kurun :

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer
    sudo apt update
    sudo apt install grub-customizer
    
  5. Başlayın grub-customizerve cehennemi özelleştirin: resim açıklamasını buraya girin

  6. Ciddi bir sorunla karşılaşırsanız, sistem yedeklemenizi geri yükleyin.


1
Cevaplarda ve hatta yorumlarınızda hassas bir tarzınız var. Dürüst olmak gerekirse, neden herkesin doğru ve faydalı cevabı bir cevap olarak işaretlemediğini, beni hayal kırıklığına uğrattığını merak etmedim ama hiç sormadım. Yorumlarınızı kopyalayıp cevaplarımdan sonra yapıştırabilirim 😂
Haitham A. El-Ghareeb

Ben sadece grubönyükleme menüsünü gizleme farklı bir soru üzerinde bir artı bir verdi . Ancak bu durumda, "Bu konuya az önce gönderdiğim cevap" nispeten eminim "dir. Şimdi bana iki kez oldu ve onarım yöntemi her seferinde kusursuz.
WinEunuuchs2Unix

FTR Ben de bu cevabı iptal ettim. Geçen yılın yorumu yanlış yorumlanmış olabilir.
WinEunuuchs2Unix

12

Her çalıştırdığımda boot-repair, ana menüme çalışmayan 5 ekstra Windows önyükleme seçeneği ekler grub. Sizin durumunuzda 11 ekstra giriş eklendi !

grub.cfg sorunu gösterir

Sır /etc/grub/grub.cfgdosyada bulunabilir :

### BEGIN /etc/grub.d/25_custom ###
    menuentry "Windows UEFI bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Boot/bkpbootx64.efi
}

menuentry "EFI/ubuntu/fwupx64.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/ubuntu/fwupx64.efi
}

menuentry "Windows UEFI bootmgfw.efi sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Boot/bkpbootx64.efi
### END /etc/grub.d/25_custom ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/nvme0n1p2)' --class windows --class os $menuentry_id_option 'osprober-efi-D656-F2A8' {
    savedefault
    insmod part_gpt
    insmod fat
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root  D656-F2A8
    else
      search --no-floppy --fs-uuid --set=root D656-F2A8
    fi
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-9478-B6E2' {
    savedefault
    insmod part_gpt
    insmod fat
    set root='hd0,gpt1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  9478-B6E2
    else
      search --no-floppy --fs-uuid --set=root 9478-B6E2
    fi
    chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###

Bu bölüm 30_os-prober, grubtutmak istediğiniz "iyi" Windows menü girişlerini içerir . Bölümü 25_customtarafından oluşturulan sahte girişleri içerir boot-repair. Grub yapılandırma dosyasını düzenleyemezsiniz çünkü bir dahaki sefere update-grubçalıştırıldığında üzerine yazılır .


Bölüm 25_customBoot Repair tarafından oluşturuldu

Sistemimde:

$ locate 25_custom
/boot/efi/boot-repair/log/20171111_224241/nvme0n1p5/25_custom
/boot/efi/boot-repair/log/20171208_030854/nvme0n1p5/25_custom
/etc/grub.d/25_custom

Ayarlanmış (ve çalışmıyor) ekstra Windows seçeneklerine bir göz atın:

$ cat /boot/efi/boot-repair/log/20171208_030854/nvme0n1p5/25_custom
#!/bin/sh
exec tail -n +3 $0

menuentry "Windows UEFI bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Boot/bkpbootx64.efi
}

menuentry "EFI/ubuntu/fwupx64.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/ubuntu/fwupx64.efi
}

menuentry "Windows UEFI bootmgfw.efi sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "Windows Boot UEFI loader sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Boot/bkpbootx64.efi

Bunlar hatalı girişler vardır boot-repairoluşturulan /etc/grub.d/25_customsonradan içine derlendiğini \boot\grub\grub.cfg.


Ters Önyükleme Onarımı'nın 25_custom

sudo -H gedit /etc/grub.d/25_customİlk üç satır dışındaki her şeyi kullanın ve silin:

#!/bin/sh
exec tail -n +3 $0
  • Dosya artık metin içeren iki satır ve bir boş satır içeriyor.
  • Dosya 'yı kaydet.
  • Koş sudo update-grub.
  • Yeniden Başlatma.

Artık menünüz artık çalışmayan beş sahte Windows menü girişi ile şişmiyor.

İçinde üç satır olup olmadığını tekrar kontrol edin 25_custom

Bu komutu çalıştırın ve 25_customüç satır olduğunu doğrulayın :

$ wc /etc/grub.d/25_custom
      3       6      30
#     ^       ^       ^
#     |       |       +--- Number of characters
#     |       +----------- Number of words
#     +------------------- Number of lines

#Yorumları deşifre wc(kelime sayısı) çıktısına ekledim .


1
Kendi cevabımı aşağılayamıyorum ya da silemiyorum, ancak sizi oylayabilirim ... :) Metin tabanlı çözüm genellikle daha kesin olsa da, GUI çözümünün her zaman metin tabanlı bir çözümden daha fazla oy alacağına dikkat edin (= teknik olarak daha iyi)
Fabby

1
Cevabımda bir oylama yaptığım için, GUI olmayanların benimkinden daha fazla oy aldığını görünce şaşırdım! Aferin!
Fabby

1
@Fabby Teşekkürler. Ben de seninkini oy verdim :)
WinEunuuchs2Unix

Sormaya geç kalmış olabilirim ama ... neden 25_custom'e hiç ihtiyaç duyulur? Neden bu 3 hatta ihtiyaç var?
poomerang

@poomerang Grubun dünyasındaki boş bir yapılandırma dosyasının doğal sırasıdır. Uymak isyan etmekten daha kolaydır.
WinEunuuchs2Unix
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.