Grub, çift önyüklemeden sonra Windows 8 seçeneğini göstermiyor


25

Bu yüzden, Windows 8 makinemi Ubuntu 12.04 ile başarıyla önyüklemiş oldum. Ancak, önyükleme sırasında hangi işletim sisteminin yükleneceğini seçme konusunda hala uygun bir yöntemim yok.

Ubuntu'yu kurduktan sonra bilgisayarım hala Windows 8'i doğrudan yüklüyor. Sonra grubx64.efiönyükleyicimin beyaz listesine ekledim . Fakat bundan sonra makinem, doğrudan GRUB'un gölgesi olmadan Ubuntu'yu yüklüyor!

Boot-repair kullandım ve şu paste.ubuntu URL adresini aldım: paste.ubuntu.com/1326074 . Önyükleme onarımı çalıştırdıktan sonra (ve grubx64.efidosyayı yeniden listeleme ), GRUB artık Windows 8 seçeneği göstermiyor!

Son olarak koştum sudo fdisk -lve bana bunu verdi:

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


Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 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: 0x6396389f

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

Sanırım sorunumun fdiskyukarıdan gelen uyarı ile bir ilgisi var ama ne yapacağımı bilemiyorum. Şimdi nasıl ilerlerim?

Düzenle

Benim etc/default/grubaşağıdaki gibidir:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Ayrıca, sadece kayıt için, çift ​​önyüklememi kurarken takip ettiğim şey budur . Öğretici (kullanan, 11.10, dikkat etmeliyim), bu sorun hakkında hiçbir şeyden bahsetmiyor. Yapmamam gereken bir şey var mı?


Bu cevabı okuyun, size yardımcı olabilir: askubuntu.com/questions/84501/…
NickTux

Yanıtlar:


17

İlk olarak, fdisk -lçıktılarınız sorun değil; bu sadece diskinizi GUID Partition Table (GPT) bölümleme sistemini kullanarak tanımlar . Senin bölümleri görüntülemek için, bunun yerine örneğin, GPT etkin aracı kullanmak gerekir gdiskveya partedyerine fdiskGPT anlamıyor ki.

İkincisi, uygun bir giriş ekleyerek /etc/grub.d/40_customve sonra yaparak GRUB’u Windows’tan zincirleme yükleyebilirsiniz sudo update-grub. Bir giriş şöyle görünebilir:

menuentry "Windows 8" {
    set root='(hd0,gpt1)'
    chainloader /EFI/microsoft/BOOT/bootmgfw.efi
}

Ayrıntılar, kurulumunuza bağlı olabilir.

Üçüncüsü, eğer rEFInd'i çirkin olarak görürseniz, her zaman başka bir rEFInd temasını deneyebilir veya rEFInd belgelerinde açıklandığı şekilde kendinizinkini oluşturabilirsiniz . Alternatif olarak, bir metin modu önyükleme yükleyicisini tercih ediyorsanız, textonlyseçeneği içinde ayarlayabilirsiniz refind.conf. Gummiboot'a geçerek benzer bir son elde edebilirsiniz .

Dördüncüsü, eğer rEFInd periyodik olarak hataları bildiriyorsa, lütfen bunları yazın veya dijital bir kamerayla ekranın resmini çekin ve bana bildirin. (Ben rEFInd'in koruyucusuyum.) Kimse bildirmezse hatalar giderilemez; veya rEFInd'de hata yoksa, mesajlar sorunun nasıl çözüleceğine dair ipuçları sağlayabilir.

Son olarak, Linux'u rUBInd (veya gummiboot) ile GRUB kullanmadan başlatmak mümkündür; Sadece farklı bir EFI önyükleyici gerekiyor. Benim kişisel tercihim, Linux çekirdeğinin EFI saplama yükleyicisidir. Bu, ancak 3.3.0 ve sonraki sürümlerde mevcuttur. Ubuntu 12.04 3.2.0 çekirdeği ile gönderildiğinden, Ubuntu 12.04 için önceden oluşturulmuş bir 3.3.0 bulmanız gerekir (bu tür şeyleri duydum, ancak kullanışlı bir bağlantım yok) veya kaynak kodundan kendi. (Aynı zamanda uygun bir çekirdeğe sahip olan Ubuntu 12.10'u da kurabilirsiniz, ancak muhtemelen LTS sürümü isteyebilirsiniz, bu nedenle bu en uygun olmayabilir.) Linux önyükleme sayfayıBunun nasıl ayarlanacağı ile ilgili ek ayrıntılar için. Ayrıca ELILO veya GRUB Legacy kullanabilirsiniz. Sadece gecikmeye itiraz ederseniz, GRUB 2 zaman aşımı değerini azaltabilir ve varsayılan olarak menüyü göstermeyecek şekilde ayarlayabilirsiniz.


1
Öncelikle, vay, rEFInd'in sahibi olduğunun farkında değildim. Sonra, GRUB menü ile ilgili olarak ... Bunu denedim ama işe yaramadı. Karanlıktaki diğer çekimler arasında ESP bölümümü ayarlamaya çalıştım ama boşuna. Hatta bu grafiksel GRUB editörlerinden birini kullanmayı denedim (adı unuttum). Son olarak, rEFInd ile ilgili olarak, rapor ettiği hatalar kritik değildir (notumu notuma göre düzenler) --- başlangıçta sadece kesin .efi'yi bulamadığını söyler. Nereden geldiklerini bilmiyorum.
skytreader

ESP'de belirtilen dosyanın varlığını kontrol edin. Ayrıca emin olun vaka dosya adının doğrudur. (Farketmemeli, ama nerede olduğunu bilen bir EFI tanıyorum!) Eğer bu işe yaramazsa, bu giriş üzerinden Windows'u başlatmayı denediğinizde GRUB hangi hata mesajını (varsa) geri döndürür?
Rod Smith,

8

CD kullanarak
Ubuntu'yu açın , "Ubuntu'yu Dene" yi seçin,
İnternete bağlanın, - -
kullanarak bir terminal penceresi açın ve ardından çalıştırın:CtrlAlttboot-repair

Önyükleme onarım bulunmazsa, yükleyin:

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

Önerilen Onarım'ı tıklayın. Bir kağıda görünecek yeni URL'yi yazın. Bilgisayarı yeniden başlatın, hem Ubuntu'ya hem de Windows'a erişen bir GRUB menüsü edinmelisiniz. Herhangi bir sorun olursa, yeni URL’yi belirtin.


7

Her iki cevap ile /EFI/Microsoft/Boot/bootmgfw.efiyapardı. Ancak doğru ayarları almak için cehennem gibi hack set root='(hd0,gpt1)'. Biliyorsanız çok basit

GRUB başladığında: c Komut lsistemine basın .
Sen (hd0, gpt1) vb gibi diskler üzerinde bölümleri listesini almak
Türü ls(hd0, gpt1) ve diğerlerini deneyin.
Etikete bakın ve eğer EFI’yi belirtiyorsa, bir şansınız olduğunu biliyorsunuzdur.

Uyarı: Ubuntu'yu nasıl kurduğuna bağlı olarak EFI ile etiketlenmiş daha fazla bölüm olabilir. Hepsini dene.


6

Koşmayı dene sudo update-grub. Bu, Windows 8'i otomatik olarak tanımalı ve GRUB'a eklemeli ve menüyü yeniden yapılandırmalıdır.

Bu başarısız olursa, lütfen /etc/default/grubdosyanızı burada paylaşın, bir göz atacağız.


1
Merhaba. sudo update-grubhile yapmadı. Sorumu dahil etmek için sorumu değiştirdim /etc/default/grub. Bu arada, NikTh bağlantılı cevabı çalışıyorum.
skytreader

3

Bunu /etc/grub.d/30_windowsiçeren bir dosya yapmayı deneyin :

#! /bin/bash
cat << EOF
menuentry "Windows 8" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
EOF
Sonra koş sudo update-grubve yeniden başlat.

Tam öğretici


1
  1. Lütfen Süper Grub'u indirin ve talimatlarını izleyin. Onsuz asla evden çıkmam. Grub menüsü görünmüyorsa Çok yararlı.

  2. Bir cd'ye yüklemek ve önyüklemek zorunda kalacaksınız. Sadece onunla birlikte gelen talimatları izleyin.

  3. Ayrıca pencereleri düzeltmek için de kullanılabilir. Windows 8'e sadece önyükleme yapabildiğiniz için linux düzeltmesini seçmek istersiniz.

Bununla oynayın ama talimatları okuyun. Bir süre sonra bir uzman gibi hissedeceksiniz. RS


0

Ultimate Geçici Çözümüm

(* Çünkü Tom çalışmadı ve NikTh'in bağlantısı çok karmaşık. Ama hey, rahatsız ettiğiniz için teşekkürler!)

REFInd'i yükleyin .


Birisi olası bir kusuru ve düzeltmeyi işaret edinceye veya sorunlarımı çözene kadar kendi cevabımı kabul ediyorum (ki ne yazık ki, "Windows 8'i GRUB'a nasıl kolayca koyabilirim ?" Sorusunu sorar ).

( Düzenleme 8/6/17: Sonunda bu problemi çözmek için rEFInd kullandım (yukarıdaki cevaba bakınız).)

Mükemmel bir çözüm olmaktan uzak, rEFInd kullanmak çok kesmek gibi görünüyor. Birincisi, çirkin görünüyor (özür dilerim) ve bana, erişim sırasında belirli .efi'nin ({ext2_x64, hfs_x64, iso9660_x64, reiserfs_x64} .efi) reddedildiğini söyledi. basın*. Ve son olarak, Ubuntu efi’yi seçmek hala gereksiz bir adım olan GRUB’u yüklüyor;

Özetle...

Artıları: sistemim şimdi UEFI öncesi çift botlarım gibi az çok çalışıyor. Eksileri: çirkin görünüyor artı daha uzun önyükleme süresi.

* Bu rEFInd'nin install.shUbuntu bölümüme yüklendiğini not etmeliyim . REFInd (Windows üzerinden kurulum) ile ilgili önceki deneyimler bu sorunu yaşamadı.


Daha önce Windows üzerinden yapılan bir REFInd kurulumu bulunamayan dosyalar hakkında hata vermediyse, ancak şu anki Linux kurulumunuz bunu yapıyor, benim önerim iki şeyden birinin gerçekleştiğidir: 1) Bir ana kartınız var. büyük / küçük harf duyarlılığı olan bir hata; bu durumda dosya veya dizin durumuyla uyuşmama durumu iyileştirebilir; veya 2) ESP'nizde tuhaf bir şey var (örneğin, FAT16 - FAT32 veya bazı küçük dosya sistemi hasarları). Bazı EFI'ler ESP'lerinde dosya sistemleri konusunda çok telaşlı görünüyorlar. Tam dosya adları, sorunu daraltmakta yardımcı olabilir.
Rod Smith

Tamam. Benim hatam. Bazı efisleri bulamadığını söylemiyordu, sadece belirli efislere erişimi reddedilmişti (bu yüzden şunu söylüyorum efis var, sadece erişilemez?). Bu dosyaları şimdi not aldım, ancak nereden geldikleri hakkında bir fikrim yok.
skytreader

"Erişim engellendi", benim deneyimime göre EFI'de olağandışı bir hatadır. AFAIK, EFI, Linux'un sahipliğini veya izinlerini desteklemiyor, bu nedenle bir disk okuma hatası olmadıkça bir anlam ifade etmiyor. Bir sonraki yeniden başlatmada buharlaşan EFI altında tuhaf disk yazma hataları gördüm . Bu sorun devam ederse, bir donanım arızası durumunda diskinizde bir SMART testi yapmayı düşünebilir ve dosfsck'in düzeltemediği tuhaf bir dosya sistemi hasarı olması durumunda ESP'yi yedekleyebilir ve yeniden yazabilirsiniz. Bunun dışında hangi dosyaların sorun çıkardığını bildirmek faydalı olabilir.
Rod Smith

1
"Erişim reddedildi" mesajı neredeyse kesinlikle Güvenli Önyükleme ile ilgilidir. Böyle bir mesaj, eğer rEFInd Güvenli Önyükleme modundayken işaretsiz bir EFI ikili dosyasını yüklemeye çalışırsa oluşur. Bu konuda şaşırtıcı olan şey, imzalanmadığı için rEFInd'i başlatabiliyor olmanız. Benim önsezim, donanım yazılımında bir çeşit tuhaf buggy yarı aktif Secure Boot ayarına sahipsin. Şu anda en kolay çözüm Secure Boot'u tamamen devre dışı bırakmaktır, ancak başkaları da var. Daha fazla bilgi için rodsbooks.com/efi-bootloaders/secureboot.html adresindeki Web sayfama bakın.
Rod Smith

Hp dizüstü bilgisayarımda f9 tuşuna basıp grub önyükleme yapmam gerekiyor, aksi takdirde pencere yükleniyor. Ayrıca, hiç kullanmamama rağmen, Windows'u grubtan önyükleme seçeneği de var. Windows’a sıkıyorsam, onu açıp Windows’u beklerim. Ubuntu'yu önyüklemeyi planlıyorsam, sadece açıldığında f9'a basarım.
geoffmcc
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.