Come avviare Ubuntu da EFI / UEFI?

16

Ho installato Ubuntu 11.10 su un Lenovo ThinkCentre Edge 71 appena acquistato (modello: 1577-G3G) con l'avvio EFI abilitato. Ho optato per l'opzione Utilizza l'intero disco . Anche se il processo di installazione è andato senza problemi / errori, quando il riavvio ora mi dà solo:

  

Nessun sistema operativo avviabile. Inserisci il disco di avvio e premi qualsiasi tasto ...

Penso che questo sia dovuto a EFI.

Regression:

  • Ho controllato l'installazione del sistema (F1 durante il POST) per trovare un'opzione del BIOS per disabilitare l'avvio EFI / UEFI, tuttavia, non esiste una tale opzione per questa macchina.
  • Questo potrebbe essere causato da una funzionalità di "avvio sicuro" nel BIOS.
  • Il fornitore dell'hardware non conosce alcuna impostazione di "avvio sicuro" nel BIOS che impedisca l'avvio di Linux.
  • Il supporto Lenovo non sapeva nulla di un'impostazione del BIOS chiamata avvio sicuro. Inoltre non conoscevano alcuna limitazione che impedisse l'avvio di Linux.
  • Il manuale del BIOS ThinkCentre 1577 non menziona EFI, UEFI né sicuro caricamento del sistema.

Come installo Ubuntu su una macchina con EFI? - Oppure, dal momento che Ubuntu è probabilmente già installato: come faccio ad avviare Ubuntu?

    
posta ervingsb 30.12.2011 - 11:43

10 risposte

10

Questo è un post modificato di nerasezi nel Forum di Ubuntu

La fonte principale per UEFI era la guida Ubuntu UEFI

I seguenti sono i passi che ha fatto:

  1. Utilizzare un CD live che corrisponda all'architettura UEFI. Per lo più x86-64. Avvia il cd live (xubuntu o lubuntu.) Questi sono desktop leggeri ma dovrebbero funzionare anche con Ubuntu e kubuntu).

    Assicurati che il tuo sistema live si avvii in modalità UEFI. Puoi verificarlo sul setup UEFI, probabilmente sotto l'opzione Boot o simile. Nel mio caso è sufficiente inserire il prefisso "UEFI" prima del nome del dispositivo.

  2. Una volta che il sistema live è in esecuzione, imposta tramite il terminale una password di root digitando
    sudo passwd root

    Quindi disconnettersi dall'utente cd live predefinito e accedere come root in modalità gui. Collegare il disco rigido. Uso un HDD portatile USB3 ma nella maggior parte dei casi il disco rigido è un'unità interna SATA. Ad ogni modo, assicurati di aver BACKUP UP TUTTI I TUOI DATI, perché il processo sta per cancellare tutto sul disco. Avvia Gparted (uno strumento gui è molto più semplice di quello del testo) e seleziona l'unità in cui desideri installare il sistema. (Assicurati di selezionare quello giusto!) Seleziona il menu in alto e seleziona Dispositivo & gt; Crea tabella delle partizioni ... Viene visualizzato un messaggio di avviso. Fare clic su Avanzate e selezionare "gpt". Dì OK È stato creato un nuovo layout del disco GPT. Ora è necessario creare partizioni su di esso. È molto importante creare come prima e principale partizione, un volume FAT32 ed è necessario assegnargli l'etichetta EFI. Una volta creata la partizione, fai clic con il tasto destro su di essa e seleziona "Gestisci bandiere". Controlla il flag "boot" e dì OK. Passare alla creazione della partizione / (si potrebbe voler separare / home e / boot, come al solito, nel mio caso ho appena creato la partizione /) e un'area di swap. Preferisci sempre le partizioni primarie causando con GPT la rimozione della 4 partizione primaria. Chiudi Gparted.

  3. Installa il sistema nella partizione "/" del disco rigido e ricorda di indicare qui il bootloader (GRUB 1.99) da installare. Se hai creato una partizione "/ boot" separata, devi scegliere quella per l'installazione del bootloader.

  4. Ecco la parte della guida UEFIBooting:

    Costruire GRUB2 (U) EFI

    Scarica il più recente file ZIP del codice sorgente grub2. ftp://ftp.gnu.org/gnu/grub/

    Building grub2 richiede l'installazione dei seguenti programmi (dipendenze di build):

    bisonti autoconf automake flettere autogen python (2.x series) (per autogen.sh se si costruisce da bzr repo) texinfo help2man gettext (supporto NLS) device-mapper freetype2 (libs)

    sudo apt-get install bison libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev flex libfont-freetype-perl automake autotools-dev freetype2-demos texinfo efibootmgr

    efibootmgr è stato aggiunto al software che devi installare perché ne avrai bisogno in seguito.

    Per EFI a 64 bit (U):

export EFI_ARCH=x86_64 %codice% % Co_de%

Se hai un'architettura a 32 bit, controlla la documentazione online al link che ho fornito in alto.

Installa GRUB2 in (U) sistemi EFI

Determina la tua EFI SYSTEM PARTITION. (dovrebbe essere / dev / sda1 o / dev / sdb1 se è impostato sul secondo hd)

Quindi montare la partizione su / mnt / EFISYS (o su qualsiasi punto di montaggio desiderato). Il seguente codice presuppone che / dev / sda1 sia una partizione EFISYS.

./configure --with-platform=efi --target=${EFI_ARCH} --program-prefix=""

make

sudo mkdir -p /mnt/EFISYS

sudo modprobe dm-mod

Quindi, crea un'applicazione EFI per GRUB e copiala e gli altri moduli:

Inserisci la directory "grub2 compilato source / grub-core" - Predefinito: / usr / lib / grub / {EFI_ARCH}

sudo mount -t vfat -o rw,users /dev/sda1 /mnt/EFISYS

sudo mkdir -p /mnt/EFISYS/efi/grub

Nota: l'opzione -p "" è importante per la creazione di un'app portatile grub.efi. Ora crea un file grub.cfg in / mnt / EFISYS / efi / grub:

grub-mkimage -O ${EFI_ARCH}-efi -d . -o grub.efi -p "" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot

Fai in modo che il firmware avvii GRUB2 (U) EFI come impostazione predefinita

Per i sistemi UEFI non Mac, efibootmgr viene utilizzato per modificare il Boot Manager del firmware UEFI. Ciò richiede che il kernel venga avviato in modalità UEFI e che l'architettura del processore del kernel debba corrispondere all'architettura del firmware (e 'noefi' NON è usato) per il modulo del kernel 'efivars' da caricare e efibootmgr per accedere alle variabili del gestore di avvio. Inizialmente, l'utente deve lanciare manualmente "efi / grub / grub.efi" dalla console del firmware stessa se grub2-efi è stato installato in modalità BIOS. Quindi è necessario eseguire efibootmgr per creare la voce di avvio.

sudo cp grub.efi *.mod *.lst /mnt/EFISYS/efi/grub

Inserisci la directory "grub2 compilato source / grub-core"

sudo touch /mnt/EFISYS/efi/grub/grub.cfg

Supponendo che l'output di grub-probe sia / dev / sda1

sudo modprobe efivars

Nel comando precedente, / boot / efi / efi / grub / grub / efi possono essere divisi come / boot / efi e /efi/grub/grub.efi, che si traduce in (/ dev / sda) - & gt ; partizione 1 - & gt; \ EFI \ grub \ grub.efi.

  1. Apri Synaptic e rimuovi tutti i pacchetti di grub e installa solo i pacchetti grub-efi (amd64 per me) e tutte le dipendenze necessarie.Una volta terminata l'installazione, esegui sudo update-grub nel terminale. Dovresti modificare "grub.cfg" da / boot / grub e controllare che l'UUID del disco corrisponda al tuo disco e alle partizioni, la voce "insmod part_" e "set root=" (hd0, "avere" gpt "textline. ok, copia "grub.cfg" in "efi / grub" sulla partizione di sistema EFI. Se qualcosa che ho menzionato prima, non corrisponde, modifica semplicemente grub.cfg e modifica manualmente i valori. Quindi copia il file nella directory "efi / grub" su Efi System Partition (dovrebbe essere ancora montato in / mnt).

    Poi, quando ho riavviato il sistema, è stata visualizzata una nuova voce nella scheda Avvio sotto l'installazione UEFI, denominata GRUB2 e l'ho impostata come opzione di avvio predefinita.

risposta data Luis Alvarado 15.01.2012 - 19:15
5

Per confermare se il tuo computer è abilitato per U / EFI, esegui semplicemente dmesg | grep EFI da Terminal nella sessione desktop live.
Per aiutare a confermare se il tuo Ubuntu installato è stato avviato usando U / EFI, guarda cosa restituisce /sys/firmware/efi .
Una soluzione per risparmiare tempo è assicurarsi che Ubuntu sia effettivamente avviato in modalità UEFI in tempo di installazione . Facendo riferimento alla nuova Guida UEFI di Ubuntu la sezione 2.4 illustra brillantemente questo

  

Identificazione se il computer avvia il CD in modalità EFI

     

Attenzione: anche se il PC avvia il CD in modalità EFI, potrebbe avviarsi   HDD in modalità Legacy (e al contrario).

     

Quando si avvia su un disco Ubuntu a 64 bit:

     
  • Se il BIOS è impostato per avviare il CD in modalità EFI, verrà visualizzata la schermata seguente:
  •   

     
  • Se il BIOS NON è impostato per avviare il CD in modalità EFI, o se il disco non è a 64 bit, verrà visualizzata la seguente schermata:
  •   

Assicurarsi di utilizzare la stessa guida a cui si fa riferimento per garantire l'avvio del disco rigido anche utilizzando UEFI. Questo può essere semplice come impostare SATA su AHCI ma dipende dal tuo firmware in uso.

Una volta arrivati ​​alla schermata di grub, è possibile passare alla riga di comando premendo "c" e provare lsefisystab che dovrebbe fornire la tabella delle voci EFI con GUID che è un altro metodo pratico per identificare se UEFI viene utilizzato PRIMA dell'installazione.

È possibile utilizzare dmesg | grep EFI per identificare se la tua macchina è compatibile con UEFI. Su una delle mie macchine che non supporta U / EFI ma ciò mi dà
che può essere fuorviante come fare lo stesso comando su una macchina con capacità UEFI restituire molte più linee (possibilmente 50+) quando si avvia utilizzando EFI Ho trovato questo semplice suggerimento su rodsbooks (il link è per RESTA che è un'alternativa all'utilizzo di Grub2). le pagine web di rodsbooks sono regolarmente aggiornate e rappresentano una fonte di informazioni molto affidabile. L'autore di cui è un professore UEFI per dire meno se non un genio!

Riferendosi ai rodsbook su questa pagina mostra che Ubuntu 11.10 crea un ESP con filesystem FAT16 dove, come alcuni UEFI i firmware vogliono un ESP con filesystem FAT32. Troverai la spiegazione completa se esegui Ctrl + F e cerca Fedora nella pagina collegata in questo paragrafo (fai clic su Avanti una volta in "Trova barra" per andare direttamente alle informazioni a cui ci si riferisce).
Considerando il fatto che le specifiche UEFI richieste per Secure Boot sono = & gt; Le macchine preinstallate UEFI 2.2 e Windows 8 useranno UEFI 2.3.1.
Tutto ciò conferma che Ubuntu 11.10 non è sicuro all'avvio in modo che l'avvio sicuro non sia il problema.

È possibile dopo aver usato UEFI per installare Windows, che può utilizzare GPT solo quando si usa UEFI; che Ubuntu installa utilizzando le impostazioni BIOS / legacy a causa di carenze dell'installatore. cioè Ubuntu può installare su GPT usando sia BIOS che UEFI che poi porta alla necessità di cambiare le impostazioni del firmware per avviare ciascun sistema operativo.

Per identificare se Windows sta utilizzando UEFI è necessario utilizzare la gestione del disco per confermare l'utilizzo di GPT. È possibile convertire un'installazione di BIOS di Windows in UEFI utilizzando questa guida Conversione dell'installazione del BIOS di Windows in UEFI

Una soluzione semplice è eseguire Boot-repair-disk (il download del cd .iso implica un avvio leggermente più rapido rispetto all'utilizzo di Ubuntu.iso completo e quindi l'installazione del boot-repair. le impostazioni del firmware utilizzate per avviare la riparazione di avvio: Boot-Repair installa grub-efi e risolve i problemi di hardcoding del firmware affinché il sistema possa utilizzare UEFI e avviare Ubuntu, nonché qualsiasi altra installazione esistente utilizzando UEFI.

Una parte importante (che può essere specifica del fornitore) è come eseguire il boot in modalità EFI (cioè, lo stesso CD di Ubuntu 14.04 LTS può rilevare due modalità diverse e visualizzare la schermata di avvio del testo vs non testuale come mostrato sopra).

link

o questo:

link

Si noti che nell'impostazione del BIOS per le priorità di avvio, ci sono generalmente due diverse opzioni per il DVD: Px o UEFI (o qualche altra parola). Uno di questi è per UEFI e un altro è per l'avvio basato su MBR legacy.

    
risposta data geezanansa 14.03.2017 - 01:33
3

Risolto il problema EFI sul mio notebook ACER 5560G, si è scoperto che rinominare la directory EFI e il file EFI sul Wubi USB disco funzionato (grazie immerohnegott).

Ha forzato una normale installazione di GRUB su 2 partizioni premade con GParted su una chiavetta USB. I partitoni erano:

  • /boot (100 mb)
  • / (70 GB)

Riavvia in Windows 7 e installa la versione gratuita di EasyBCD. Aggiungi una nuova voce, Linux -- >> Grub 2 e cercherà tutte le partizioni per il bootloader GRUB.

In questo modo la partizione "Riservato al sistema" di Windows e la partizione nascosta Acer PQSERVICE non vengono toccate.

    
risposta data blaire 26.05.2012 - 16:58
2

È possibile rendere le unità USB avviabili che funzionano con il sistema EFI, non sono esperto come alcuni di voi quindi ho trovato un modo semplice e funzionale:)

In una macchina che ha il BIOS EFI, inserisci un CD / DVD con Parted Magic (l'ho avuto su un HIREN Boot CD che ho trasformato in un CD invece di un USB) Avvio da quel CD / DVD.

Quando ti trovi in ​​Parted Magic, inserisci un'unità USB di salto vuota con almeno 2 GB di memoria. Apri l'utilità Unetbooten inclusa in Parted Magic. Esegui il programma e scegli la distribuzione che stai tentando di caricare sul jump drive. Segui le indicazioni e attendi che si completi.

L'unità USB dovrebbe essere avviata su qualsiasi sistema EFI adesso. Almeno ha funzionato per me: oP

    
risposta data CynnieH 12.05.2013 - 23:43
1

Devi capire come far avviare il tuo bios dal cd di installazione in modalità efi, non in modalità bios. Saprai che si sta avviando in modalità efi perché otterrai un menu di grub invece del solito syslinux.

    
risposta data psusi 31.12.2011 - 18:56
1

Mi sono imbattuto in problemi di installazione di Ubuntu 14.04 su un Lenovo ThinkCentre M91p, e ho una soluzione rapida / semplice:

  1. Prima di avviare il disco di installazione di Ubuntu / USB, vai nel tuo BIOS e sotto la scheda "Avvio" cambia la "Modalità di avvio" da "Auto" a "Legacy".
  2. Installa Ubuntu.
  3. Se lo desideri, modifica la modalità di avvio del BIOS in Auto.

Funziona in modo coerente per me.

È abbastanza sicuro che funzioni perché l'installatore di Ubuntu rileva se il BIOS supporta EFI o meno quando decide quale bootloader installare. Impostando il BIOS su legacy, Ubuntu finisce per installare il vecchio bootloader che funziona con queste macchine Lenovo.

    
risposta data Eric 19.08.2015 - 20:09
1

Nelle impostazioni del BIOS, cambiare la modalità del disco rigido in IDE e avviare dall'unità flash USB. Si installerà in modalità non UEFI e l'avvio dopo l'installazione funzionerà anche bene.

Questo particolare metodo funziona perfettamente per me con Ubuntu 16.04 su un Lenovo ThinkCentre Edge 71, con l'ultima versione del BIOS.

    
risposta data Gregg B. 22.12.2016 - 15:32
0

Ho avuto anche un problema simile.

Quello che ho vissuto è che anche il computer con EFI è dotato di BIOS. Ho spammato F2 come un matto, quello che è successo è che ho avuto la possibilità di scegliere tra EFI o BIOS standard.

Attenzione però, se usi il BIOS, il computer si avvierà al messaggio: "Nessun sistema operativo trovato."

Quindi potresti potenzialmente formattare il tuo computer da lì e farlo avviare come un normale PC.

    
risposta data Marius 16.08.2013 - 01:04
0

Ho avuto lo stesso problema ... ho comprato questo nuovo desktop Lenovo di un desktop e mi sono imbattuto in uno stesso problema, non volevo WIN 8.1 su qualsiasi cosa, (ho avuto a che fare con Linux da Red Hat 6.1) Comunque io non aveva affatto familiarità con UEFI / EFI. PC non ha nemmeno avviato il liveCD. Dopo aver trovato informazioni tru su questo blog, ho scoperto che è necessario cambiare un paio di cose in UEFI / EFI / BIOS, prima era disabilitare CSM e scegliere "Legacy only" nelle opzioni di avvio. Riavvia e fai boom! ero in . Installato Ubuntu 12.04 ero a posto. Più tardi ho trovato che il 12.04 NON AVREBBE avviato dopo aver cambiato le stesse impostazioni in "UEFI Only" errore "OS non trovato". A mio avviso Ubuntu ha iniziato a supportare questo UEFI alle 12.10, l'ho aggiornato a 13.04, ho cambiato le stesse impostazioni, abilitato Solo CSM e UEFI e voilà! Ho avviato da UEFI e ho notato che la macchina funziona molto meglio! Non è necessario installare nuovamente da UEFI, è sufficiente effettuare l'aggiornamento alla versione 13.04 / 10 per tornare a UEFI, tuttavia ha funzionato per me ... Non vedo l'ora di vedere cosa fa Linux con questa nuova funzionalità UEFI / EFI, ci sono alcune possibilità qui

    
risposta data user255633 07.03.2014 - 03:17
-2

Lo stesso problema qui. L'ho risolto eseguendolo definitivamente dal mio CD SuperGrub. Non mi dispiace farlo in questo modo. Lo vedo come una caratteristica di sicurezza; il mio CD SuperGrub è la mia chiave aggiuntiva. Quando controllo i miei dischi rigidi in Ubuntu posso vedere che l'Ubuntu-HDD è un disco non-MBR. Sembra che la ripartizione di questo disco e l'aggiunta del MBR risolverebbero il problema, ma sono troppo pigro per affrontare tutti questi problemi.

    
risposta data Paul 15.05.2012 - 21:10

Leggi altre domande sui tag