GRUB non rileva Windows


66

Ho finalmente installato Ubuntu sul mio secondo disco. Quando avvio il mio computer, GRUB mi offre solo di avviare Ubuntu, non Windows 7. Cosa bisogna fare per poter scegliere tra Ubuntu e Windows in GRUB?

Quando premo F12 per il menu di avvio all'avvio e lo scelgo Windows Boot Managersi avvia in Windows 7.


Ho eseguito il comando sudo fdisk -led ecco il registro ( 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.

Indica l' URL delle informazioni di avvio . Ciò fornirà informazioni utili per aiutarti.
LovinBuntu,

Risposte:


100
  1. Avvia Ubuntu e monta la tua partizione di Windows (apri semplicemente il disco su Nautilus)

  2. Eseguire quanto segue sulla riga di comando ( Ctrl+ Alt+ t):

    sudo os-prober
    
  3. Se è stata trovata la tua installazione di Windows, puoi eseguire:

    sudo update-grub
    

Nota che il passaggio 2 è solo per tua comodità. Potresti semplicemente montare la partizione di Windows 7 ed eseguire update-grub.

Domanda correlata


Ho 2 partizioni con 2 installazioni di Windows, rileva solo la mia installazione su un'altra partizione, ma non le nuove finestre installate (su un SSD)! addirittura montato ... un'idea?
Philippe Gachoud,

Grazie. Interessante che l'os-prober sembra aver bisogno del passaggio 1. Molto importante, o windows non funzionerà.
Vista ellittica il

mount -t ntfs-3g -o ro /dev/sda4 /media/windowsper montare la partizione di Windows
Yuvaraj Loganathan,

Perfetto! eseguire entrambi i comandi ha funzionato
Aryeh Beitz

lavorato! grazie!
DigaoParceiro,

10

Se il os-probermetodo sopra non funziona, prova ad aggiungere una voce di menu grub personalizzata. Documentato qui .

I primi due passaggi sono per trovare il tuo <UUID>.

  1. Esegui lsblke trova il nome della riga con/boot/efi

Esempio di output (qui la risposta è sda2) :

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. Corri sudo blkid /dev/sdaXdov'è sdaXla risposta del passaggio precedente ( sda2nel mio caso) .

Esempio di output (qui la risposta è 58E4-427D) :

/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
  1. Aggiungi quanto segue alla fine del file /etc/grub.d/40_custom:
menuentry "Windows 7" {  
     insmod ntfs  
     set root='(hd0,1)'  
     search --no-floppy --fs-uuid --set <UUID>
     chainloader +1  
}
  1. Esegui sudo update-grube riavvia.

Grazie a @Christopher Markieta per tutti i dettagli in un'altra risposta. Li ho aggiunti anche a questo (anche se i dettagli della voce personalizzata sono diversi.
Carolus

9

Avevo Windows 10 in esecuzione e quindi ho provato il doppio avvio. Una volta installato Ubuntu, Win 10 non veniva visualizzato nel mio caricatore GRUB. Ho provato il seguente -

Prima di tutto, ho disabilitato Secure Boot in Win10. Quindi ha eseguito i seguenti comandi in Ubuntu:

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

Ha funzionato abbastanza bene. Dopo ciò, sono riuscito a trovare sia Windows che Ubuntu in GRUB.


Questo PPA esiste ancora? Non sono stato in grado di aggiungerlo e ha affermato che non esisteva dal disco di avvio di Ubuntu 18.04
jocull

Ho appena ricevuto un 404 Not Founderrore su Debian
winklerrr il

5

Ho risolto un problema simile seguendo i passaggi di Boot-Repair

Installa boot-repair

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

Premi "Riparazione consigliata" e metti in un terminale alcuni comandi come suggerito.

Penso che il mio Grub non riconosca Windows a causa di un cattivo spegnimento e abbia risolto il problema.


3

Se in precedenza è stato installato un RAID che potrebbe causare problemi. Nel mio caso, ho creato il mio desktop nel 2010 e ho installato due 1,5 TB con un RAID a strisce. L'utente gracemercy54 menziona qui che questo è rimasto sui metadati della precedente configurazione RAID.

Quando inizialmente ho provato i passaggi di Hermes, ho ricevuto un errore che specificava "un numero errato di dispositivi in ​​un set RAID". Quindi, se ciò accade, apri un terminale ed esegui:

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

Questo mi ha risolto.


Penso che il mio sia stato causato anche dal raid. Ma sudo dmraid -rEnon funziona per me. Alla fine ce l'ho fatta passando a AHCIBIOS temporaneo, quindi ho avviato Ubuntu ed eseguito sudo update-grub, quindi sono RAID ONtornato indietro.
realhu,

1
ATTENZIONE : questo distruggerà il tuo array RAID se lo stai ancora usando.
Christopher Markieta,

3

Metodo leggermente diverso come ho copiato da un esempio funzionante su un altro computer, pubblicando i miei record.

Aggiungi quanto segue a /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
}

dov'è <boot_efi_uuid>l'UUID della tua /boot/efipartizione. Per trovare questo:

$ 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>

Quindi ovviamente, una volta salvato il file, esegui:

sudo update-grub

Riavvia, ora dovresti essere in grado di avviare Windows con successo.


2

Ho avuto lo stesso problema con Windows 10. Ho installato Linux Mint 18.1 Cinnamon 64-bit sul mio laptop per il dual boot con WIN10. Dopo l'installazione, GRUB si è offerto di avviare solo Linux ma non Windows.

Ho trovato la soluzione video per Windows 10 mancante dal menu di Grub e il thread del forum Grub non riconosce Win10 dopo l'aggiornamento / riparazione , ma sfortunatamente non ha funzionato per me, quindi ho usato una combinazione di questi due per risolvere il mio problema.

Apri il tuo terminale e segui questi comandi e apri il file chiamato 40_custom:

sudo gedit /etc/grub.d/40_custom

Aggiungi queste righe alla fine del file, quindi salva ed esci:

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

Dopo aver salvato il file aggiorna il tuo GRUB con questo comando:

sudo update-grub

Quindi riavviare il computer per vedere se funziona.

Spero che questo funzioni anche per gli altri!


Credo che questa risposta sia corretta, ma è in gran parte una copia della risposta inviata il 29 maggio 2015
Charles Green,

1

Ho avuto lo stesso problema e ho trascorso 2 giorni a capirlo. Ma oggi ho avuto questa improvvisa idea al mattino e ha funzionato.

È necessario rivedere le impostazioni di bios / uefi. Nel mio caso, ho dovuto prima avviare Uefi. Altrimenti non sono stato in grado di rilevare Windows da Ubuntu. Quello che dovevo impostare era ubuntu> Gestione avvio di Windows> DISK1> DISK2> DISK3. DISK1 installato> ubuntu> Gestione avvio di Windows> DISK3.

Ho avuto 2 installazioni di Ubuntu una su HDD e una su SSD. Apparentemente l'installazione ssd non veniva mostrata come UEFI per qualche motivo, ma prima volevo avviare il disco più velocemente.

Non mi aspettavo che l'ordine di avvio potesse influenzare grub nel rilevare i sistemi. Quindi vale la pena rivederlo.


1

Ho avuto problemi come qui sopra e la soluzione era solo quella di aggiungere l'inserimento manuale come di seguito:

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
}

dove UUID sopra (688E ...) è stato prelevato dal disco di Windows di avvio tramite blkid /dev/sdb1.

ATTENZIONE: la linea aggiuntiva

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

si riferisce a ciò sdache è visibile sotto Ubuntu in quanto /dev/sdbanche in realtà è il primo disco nel bus SATA mentre /dev/sdain realtà è la seconda unità montata come root /.

Forse è per questo che gli script di grub non potevano funzionare correttamente. Non ho avuto il tempo di cambiare l'ordine fisico dei dischi ma è del tutto possibile che possa aiutare a risolvere anche il problema.


0

Ho avuto lo stesso problema dopo aver installato gli aggiornamenti da Ubuntu. I seguenti comandi hanno funzionato perfettamente per me:

sudo apt-get install os-prober

Prima installa os-prober per rilevare windows e poi aggiorna grub:

sudo grub-mkconfig -o /boot/grub/grub.cfg
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.