Ho installato win10 e un Linux per dual boot sullo stesso ssd, durante linstallazione di Linux, contiene un grub. Dopo linstallazione, posso vedere che cè un nuovo file efi di Linux aggiunto alla partizione ESP. Ora ho deciso di rimuovere completamente Linux, il primo passo che ho fatto è stato rimuovere la voce di avvio efi con uno strumento chiamato EasyUEFI. La voce è scomparsa al riavvio e premendo F11.
Ma ci sono 2 parti che mi hanno confuso:
-
Il file efi di Linux è ancora nella partizione ESP dopo il la voce viene rimossa, pensavo che lesistenza di tali file efi fosse il modo in cui lUEFI saprebbe se esiste tale opzione di avvio quando lutente preme F11 allavvio. Ora questo significa che le opzioni di avvio sono registrate da qualche altra parte e lo strumento EasyUEFI lo ha semplicemente rimosso. Dovè, è nella partizione ESP?
-
Non sono del tutto sicuro di aver capito bene, sono lavvio UEFI (il file efi e qualsiasi altro record di avvio aggiunto durante installazione) e grub la stessa cosa ora? O è quando lutente seleziona una voce di avvio efi, va al menu di avvio di grub, che è una cosa separata? Se efi boot può già gestire la selezione dellavvio, non è inutile avere un grub dopo?
Di te
Commenti
- 1 ' sul tuo firmware, non su ESP. 2 UEFI è il tuo firmware e grub è unapplicazione UEFI che può servire la funzionalità del bootloader. UEFI può gestire la selezione di avvio ma ' t avviare ogni sistema operativo (può eseguire solo applicazioni UEFI sullESP, ad esempio grub, kernel Linux con codice stub EFI, moderno bootmgr Microsoft), quindi esegue grub. Grub fornisce anche il proprio menu di avvio e può avviare più sistemi operativi (e molte altre funzionalità) rispetto a UEFI.
- 2. " Non ' è inutile avere Grub? " No e sì. Il ruolo del programma caricato a cui punta la variabile di avvio è quello di funzionare come un caricatore di avvio per il sistema operativo. Può anche avere funzioni ausiliarie, come fornire un menu di avvio. Daltra parte, il kernel Linux può essere configurato in modo che limmagine del kernel stessa sia un binario EFI valido che può avviarsi da solo. Quindi, sì, usare Grub con il firmware UEFI è inutile, o almeno non necessario. Puoi anche utilizzare " boot manager " come systemd-boot o rEFInd, che non sono caricatori di avvio, ma solo provider di menu di avvio.
- Grazie, ' è molto utile, ora ho capito.
- No, UEFI può ' Per avviare tutto, richiede che il kernel (o qualsiasi cosa venga usata come stub di avvio per il sistema operativo) sia unapplicazione UEFI e si trovi in ESP. Grub offre opzioni di avvio più flessibili, come kernel di avvio da altre partizioni con file system non FAT, protocollo multiboot o protocollo di avvio Linux, chainloader su MBR di un altro disco, ecc.
Risposta
1.) Con EasyUEFI, modificherai le variabili di avvio UEFI. Queste sono memorizzate nella NVRAM di sistema, proprio come le impostazioni del BIOS. In Linux, tu può modificarli con lutilità efibootmgr
; in Windows normale, bcdedit /enum FIRMWARE
può elencarli e altre opzioni possono essere utilizzate per modificarli.
Se non è stata definita alcuna variabile di avvio, esiste un percorso di fallback specifico che UEFI esamina automaticamente: per lhardware x86 a 64 bit, questo percorso è \EFI\boot\bootx64.efi
. Se questo file esiste in una partizione ESP o in qualsiasi supporto rimovibile FAT32, il disco o altro supporto viene automaticamente considerato “avviabile” in stile UEFI nativo.
2.) UEFI è il firmware di sistema (come il BIOS, ma più recente). GRUB è un bootloader, quindi deve essere conforme a qualsiasi cosa r è previsto dal firmware dellarchitettura hardware pertinente, altrimenti il firmware non sarà in grado di caricare GRUB.
Quindi, il nucleo di GRUB può assumere molte forme: con BIOS, GRUB assume la forma di un po di codice di avvio nellMBR + altro codice incorporato nei blocchi del disco tra lMBR e linizio della prima partizione. Con UEFI, il nucleo di GRUB (o anche tutto) può assumere la forma di un singolo file grubx64.efi
allinterno della partizione ESP.
GRUB ha il proprio identificatori dellarchitettura: la versione di GRUB per BIOS è nota come i386-pc
versione e la versione UEFI su hardware x86 a 64 bit è nota come x86_64-efi
versione. Se, ad esempio, stai creando unimmagine di un vecchio sistema e ripristinando limmagine su un nuovo hardware, scoprirai che il nuovo sistema usa uno stile firmware diverso (cioè il vecchio sistema utilizzava il BIOS tradizionale e il nuovo sarà UEFI), allora di solito dovrai aggiungere la partizione ESP, sostituire la versione i386-pc
del pacchetto GRUB con la versione x86_64-efi
e quindi reinstallare GRUB.