Windows 8 rimuove Grub come boot manager predefinito


37

Ho una serie VAIO S di Sony con Windows 8 preinstallato e ho installato Ubuntu 12.10 su una nuova partizione. Quando il PC si avvia Grub viene visualizzato e posso scegliere tra Windows 8 (non ha funzionato all'inizio, ho dovuto modificare le impostazioni di Grub) e Ubuntu 12.10. Quando seleziono Ubuntu 12.10 è tutto a posto, ma quando uso Windows 8 e riavvio Grub non viene più visualizzato (Windows 8 si avvia immediatamente).

Ho avviato Ubuntu 12.10 LiveUSB, usato efibootmgre ho scoperto che Windows 8 (ogni volta che si avvia) cambia il bootloader predefinito EFI da Grub a Boot Manager di Windows.

Come posso cambiare questo in Windows 8? Ho letto qualcosa bcdedit, ma non funziona o non so come usarlo ...


Penso che tu sia sulla buona strada per risolverlo da solo. Continua a scavare [;
Melon,

3
Sì, ho solo bisogno di una piccola cosa, poi scriverò un tutorial su come farlo. Microsoft fa schifo perché devono cambiare il boot manager predefinito? A mio avviso è per impedire alle persone di utilizzare nient'altro che i prodotti Microsoft.
Kouros,

Naaah, penso che a loro non importa. Comunque, spero di vedere presto il tuo tutorial.
Melon,

Ho appena chiesto al servizio clienti Microsoft di questo e mi hanno indirizzato ai loro forum. Sui forum un tizio mi ha detto che le finestre si mettono al primo posto. Periodo. Se non mi piace, basta creare un file batch in Windows che gira ad ogni fine di avvio bcdedt-s la configurazione di Windows uefi per avviare Grub prima volta successiva. Bello.
netom

Il file system GPT contiene un duplicato dei settori di avvio. Sembra che Windows stia solo controllando il checksum MBR e 'riparandolo' sovrascrivendolo con i dati MBR protettivi originali. Una buona pratica di sicurezza. it.wikipedia.org/wiki/GUID_Partition_Table

Risposte:


33

Non posso fare promesse, ma provalo da una finestra del prompt dei comandi di Windows avviata con i privilegi di amministratore:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Si noti che {bootmgr}dovrebbe essere digitato esattamente; questa non è una variabile. Se non funziona, puoi provare questo in Linux:

  1. Eseguire il backup dell'intero contenuto di /boot/efi(partizione di sistema EFI o ESP).
  2. Tipo sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft.
  3. Tipo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi.
  4. Crea una nuova /etc/grub.d/40_customvoce di file a cui fa riferimento EFI/Microsoft/bootmgfw.efi. Modellalo dopo la voce esistente in /boot/grub/grub.cfgriferimento a EFI/Microsoft/Boot/bootmgfw.efi; basta rimuovere Bootdal percorso di avvio e dare alla voce un nuovo nome.
  5. Digitare sudo update-grubper installare la nuova voce di GRUB.

Al riavvio, dovrebbe essere visualizzato GRUB. Il problema è che se / quando Windows decide di reinstallare il proprio caricatore di avvio, il sistema ricomincerà da capo direttamente su Windows.

Per il passaggio 4, puoi:

  1. Copia la 40_customvoce che inizia con menuentry 'Windows ...'situata tra una serie di ### BEGIN <path> ###e ### END <path> ###tag / commenti. Questa è la voce con il percorso contenente Boot.
  2. Crea una nuova voce nel file /etc/grub.d/40_customaggiungendo la copia menuentry.
  3. Cambia il nome della nuova voce (l'originale dovrebbe essere Windows Boot Managero qualcosa di simile).
  4. Cambia il percorso da EFI/Microsoft/Boot/bootmgfw.efia EFI/Microsoft/bootmgfw.efi.

MODIFICARE:

Da quando ho scritto questa risposta, sono venuto a conoscenza di uno strumento Windows di terze parti chiamato EasyUEFI, che è uno strumento GUI più semplice rispetto bcdeditalla regolazione dell'ordine di avvio EFI da Windows. Non so se EasyUEFI impedirà a Windows di apportare modifiche, tuttavia, se Windows ha l'abitudine di impostarsi come predefinito su ogni avvio. Pertanto, bcdeditpotrebbe essere ancora necessario, ma vale sicuramente la pena provare anche EasyUEFI.


5
Considereresti di farmi un favore e di darci le istruzioni specifiche per il terminale per il passaggio 4? Ho fatto tutto il resto tranne quel passaggio perché non ero sicuro di quali comandi digitare. Grub ora funziona, ma non mi consente di avviare Windows. Eek!

per favore, elabora il passaggio 4
ji-ruh,

\EFI\ubuntu\shimx64.efitrovato su Ubuntu 18.0.4 LTS
CSGO

2

Come posso cambiare questo in Windows 8? Ho letto qualcosa su bcdedit, ma non funziona o non so come usarlo ...

Lo stesso problema qui, ho finalmente capito che questo ultimo aggiornamento W8.1 lo ha fatto, e lo so perché ho appena aggiornato oggi e non ho fatto per 33 giorni o così il mio HP Pavilion mi ha detto ..

Comunque, ecco cosa ha funzionato:

Ho seguito questo video di Utube per interrompere "Riparazione automatica [avvio]": http://www.youtube.com/watch?v=VRQYmtysFkg

Quindi cambiato bootmgr usando la soluzione sopra fornita da Rod: bcdedit / set {bootmgr} path \ EFI \ ubuntu \ grubx64.efi

Bingo!

btw: Boot Repair dal mio LiveUsb non ha funzionato ma ha causato un breve flash mentre W8 ha riparato la sua voce di avvio ..


1
È fantastico che tu abbia deciso di aiutarti! Ma la tua risposta non fornisce alcun contesto per il link (video) che hai pubblicato e noi qui a Ask Ubuntu lo vogliamo . Vogliamo che le risposte qui forniscano contesti poiché i collegamenti (video) potrebbero essere morti prima o poi.
VenkiPhy6,

0
  1. run Boot-Repair 'il Recommended Repairda LiveCD, quindi riavviare il pc.
  2. se ancora non va bene, avvia Boot-Repair -> Opzioni avanzate -> deseleziona " Backup and rename EFI files" -> spunta " Restore EFI backups" -> Applica

2
Nop problemi provengono da Windows 8
Kouros

0

Ho solo una parte di una risposta: una soluzione funzionante che è quasi ok fino a quando non scopro come risolverlo in modo permanente.

Aveva lo stesso problema: il bordo del thinkpad veniva fornito con Windows 8; ho installato Ubuntu come dual boot e per lo più mi sono dimenticato di Windows fino a quando non è uscito 8.1 e ho pensato di provarlo prima di eliminare Windows per sempre. Quindi dopo aver installato 8.1, grub non appare più all'avvio MA quando premo F12 appare un menu diverso che mi permette di avviare Ubuntu. È così che avvio il mio computer ora: ma ogni seconda volta mi dimentico di premere F12 e avvia ancora Windows (che non voglio quasi mai).

Quindi premendo F12 aiuta per un po '(non sono sicuro che funzioni nel tuo caso, ma potrebbe valere la pena provare). So che ci sono istruzioni su come ripristinare grub, ma non farò nulla prima di esserne completamente sicuro.


0

In qualche modo Windows 8.1 blocca completamente Ubuntu è un duplicato di questa domanda. Non penso che lo sia, ma posso solo commentare qui. Ho riscontrato gli stessi sintomi di Windows 8.1 che blocca completamente Ubuntu .

Nel mio caso la soluzione era premere F2 durante l'avvio e cambiare l'ordine di avvio in modo che Ubuntu fosse in cima alla lista. Per qualche motivo dopo aver aggiornato il mio laptop dualboot (Win / Ubuntu) da Win 8 a Win 8.1, 'windows' è apparso in cima alla lista di avvio davanti a Ubuntu, DVD, USB, ecc. E il mio laptop si è avviato direttamente in Windows 8.1 senza dare io ogni scelta.

Premendo F2 durante l'avvio e portando Ubuntu in cima alla lista ho risolto il mio problema e reso Ubuntu nuovamente raggiungibile (insieme a Windows 8.1) dopo aver effettuato l'aggiornamento a Windows 8.1 dal Microsoft Store.


0

Con Windows 10 e Ubuntu 14.04 su un Acer E17 ho avuto un problema simile (Windows Boot Manager è subentrato, impossibile accedere a Grub all'avvio). Ho seguito le istruzioni fornite da Rod Smith sopra, ma senza fortuna. (istruzioni molto belle, a proposito)

Ho trovato un'impostazione nel BIOS nell'ordine di avvio che elencava prima il Boot Manager di Windows e il secondo HDD. Li ho scambiati, salvato ed uscito / riavviato, e Grub è arrivato subito.

Ho letto altrove che alcuni BIOS hanno un'opzione di avvio rapido che potrebbe essere necessario disabilitare anche, ma il mio non lo aveva.


0

Su alcuni computer, le impostazioni del BIOS controllano la priorità di avvio dei file * .efi nella partizione UEFI. Ho trovato il mio laptop HP Pavilion 15-f039wm, anche se non era immediatamente ovvio che avesse quella funzione. Impostarlo nel BIOS batte direttamente il disordine con i file .efi e usando bcdedit.

Per quella macchina, premo F10 per accedere alla configurazione del BIOS, quindi cursore su e selezionare "Opzioni di avvio". Esistono opzioni per le priorità di avvio UEFI che possono essere riorganizzate, una delle quali è "Boot Manager dell'OS". Tuttavia, questa opzione ha la funzione extra che se la evidenzio e premo Invio, viene visualizzato un pop-up per riordinare le priorità di "ubuntu" e "Windows Boot Manager" in "OS Boot Manager". Ho messo "Ubuntu" in cima con F5 / F6, ho salvato i contenuti del pop-up con F10 e poi ho premuto nuovamente F10 per salvare e uscire dal BIOS Setup.

Ora senza intervento per avvio, ottengo il menu Grub che di default avvia Ubuntu. Posso ancora avviare Windows tramite il menu Grub o ottenere un avvio sicuro intervenendo con F9 per ottenere il menu Boot Manager UEFI.

Quella funzione BIOS aiuta a spiegare perché sembrava che il codice UEFI sovrascrivesse le modifiche a BootOrder che ho apportato con efibootmgr in Ubuntu.

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.