Come fare in modo che GRUB sia il bootloader predefinito anziché Windows Boot Manager su un laptop UEFI?


109

Ho un notebook HP Pavilion Touchsmart fornito con Windows 8. Ho eseguito l'aggiornamento a 8.1 e ora voglio fare il dual-boot di una distribuzione Ubuntu con Windows 10. Quando si esegue il dual-boot con Windows 8.1, Windows Boot Manager sempre ha avuto la priorità, anche dopo aver installato GRUB. Cosa devo fare per fare in modo che GRUB sia il bootloader predefinito anziché Windows Boot Manager?

Risposte:


195

Questo è il post più lungo che abbia mai pubblicato su un sito StackExchange, ma questo processo richiede molte spiegazioni e attenzione ai dettagli. È anche un po 'specifico per l'hardware in questione, che richiede ulteriori spiegazioni.

Dopo un sacco di mal di testa, due riformattazioni accidentali del disco rigido e molte frustrazioni per l'implementazione del firmware difettoso di HP, ho finalmente fatto funzionare Xubuntu e Windows 10 perfettamente fianco a fianco. L'ho fatto con Windows 10, ma dovrebbe funzionare anche con Windows 8.1. Entrambi questi sistemi operativi più recenti utilizzano il nuovo (ish) sistema firmware UEFI, invece del tradizionale sistema BIOS, che è dove sembrano sorgere la maggior parte delle confusioni con l'avvio doppio. Ho letto molte cose da molti posti con le istruzioni per il dual-boot con un sistema BIOS, che parlano di UEFI come se fosse solo un diverso tipo di BIOS o uno strato opzionale tra BIOS e un sistema operativo. UEFI e BIOS non sono la stessa cosa; un UEFI non è un BIOS e un BIOS non è un UEFI. Sono completamente diversi.

Innanzitutto, non utilizzare EasyBCD . Ho visto molti obsoletitutorial a doppio avvio che raccomandano EasyBCD, ma è progettato per funzionare con il firmware BIOS tradizionale utilizzato da Windows 7 e Windows Vista e non funziona bene con il nuovo firmware UEFI (Windows 8, 8.1 o 10). Se hai già armeggiato con EasyBCD, non preoccuparti, il peggio che ha fatto probabilmente è fare un pasticcio nelle voci di avvio di EFI scrivendo cose sull'MBR. Lo puliremo al punto 4. Parlando di MBR, evitatelo come la peste. Il Master Boot Record è ciò che viene utilizzato nel firmware BIOS tradizionale come un elenco di bootloader memorizzati nella partizione di avvio (o, se scritto da Windows, in qualunque partizione sia la prima) del disco rigido. Ha lo scopo di elencare i sistemi operativi sul disco rigido e dire al firmware quale viene avviato per primo. Questo non funziona bene con il firmware UEFI di HP. Sembra che se ci '

Di cosa avrai bisogno:

  • Un live USB o un CD di installazione con la tua distribuzione Ubuntu preferita.
  • Supporti di installazione per il tuo sistema operativo Windows. Se stai eseguendo l'aggiornamento da Windows 8.1, puoi farlo senza scaricare l'intero file .iso da 3+ GB per Windows 10 - esiste un programma di installazione Web che lo scarica durante l'installazione - ma, per questo metodo, devi estrarre .iso su un'unità CD o USB. È anche una buona idea averlo a portata di mano per il futuro, quindi potresti anche crearlo ora. Poiché questa domanda riguarda il dual-boot con un sistema UEFI, avrai bisogno del sistema operativo a 64 bit.
    • Assicurati di avere la chiave del prodotto o non sarai in grado di aggiornare / installare.
  • Opzionale, ma altamente raccomandato : un'unità sufficientemente grande per eseguire il backup dei file di Windows correnti.
  • Spazio sufficiente sul disco rigido per entrambi i sistemi operativi, una partizione di avvio (solo 200 MB) e una partizione Linux-Swap (di solito le stesse dimensioni della RAM fisica).

Passaggio 1: eseguire un backup

Eseguire il backup di tutti i file e le cartelle di Windows che non si desidera perdere. Finché hai abbastanza spazio libero sul disco rigido per la tua nuova partizione Ubuntu, questo processo non dovrebbe interferire con i file di Windows. Dovrebbe essere una parola rischiosa, però.

Windows 8.1 ha uno strumento "crea un disco di ripristino", ma l'ho trovato inutile e non funzionale quando si trattava di ripristinare il backup che ho fatto con esso. Il modo più semplice per preservare i file che non vuoi perdere è aprire semplicemente Esplora risorse e copiarli su un disco di backup. Ci vuole un'eternità, ma ne vale la pena.

Passaggio 2: disabilitare l'avvio rapido e spegnere il computer

Per eseguire questa operazione devi accedere come amministratore.

È molto importante disabilitare Fast Startup prima di installare GRUB, perché se il programma di installazione di Ubuntu è in grado di rilevare la presenza di Windows dipende dal modo in cui Windows si rappresenta nella partizione di avvio. Con Fast Startup correttamente disabilitato, dovrebbe essere rilevato. Il rilevamento verrà trattato nel passaggio 4.

Windows 8, 8.1 e 10 utilizzano questa fantastica novità chiamata Fast Startup, che dice al tuo firmware di caricare uno speciale bootloader che ripristina il sistema al suo stato di pre-spegnimento molto rapidamente. Abbastanza bello, eh? Bene, poiché modifica l'opzione di avvio successivo del sistema EFI, questa funzione dovrà essere disabilitata durante l'installazione di GRUB. Questo può essere fatto nel modo seguente:

  1. Apri il Pannello di controllo (Windows + X-> Pannello di controllo dal desktop in Windows 8+) (apparentemente Microsoft odia gli utenti esperti, quindi la ricerca nel "Pannello di controllo" nel menu di avvio è ora il modo più veloce per aprirlo)
  2. Passare a Opzioni risparmio energia
  3. Fai clic su "Scegli cosa fa il pulsante di accensione"
  4. Fai clic su "Modifica impostazioni attualmente non disponibili"
  5. Assicurati che la casella "Attiva avvio rapido (consigliato)" in basso non sia selezionata.

Istruzioni più dettagliate sono disponibili qui . È possibile riattivare Fast Startup dopo l'installazione di GRUB e sembra non causare problemi con l'avvio di Ubuntu / GRUB. Assicurati solo che sia disabilitato durante l'installazione.

Dopo aver disabilitato l'avvio rapido, spegni il computer. Poiché l'avvio rapido è disabilitato, Windows eseguirà un arresto completo e non modificherà l'opzione di avvio successivo nel gestore EFI del firmware. (Termini di Layman: Windows non dirà al tuo sistema HP di avviare il suo file Fast Startup al prossimo avvio, quindi utilizzerà l'elenco del boot manager di EFI, come dovrebbe. GRUB si posizionerà per primo in questo elenco.)

Passaggio 3: impostare le partizioni con gparted

Prima di installare Ubuntu, ti consigliamo di utilizzare il tuo CD / USB live per creare una partizione separata. In questo modo, * non sovrascriverà Windows.

* Assicurati di avere un backup. Nessuna garanzia, ciò dipende da ciò che Windows ha deciso di fare nella partizione di avvio e può anche dipendere dalla versione / distribuzione di Ubuntu che stai utilizzando, non le ho usate tutte.

Per creare le partizioni, devi avviare il tuo live CD / USB e aprire gparted. Ci sono molti tutorial sull'uso di gparted, ed è abbastanza facile da capire, quindi lascerò i dettagli su di te e su Internet.

  • Avrai bisogno di 4 partizioni:

    1. Una partizione di avvio. Se hai già installato Windows, non dovresti fare nulla, dovrebbe essere già una delle prime partizioni nel tuo disco. A volte Windows crea anche un'altra piccola partizione all'inizio del disco chiamata Recovery . Lascialo da solo.

      • Se stai eseguendo una nuova installazione e vuoi avviare tutto da zero ( questo cancellerà tutti i tuoi dati ), vai avanti ed elimina tutte le partizioni sul tuo disco, quindi crea questa partizione. Dovrebbe essere la prima partizione ; il suo formato dovrebbe essere FAT32 ; e dovrebbe avere una dimensione di almeno 200 MB . Se gparted ha un'opzione per etichettarlo, basta chiamarlo boot. Se non è presente un'etichetta, non preoccuparti. È necessario, tuttavia, impostare i flag "boot" ed "esp" su questa partizione; senza di essi, il programma di installazione di Ubuntu lo ignorerà e utilizzerà un'installazione in modalità legacy e Windows (10) rifiuterà di installarsi del tutto con l'errore "non siamo riusciti a creare una nuova partizione o individuarne una esistente". O no. Sembra dipendere da come Windows si sente quel giorno ...
    2. Una partizione di Windows. Ancora una volta, se hai già installato Windows, questa partizione dovrebbe ovviamente essere qui, dopo le partizioni di avvio e ripristino. Qui è dove lo vuoi, ma devi ridimensionarlo per fare spazio alla tua partizione Ubuntu e alla partizione Linux-Swap. Usa l'opzione ridimensiona / sposta di gparted per farlo. Ubuntu ha bisogno di almeno 5 GB e la partizione Linux-Swap deve avere almeno la metà della RAM fisica, quindi ridimensiona la partizione di Windows per fare spazio a sufficienza. gparted ti avvertirà della potenziale perdita di dati: la riduzione della partizione non dovrebbe distruggere o corrompere alcun dato, purché non lo riduca nello spazio utilizzato.

      • Se installi entrambi i sistemi operativi da zero (di nuovo, questo cancellerà tutti i tuoi dati ), Microsoft dice che avrai bisogno di almeno 20 GB per il sistema operativo a 64 bit, quindi questa partizione deve essere di almeno 20 GB . Probabilmente vorrai di più, però: ho appena usato metà dello spazio dopo la partizione di avvio per Windows e metà per Ubuntu e Linux-Swap. Se stai andando da zero, questa partizione deve essere formattata come FAT32. Quando si installa Windows, verrà formattato in NTFS. Non farlo con gparted; L'implementazione di NTFS di Windows è diversa dall'implementazione di gparted e Windows potrebbe non essere in grado di riconoscere la partizione. Nel programma di installazione di Windows 10, dovresti avere l'opzione per selezionare su quale partizione posizionare Windows 10. Se è formattato come FAT32, Windows dovrebbe essere in grado di vederlo e installarsi lì. Se puoi etichettare questa partizione, etichettala Windows. Ciò ti semplificherà durante l'installazione di Windows. Parlando del programma di installazione di Windows, non cominciare ancora. Se stai eseguendo nuove installazioni di Ubuntu e Windows contemporaneamente, invece di aggiornare da 8 o 8.1 a 10, è molto più semplice installare Ubuntu prima .
    3. Una partizione Linux. Come la partizione di Windows, questa può variare di dimensioni, ma il sito Web di Ubuntu consiglia almeno 5 GB . Ancora una volta, probabilmente vorrai molto di più. Se stai aggiornando invece di fare una nuova installazione di entrambi i sistemi operativi, dovresti essere in grado di creare questa partizione nel nuovo spazio "non allocato" mostrato in gparted. Renderlo grande quanto vuoi, ma ricordati di lasciare spazio per una partizione Linux-Swap se prevedi di usarne una. Dovrebbe essere formattato come ext4. ext2 o ext3 dovrebbero funzionare anche, se preferisci quelli per qualche motivo.
      • Se l'installazione da zero, crea la tua partizione Ubuntu proprio come sopra descritto. Assicurati che sia formattato come ext4, ext3 o ext2 . Ciò consentirà a Ubuntu di usarlo, ma impedirà al programma di installazione di Windows 10 di riconoscerlo, il che dovrebbe causare il default alla partizione FAT32 creata nel passaggio 3, che può leggere.
    4. Opzionale, ma consigliato: una partizione Linux-Swap . Almeno metà delle dimensioni della RAM fisica è un buon inizio, ma raccomando di leggere i dettagli . Ho 8 GB di RAM e un disco rigido da 1 TB, quindi ho appena creato questa partizione delle stesse dimensioni della mia RAM fisica.

Passaggio 4: installa prima Ubuntu

Sia che tu stia eseguendo l'aggiornamento a Windows 10 da un sistema operativo Windows esistente o che installi sia Windows 10 che una distribuzione Ubuntu su un disco rigido nuovo o appena ripartizionato, installare Ubuntu prima è molto più semplice. Ubuntu utilizza GRUB 2 come proprio bootloader, che fa le cose come dovrebbe fare un bootloader EFI. Windows 10 utilizza Windows Boot Manager, che fa le cose ... beh, come fa Windows ... Se installi prima Windows, probabilmente non sarai in grado di avviare Ubuntu senza tenere premuto un tasto speciale durante il processo di avvio per interrompere il caricamento di Boot Manager di Windows, poiché Windows Boot Manager non rispetta GRUB quando viene aggiunto al suo elenco di bootloader. Quindi, prima installa Ubuntu e GRUB, quindi aggiungi una voce a GRUB per Windows Boot Manager.

Passaggio 4.1: pulizia delle voci EFI precedenti (facoltativo)

Per favore, stai attento qui. L'eliminazione della cosa sbagliata può causare enormi problemi.

Prima di installare Ubuntu, vogliamo assicurarci che i fantasmi delle precedenti installazioni del sistema operativo non torneranno a perseguitarci in futuro. In un sistema UEFI, i sistemi operativi utilizzano i file EFI (interfaccia del firmware estensibile) per dire al firmware: "Ehi, io esisto. È qui che puoi trovarmi." Quando viene installato un nuovo sistema operativo, viene aggiunta una voce all'elenco di EFI Boot Manager, che gli fornisce un numero di voce univoco e indica a EFI Boot Manager dove sono / sono i file EFI (Windows) registra diversi file EFI diversi- uno per l'avvio regolare, uno per l'avvio di ripristino, uno per l'avvio rapido, probabilmente più a seconda del firmware e della versione del sistema operativo in uso). EFI Boot Manager tiene inoltre traccia dell'ordine di avvio: un elenco di numeri di voce che specificano cosa viene avviato per primo. Se hai utilizzato EasyBCD; bcdedit; Finestre' Strumenti di riparazione o ripristino di avvio; boot-repair in un sistema operativo Linux; o anche se hai aggiornato Windows o reinstallato, c'è una buona probabilità che il tuo elenco di voci EFI ora abbia alcuni duplicati. Almeno, quello era il mio caso. Avere duplicati qui può ostacolare il processo di avvio, poiché il firmware passa attraverso le voci obsolete o errate fino a quando non trova un bootloader che funziona. Può anche causare un ciclo di avvio, in cui il bootloader A punta il firmware al bootloader B, che lo punta di nuovo ad A, e quindi le cose iniziano a richiedere molto, molto tempo ... man mano che il firmware passa attraverso voci obsolete o errate fino a quando non trova un bootloader che funziona. Può anche causare un ciclo di avvio, in cui il bootloader A punta il firmware al bootloader B, che lo punta di nuovo ad A, e quindi le cose iniziano a richiedere molto, molto tempo ... man mano che il firmware passa attraverso voci obsolete o errate fino a quando non trova un bootloader che funziona. Può anche causare un ciclo di avvio, in cui il bootloader A punta il firmware al bootloader B, che lo punta di nuovo ad A, e quindi le cose iniziano a richiedere molto, molto tempo ...

Ad ogni modo, per visualizzare l'elenco delle voci EFI e vedere cosa deve essere pulito, utilizzare il efibootmgrpacchetto con il proprio CD / USB live. Dovrai installarlo usando sudo apt-get install efibootmgrin un terminale, quindi eseguirlo usando sudo efibootmgr. Per impostazione predefinita, otterrai un elenco di voci simile al seguente:

Immagine dell'elenco delle voci di EFI Boot Manager dall'output di efibootmgr

Quando ho usato questo strumento per la prima volta dopo aver armeggiato con EasyBCD e bcdedit cercando di far avviare le cose nell'ordine giusto, qui avevo oltre un centinaio di voci, la maggior parte duplicate.

Se l'elenco di Boot Manager non è troppo ingombrante o se non ti senti a tuo agio nel decidere cosa può essere eliminato e cosa non dovrebbe essere eliminato, vai al passaggio 4.2.

Per eliminare eventuali voci non necessarie, utilizzare efibootmgr -b <hex_number> -B, dove hex_numberviene sostituito dal numero elencato con la voce di avvio. Quindi, per rimuovere la USB Drive (UEFI)voce (numerata Boot 2001 ) nella foto sopra, userei sudo efibootmgr -b 2001 -B. Noterai che ho lasciato alcuni duplicati (tutte le oltre 3000 voci numerate). È possibile utilizzare efibootmgrcon diverse opzioni per visualizzare alcuni altri attributi delle voci, come i percorsi dei file a cui puntano. Queste voci sembrano duplicate, ma tutte indicano diversi file utilizzati dal mio laptop HP per aggiornare il BIOS. Si prega di fare attenzione a ciò che si rimuove. Qui può essere molto difficile o impossibile sostituire le cose. Puoi anche usare efibootmgr per cambiare BootOrder, che viene visualizzato. Vedi la pagina man per ulteriori informazioni su questo utile strumento.

Passaggio 4.2: installazione di Ubuntu

Dopo aver ripulito le voci di EFI Boot Manager, se hai scelto di farlo, è finalmente arrivato il momento di installare Ubuntu. Con il tuo live CD / USB caricato, seleziona l'opzione di installazione dal menu del bootloader o avviala dal desktop dopo aver effettuato l'accesso. Scegli le tue opzioni nella prima pagina del programma di installazione. La seconda parte sarà simile a questa: (Sto usando Xubuntu 14.04, quindi il tuo programma di installazione può variare, ma le opzioni dovrebbero essere abbastanza simili.)

Schermata delle opzioni di installazione di Xubuntu 14.04

Se il tuo programma di installazione non rileva l'installazione di Windows (come la mia), dovrai selezionare l'opzione "Qualcos'altro". Da lì, otterrai una schermata simile al menu con parti che hai usato per impostare le tue partizioni. Basta selezionare le partizioni create e assegnarle al punto di montaggio corretto selezionando una partizione e facendo clic su "Modifica".

  • Se stai installando entrambi i sistemi operativi da zero, fai la stessa cosa. Non utilizzare l'opzione di installazione automatica. È necessario assicurarsi che Ubuntu venga installato nella partizione ext2 / ext3 / ext4, non nella partizione Windows FAT32.

Passaggio 5: aggiornare o installare Windows per secondo

Dovresti avere un disco di installazione per Windows 10. Prima di iniziare l'installazione, assicurati di avere il codice Product Key nelle vicinanze, altrimenti non sarai in grado di installare / aggiornare. Quando si avvia il CD / USB di installazione, il programma di installazione è piuttosto semplice. Un po 'troppo semplice per la mia comodità: l'unico pulsante era "Installa Windows 10" o qualcosa del genere, e Windows 8, 8.1 e 10, sono famosi per le loro installazioni dietro le quinte, dove dice semplicemente "Siamo preparare le cose "e non fornisce dettagli su ciò che sta effettivamente facendo al tuo sistema. Se hai seguito queste istruzioni finora, dovrebbe essere OK per iniziare l'installazione regolarmente.

  • Se esegui l'aggiornamento da Windows 8 o Windows 8.1, non dovresti fare nulla di speciale durante il processo di installazione. Superare l'installazione (molto lunga) e procedere al passaggio 6.

  • Se stai eseguendo una nuova installazione, il programma di installazione ti chiederà dove vuoi installare Windows 10. Assicurati di selezionare la partizione FAT32 che hai creato nel passaggio 2 e non un'altra partizione, o quella partizione verrà cancellata e formattata. Poiché Ubuntu è già installato, Windows 10 dovrebbe essere rispettoso della partizione di avvio e non riformattarla. La pulizia delle voci di immondizia dall'elenco di Boot Manager di EFI consentirà inoltre di liberare spazio nella minuscola partizione di avvio da 200 MB, riducendo le possibilità che Windows si confonda e si arrabbi e cancelli il tutto da solo.

Passaggio 6: aggiorna e (facoltativamente) personalizza GRUB

Dopo l'installazione o l'aggiornamento a Windows 10, dovrai riavviare Ubuntu per aggiornare GRUB in modo che includa Gestione avvio di Windows nel suo elenco. Prima di eseguire questa operazione, disabilitare nuovamente Avvio rapido. Questo è fatto in modo molto simile a come è stato fatto nel passaggio 2. Il pannello di controllo e l'interfaccia utente delle impostazioni sono leggermente diversi, ma la maggior parte delle opzioni sono ancora disponibili.

Dopo aver disattivato nuovamente Fast Startup, riavvia il computer.

Se Windows si avvia per impostazione predefinita, sarà necessario tenere premuto il tasto speciale del laptop per accedere al menu del firmware del sistema. Sul mio HP Touchsmart, quella chiave è Esc. Altri tasti comuni sono F12, Elimina, F10 ... Il manuale del tuo computer dovrebbe essere in grado di aiutarti qui. Dal menu del firmware, avvia GRUB. Dovrebbe esserci un'opzione per "selezionare un dispositivo di avvio" o qualcosa di simile, e Ubuntu o GRUB dovrebbero essere elencati lì. Se non è elencato, cerca un'opzione per l'avvio da un file EFI e vai su /EFI/ubuntu/grubx64.efi o (se hai Secure Boot abilitato), invece EFI / ubuntu / shimx64.efi. I percorsi effettivi di questi file possono variare in base alle opzioni e alla configurazione della partizione di avvio, ma i nomi dei file dovrebbero essere gli stessi. La selezione di uno di questi file .efi dovrebbe avviarsi su GRUB, dove puoi quindi avviare la tua distribuzione Ubuntu. Una volta effettuato l'accesso, apri un terminale e digitasudo update-grub. Questo eseguirà lo script os-prober che GRUB usa per compilare grub.cfg, che dice al file EFI di grub quali voci includere, quali colori usare, ecc. Lo script os-prober dovrebbe identificare Windows Boot Manager e aggiungerlo automaticamente a la lista.

Facoltativamente, è possibile installare Grub Customizer per modificare l'ordine delle voci di menu e il comportamento, il colore e lo sfondo del menu di GRUB. È possibile installarlo da un terminale utilizzando sudo apt-get install grub-customizere quindi eseguire sudo grub-customizer.

Quando si utilizza GRUB su un sistema UEFI condiviso con un sistema operativo Windows, NON installare su MBR. Alcuni tutorial lo elencano come un passaggio cruciale per utilizzare l'opzione "Installa su MBR" di Grub Customizer nel menu File. Si dovrebbe non farlo sulla maggior parte dei sistemi UEFI. L'MBR (Master Boot Record) è progettato per i firmware del BIOS ed è ancora utilizzato dal Caricatore di avvio di Windows in una certa misura. L'aggiunta di GRUB all'MBR, quando si trova già nell'elenco delle voci EFI, può causare molti boli di pelo. Se devi assicurarti che GRUB sia la prima voce nell'elenco degli ordini di avvio (ovvero se Windows si avvia sempre, anche se hai fatto tutto nel modo giusto), usa efibootmgr (vedi passaggio 4.1) per visualizzare / modificare l'ordine di avvio di EFI Manager .

Appunti

Non ho menzionato Secure Bootaffatto, perché normalmente non dovrebbe influenzare l'installazione di Ubuntu. Molti tutorial a doppio avvio parlano della disabilitazione, ma di solito non è necessario con un programma di installazione a 64 bit corrente. Tuttavia, ogni PC è diverso e Secure Boot è abbastanza nuovo (2012), quindi diversi firmware possono implementare le cose in modo diverso. Ad esempio, la versione del mio firmware HP include un'opzione "legacy boot", che disabilita Secure Boot e tratta i sistemi operativi installati come se fosse un firmware BIOS: alcune persone consigliano di abilitarlo per l'installazione per il dual-boot. L'installazione di Ubuntu in modalità di avvio legacy sul mio sistema ha impedito a GRUB di aggiungersi all'elenco delle voci EFI, quindi tutto ciò che poteva fare era aggiungersi all'MBR, di cui Windows Boot Manager aveva il pieno controllo. Windows Boot Manager ha richiesto molte modifiche per visualizzare anche l'elenco delle voci,

Vedi qui per maggiori informazioni su Ubuntu e Secure Boot e Legacy Boot e informazioni sulla differenza tra le installazioni UEFI e BIOS in generale.


11
Troppo lungo IMHO per essere una buona risposta su questo sito. Non dimenticare il pubblico a cui stai scrivendo: l'utente medio che non conosce la differenza tra una GPU e una CPU ... Ti interessa se la sminuisco un po '? (sai come ripristinare le modifiche?)
Fabby,

4
Per favore prosegui! Il rasoio di Ockham, eh? Faccio fatica a semplificarlo senza sentirmi come se stessi tralasciando dettagli cruciali, quindi ogni aiuto è apprezzato.
Michael Hoffmann,

24
+1 per la migliore spiegazione che ho letto su UEFI. Ho pensato che fosse una specie di "nuovo bios"
SuperSluether

5
Una delle migliori risposte che abbia mai visto. Ci proverò presto con l'imminente Ubuntu.
Mosh,

11
Questa è una guida incredibile. Capisco il desiderio precedentemente menzionato di semplificare questo, ma non credo che ci sia una risposta semplice per questo problema. Sì, potresti ipoteticamente ridurlo a un elenco puntato di "fai questo, poi fai questo", ma penso che questo non sia necessario. Fare confusione con le unità deve essere fatto con grande cura; non voglio che un utente medio cerchi di seguire un elenco di punti elenco e fallisca da qualche parte nel mezzo.
vaindil,

8

Non voglio duplicare un post per una potenziale violazione delle norme, quindi collegherò la mia risposta a questo problema. In breve ho un laptop Samsung con Windows 10 già installato e stavo cercando di installare Linux con più istanze; Ubuntu 12.04, 14.04 e 16.04. Ho usato Boot-Repair e ho cambiato la priorità di avvio nel mio BIOS di installazione, il che ha comportato prima un caricamento GRUB funzionale ma disordinato . La risposta dell'utente Michael Hoffmann fornisce una buona spiegazione per l'installazione su unità vuota e su come ripulire GRUB , ma non volevo rimuovere la mia installazione di Windows 10.

Una spiegazione dettagliata può essere trovata nel mio post QUI .


1
Ehi, grazie per attenersi alle politiche del sito! Ciò mantiene le cose pulite e organizzate e aiuta le persone a trovare le risposte. La tua risposta è estremamente utile e correlata alla mia domanda e alla mia risposta, quindi sono felice che tu l'abbia inserita qui. Grazie per il link!
Michael Hoffmann,

6

Posso presentarti un semplice trucco per questo problema, usarlo se nessuna delle soluzioni legittime ha risolto il tuo problema.

Mentre Windows continua a cambiare l'ordine di avvio, l'hacking è ingannare Windows per riconoscere Ubuntu grub come file di avvio di Windows, ad esempio bootmgfw.efi

Parte 1: accesso alla cartella EFI su Windows

Apri cmd come amministratore e monta la cartella EFI per accedervi. Esegui i seguenti comandi uno per uno. Sotto ho assegnato la lettera g al supporto, assicurati di assegnare una lettera non assegnata sul tuo PC.

mountvol g: /s
g:
cd EFI\

Dovresti visualizzare una cartella Microsoft e una cartella Ubuntu in EFI.

Parte 2: copia grubx64.efi da Ubuntu a Microsoft \ Boot \ come bootmgfw.efi

Innanzitutto creare un backup di bootmgfw.efi

cd Microsoft\Boot\
rename bootmgfw.efi bootmgfw_.efi

Ora esegui la copia e rinomina.

copy g:\EFI\ubuntu\grubx64.efi g:\EFI\Microsoft\Boot\
rename grubx64.efi bootmgfw.efi

Parte 3: smontare la cartella EFI

Esegui i seguenti comandi uno per uno.

c:
mountvol g: /d

Ora riavvia il tuo PC e dovresti vedere Ubuntu GRUB caricarsi che dovrebbe avere un'opzione Caricatore UEFI di Windows per avviare anche Windows.


Funziona, ma gli aggiornamenti di Windows potrebbero sostituire il file .efi, quindi potrebbe essere necessario rifarlo di tanto in tanto. Grazie per il contributo!
Michael Hoffmann,

1
Sì, alcuni aggiornamenti di Windows sostituiscono il file .efi, quindi la cosa migliore da fare se non si utilizza Windows che spesso è disabilitare gli aggiornamenti dai servizi locali e aggiornare Windows quando lo si desidera e ripetere i passaggi indicati.
Invidia,

Funziona ma ora come posso riavviare il mio Windows? Ora si avvia direttamente sul mio Linux. Si prega di avvisare.
martti d

@marttid grub dovrebbe mostrare anche l'opzione di Windows. Assicurarsi che "bootmgfw_.efi" sia presente nella cartella di avvio di Microsoft.
Invidia

1
O in un comando bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.eficome suggerito qui
newandlost

2

Una soluzione un po 'più semplice per il problema sopra.

  1. Premere F10durante l'avvio per accedere alle impostazioni BIOS avanzate
  2. In BIOS Boot Order settings abilita Legacy Boot order che abiliterà UEFI e Legacy Boot Order.
  3. L'aumento del ritardo di avvio a 5 secondi richiederà un po 'di tempo durante la selezione del sistema operativo all'avvio.
  4. Salvare le impostazioni del BIOS ed uscire.
  5. Al prossimo avvio ti verrà chiesto di selezionare l'opzione di avvio. Premere F9per accedere e selezionare l'opzione di avvio appropriata (Boot Manager del sistema operativo Windows o Ubuntu)

1
Immagino che sia una specie di soluzione, ma non è affatto il sistema user-friendly basato su GRUB che la maggior parte delle persone cerca quando parla di dual-boot. Dover accedere ai menu del firmware, dove è molto facile interrompere le cose, ogni volta che si avvia il computer è qualcosa da evitare. L'abilitazione di Legacy Boot richiede anche la disabilitazione di Secure Boot (almeno sul mio firmware), che può rendere il sistema più vulnerabile all'iniezione del firmware: qualsiasi estraneo potrebbe mettere una USB con un sistema operativo dannoso homebrew nel tuo computer e avviarlo in pochi secondi.
Michael Hoffmann,

1
Almeno nel mio scenario l'ho trovato molto più facile da usare e più veloce della soluzione n. 1 e come soluzione alternativa per gestire la modalità di avvio UEFI di Windows che inizialmente limita il dual-boot. Sì. In effetti, questa soluzione alternativa è per le persone che possono abilitare l'avvio legacy e avere il controllo del proprio PC / laptop da non essere esposti a estranei e sapere cosa stanno facendo. Inoltre molte persone vogliono fare il dual-boot del PC dopo aver già installato / aggiornato Windows 10 e potrebbero non avere abbastanza risorse o tempo necessario per la soluzione n. 1.
vishal yadav,

0

Ho trovato una soluzione molto più semplice, che ha funzionato su un laptop HP (355 G2) con Windows 10 installato

  1. Premere Esc durante l'avvio
  2. Premere F9 per le opzioni di avvio
  3. Seleziona l'opzione USB che non è UEFI (la mia era la parte inferiore dell'elenco) e premi Invio
  4. Verrà quindi visualizzata una schermata con un messaggio di errore. Tuttavia, devi solo digitare 'live' per provare il sistema operativo o 'live-install' e premere invio per installarlo, e tutto dovrebbe andare a gonfie vele ....

Potresti scoprire quale versione del firmware stai utilizzando? Se l'installazione ora funziona come previsto, è meraviglioso, ma potrebbe essere proprio quel modello specifico. Forse un aggiornamento del firmware semplificherà il processo sul mio modello. Sto reinstallando entrambi i sistemi operativi in ​​modo da poter riorganizzare le mie partizioni e provare una distribuzione diversa qualche volta questa settimana, e stavo pianificando di utilizzare la mia guida, ma se la tua versione del firmware è diversa dalla mia, potrei provare ad aggiornare prima.
Michael Hoffmann,

Sì, l'installazione e il dual boot sembrano funzionare perfettamente. Non sono sicuro di come trovare la versione del firmware del BIOS / della scheda madre (se è quello che volevi). Ho provato 'sudo dmidecode' ma ho trovato più informazioni di quelle di cui avevo bisogno ...
Amphibio

Se si preme ESC durante l'avvio, dovrebbe esserci un'opzione per le impostazioni del BIOS o del firmware. Dovrebbe esserci un About o qualcosa lì dentro.
Michael Hoffmann,

1
Ok bello. La versione del BIOS è F. 10. Il computer 'Born on Date' è del 2015 e il sistema operativo installato in fabbrica era Windows 7, se questo fa la differenza ....
Amphibio

Umm, è per l'avvio di una USB live in modalità BIOS, quando si tratta della modalità UEFI, e di avere un sistema a doppio avvio in cui Grub viene avviato per primo.
RoundDuckMan,

0

Prendendo ispirazione (onestamente, più come strappare dalla risposta e poi razionalizzarla perché è troppo complessa) da una certa risposta qui (in particolare, la tua risposta super dettagliata qui), qui sarebbe il modo per raggiungere questo obiettivo, anche prendendo in prestito da il mio recente post di domande e risposte ( posso installare Windows dopo aver installato Ubuntu su UEFI? ).

Il primo e più semplice, in quanto sembra che l'UEFI dia la priorità al primo sistema installato (almeno in questi sistemi HP, ho un HP OMEN dove l'ho raggiunto) piuttosto che la tradizione di stabilire le priorità per l'installazione più recente. È possibile che ciò accada anche perché l'UEFI supporta nativamente più bootloader.

Ciò significa che per avere la priorità di Ubuntu Grub, è necessario installare prima Ubuntu. Ora non preoccuparti di questo, poiché Windows 10 verrà installato correttamente accanto a Ubuntu in seguito, basta creare partizioni di Windows nel programma di installazione di Windows, quindi installare.

Quindi, dopo che le cose sono state configurate, prova a riavviare da Windows o, ovviamente, dovresti farlo prima di avviare Ubuntu, disattiva l'opzione di avvio rapido andando su opzioni di alimentazione, quindi andando a "scegliere cosa fa il pulsante di accensione , "e deseleziona la casella di controllo" attiva avvio rapido ".

Ora l'altro modo è tramite efibootmgr. Non ho molta esperienza con questo, quindi ho deciso di prendere in prestito da un bravo ragazzo che conosce i dettagli di UEFI, il buon vecchio Rod Smith. Ha fatto una risposta alla domanda qui: cambia l'ordine di avvio usando efibootmgr . Ecco cosa ha detto alla lettera:

In primo luogo, un reclamo che i file di avvio sono lontani dall'inizio del disco è irrilevante su un computer con avvio EFI. Esistono dei limiti nel BIOS (che variano in base all'età del BIOS), ma anche in un (moderno) BIOS, il disco da 750 GB non dovrebbe presentare problemi.

In secondo luogo, puoi modificare la BootOrdervariabile con l efibootmgr' -oopzione, come in:

sudo efibootmgr -o 0,1,2

Questo comando imposterà prima le due ubuntuistanze, seguite dalla Windows Boot Managervoce. Questo dovrebbe fare il trucco. Sfortunatamente, alcuni EFI sono difettosi e "dimenticano" l' BootOrderingresso o si comportano in modo errato. In caso di problemi, si consiglia di provare il seguente comando in una finestra del prompt dei comandi dell'amministratore di Windows:

bcdedit / set {bootmgr} percorso \ EFI \ ubuntu \ shimx64.efi

(Se hai disabilitato Secure Boot, puoi sostituirlo shimx64.eficon grubx64.efi, sebbene entrambi dovrebbero funzionare con Secure Boot disabilitato.)

Se il problema persiste, probabilmente il tuo firmware è difettoso. Potrebbe esserci un aggiornamento disponibile da HP. In caso contrario, o se non aiuta, e se si è entro il periodo di restituzione per il computer, restituirlo per un rimborso e ottenere qualcosa che non è rotto. Se non riesci a farlo, ti trovi nel territorio di soluzioni davvero brutte, come rinominare GRUB in modo che finga di essere il boot loader di Windows. Vedi qui per alcune informazioni su quell'argomento, sebbene scritto appositamente per rEFInd. I principi di base si applicano a qualsiasi cosa, però.

Quindi, in pratica, usa efibootmgr per cambiare l'ordine di avvio. Dopo aver fatto ciò nel modo giusto, dovresti prima avere Ubuntu invece di Windows. :)

Spero che tutto ciò aiuti!

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.