GRUB, Windows algılamıyor


66

Sonunda ikinci sürücüme Ubuntu'yu yükledim. Bilgisayarımı başlattığımda GRUB bana Ubuntu'yu Windows 7'yi değil açılışını sunuyor . GRUB'da Ubuntu ile Windows arasında seçim yapabilmem için ne yapılması gerekiyor?

Başlangıçta önyükleme menüsü için F12'ye bastığımda ve Windows Boot ManagerWindows 7'ye önyüklemeyi seçtiğimde .


Komutu çalıştırdım sudo fdisk -lve işte log ( http://pastebin.com/Cgv1igHc ):

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xc3ffc3ff

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  1953525167   976762583+  ee  GPT
Partition 1 does not start on physical sector boundary.

Lütfen Boot-Info URL’nizi belirtin . Bu size yardımcı olmak için gerekli bilgileri sağlayacaktır.
LovinBuntu

Yanıtlar:


100
  1. Ubuntu'yu açın ve Windows bölümünüzü bağlayın (sadece Nautilus'taki diski açın)

  2. Aşağıdakileri komut satırında ( Ctrl+ Alt+ t) çalıştırın:

    sudo os-prober
    
  3. Windows kurulumunuz bulunduysa, şunları çalıştırabilirsiniz:

    sudo update-grub
    

2. adımın sadece sizin rahatınız için olduğunu unutmayın. Yalnızca Windows 7 bölümünü bağlayıp çalıştırabilirsiniz update-grub.

İlgili soru


2 pencere kurulumuna sahip 2 bölümüm var, sadece başka bir bölüme kurulumumu tespit ediyor, ancak yeni kurulan pencereler (SSD'de değil)! hatta monte edilmiş ... bir fikir?
Philippe Gachoud

Teşekkürler. Os-prober'in 1. adıma ihtiyacı var gibi görünüyor. Çok önemli, yoksa pencereler işe yaramaz.
Elips görünüm

mount -t ntfs-3g -o ro /dev/sda4 /media/windowswindows bölümünü monte etmek için
Yuvaraj Loganathan

mükemmel! Her iki komutu çalıştırmak hile yaptı
Aryeh Beitz

çalıştı! teşekkür ederim!
DigaoParceiro

10

Eğer os-proberyöntem işe yaramıyorsa özel grub menü girdisi eklemeyi deneyin. Burada belgelendi .

İlk iki adım sizinkileri bulmak içindir <UUID>.

  1. Çalıştırın lsblkve satırın adını bulun./boot/efi

Örnek çıktı (burada cevap sda2'dir) :

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   477G  0 disk 
├─sda1        8:1    0   450M  0 part 
├─sda2        8:2    0   100M  0 part /boot/efi
├─sda3        8:3    0    16M  0 part 
├─sda4        8:4    0    47G  0 part /windows
├─sda5        8:5    0 425,6G  0 part /
└─sda6        8:6    0   3,7G  0 part [SWAP]
mmcblk0     179:0    0  14,9G  0 disk 
└─mmcblk0p1 179:1    0  14,9G  0 part
  1. Çalıştır önceki adımdaki cevabı ( benim durumumda) .sudo blkid /dev/sdaXsdaXsda2

Örnek çıktı (burada cevap 58E4-427D'dir) :

/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
  1. Dosyanın sonuna aşağıdakini ekleyin /etc/grub.d/40_custom:
menuentry "Windows 7" {  
     insmod ntfs  
     set root='(hd0,1)'  
     search --no-floppy --fs-uuid --set <UUID>
     chainloader +1  
}
  1. Koş sudo update-grubve yeniden başlat.

@Christopher Markieta'ya başka bir cevaptaki tüm ayrıntılar için teşekkürler. Bunları da bunlara ekledik (özel girişin özellikleri farklı olsa bile)
Carolus

9

Windows 10 çalışıyordu ve sonra çift önyüklemeyi denedim. Ubuntu kurulduktan sonra, Win 10 GRUB yükleyicimde görünmüyordu. Aşağıdakileri denedim -

Öncelikle, Win10'da Secure Boot özelliğini devre dışı bıraktım. Ardından Ubuntu'da aşağıdaki komutları çalıştırın:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Oldukça iyi çalıştım. Bundan sonra GRUB'da hem Windows hem de Ubuntu'yu bulabildim.


Bu PPA hala var mı?
Ekleyemedim

Sadece 404 Not FoundDebian'da bir hata aldı
winklerrr

5

Boot-Repair adımlarını izleyerek benzer bir sorunu çözdüm

Önyükleme onarımını yükleyin

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

"Tavsiye edilen onarım" butonuna basın ve önerildiği şekilde bir terminale yerleştirin.

Grubumun kötü bir kapanma nedeniyle pencereleri tanımadığını düşünüyorum ve sorunu çözdü.


3

Daha önce kurulmuş bir RAID yazılımınız varsa, bu sorunlara neden olabilir. Benim durumumda, 2010 yılında masaüstümü kurdum ve çizgili bir RAID ile iki adet 1.5 TB yükledim. Kullanıcı gracemercy54 burada, bunun eski RAID yapılandırmasından meta veriler üzerinde kaldığını belirtiyor.

Başlangıçta Hermes'in adımlarını denediğimde, "RAID setindeki hatalı cihaz sayısını" belirten bir hata aldım. Yani, eğer bu size bir terminal açar ve çalıştırırsanız:

   sudo dmraid -rE
   sudo os-prober
   sudo update-grub

Bu benim için düzeltti.


Benimkinin baskın nedeniyle de kaynaklandığını düşünüyorum. Ama sudo dmraid -rEbenim için çalışmıyor. Sonunda AHCIBIOS'a geçici olarak geçip daha sonra Ubuntu'ya önyükleyip çalıştırıp sudo update-grubsonra RAID ONgeri dönerek yaptım .
realhu

1
UYARI : eğer hala kullanıyorsanız, bu RAID dizinizi imha edecektir.
Christopher Markieta

3

Başka bir bilgisayarda çalışan bir örnekten kopyaladığım için biraz farklı bir yöntem, kendi kayıtlarım için gönderiyorum.

Aşağıdakileri ekleyin /etc/grub.d/40_custom:

menuentry "Windows 10" {
        insmod part_gpt
        insmod fat
        search --no-floppy --fs-uuid --set <boot_efi_uuid>
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

bölümünün <boot_efi_uuid>UUID'si nerede /boot/efi. Bunu bulmak için:

$ lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT                                                  
sda                 8:0    0 119.2G  0 disk
└─md126             9:126  0 357.7G  0 raid0
  ├─md126p1       259:0    0   499M  0 md
  ├─md126p2       259:1    0   100M  0 md    /boot/efi                                                   
$ sudo blkid | grep md126p2 # Replace with your device
/dev/md126p2: UUID=<boot_efi_uuid>

Tabii ki, dosyayı kaydettikten sonra çalıştırın:

sudo update-grub

Yeniden başlat, şimdi başarılı bir şekilde Windows'u başlatabiliyor olmalısın.


2

Windows 10'da da aynı problem vardı. Dizüstü bilgisayarıma WIN10'lu çift önyükleme için Linux Mint 18.1 Tarçın 64-bit'i yükledim. Yüklemeden sonra GRUB yalnızca Linux'u başlatmayı teklif etti, ancak Windows'u başlatmadı.

Grub menüsünden eksik olan Windows 10 video çözümünü ve Grub'un Güncelleme / Onarımdan sonra Win10'u tanımadığı forum başlığını buldum , ancak ne yazık ki ikisi de işe yaramadı, bu yüzden sorunumu çözmek için bu ikisinin bir kombinasyonunu kullandım.

Terminalinizi açın ve şu komutları izleyin ve 40_custom adlı dosyayı açın:

sudo gedit /etc/grub.d/40_custom

Bu satırları dosyanın sonuna ekleyin ve sonra kaydedin ve çıkın:

menuentry "Windows 10" {
   set root='{hd0,1}'
   chainloader + 1
}

Dosyayı kaydettikten sonra GRUB'unuzu bu komutla güncelleyin:

sudo update-grub

Sonra çalışıp çalışmadığını görmek için makinenizi yeniden başlatın.

Umarım bu diğerleri için de işe yarar!


Bu cevabın doğru olmasına rağmen, 29 Mayıs 2015
Charles Green’in

1

Ben de aynı problemi yaşadım ve bunu çözmek için 2 gün geçirdim. Ama bugün sabah bu ani bir fikrim vardı ve işe yaradı.

Bios / uefi ayarlarınızı gözden geçirmelisiniz. Benim durumumda önce Uefi'nin önyüklemesine izin vermek zorunda kaldım. Aksi takdirde ubuntu pencerelerini tespit edemedim. Ayarlamam gereken şey ubuntu> Windows Önyükleme Yöneticisi> DISK1> DISK2> DISK3 idi. Eklenen DISK1> Yazılım> Windows Önyükleme Yöneticisi> DISK3.

Biri hdd'ye diğeri ssd'ye 2 ubuntu kurulumu yaptım. Görünüşe göre ssd kurulumu bir nedenden ötürü UEFI olarak görünmüyordu ancak önce daha hızlı önyükleme yapmak istedim.

Önyükleme sırasının algılayıcı sistemlerdeki toprağı etkilemesini beklemiyordum. Bu yüzden bunu incelemeye değer.


1

Yukarıdaki gibi sorunlarım vardı ve çözüm sadece aşağıdaki gibi manuel giriş eklemek oldu:

menuentry "WINDOWS10 (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(/dev/sda,msdos1)'
    search --no-floppy --fs-uuid --set=root 688EB92384B85968
    drivemap -s (hd0) ${root}
    chainloader +1
}

yukarıdaki UUID'nin (688E ...) önyükleme pencereleri diskinden alındığı yer blkid /dev/sdb1.

DİKKAT: ek satır

set root='(/dev/sda,msdos1)'

başvurduğu sdaolarak Ubuntu altında görünür olduğu /dev/sdbbile aslında sata otobüs süredir ilk disktir /dev/sdaikinci kök olarak monte sürücü aslında /.

Belki de grub komut dosyalarının düzgün çalışamamasının nedeni budur. Disklerin fiziksel sırasını değiştirecek zamanım olmadı, ancak sorunu çözmek için de yardımcı olabilir.

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.