Originariamente inviato da
UnixMan
benvenuto nel club...
quello è "sempre" stato così, Marco... ma la cosa è sostanzialmente ininfluente: con i boot loader moderni (incluso
GRUB) il meccanismo della "partizione attiva" non si usa più (da molto prima dell'invenzione del "malefico" UEFI). :-)
Per cominciare consiglio di
leggere qui per farsi un'idea di cos'è e come funziona UEFI.
proviamo a chiarire:
1) per utilizzare
UEFI, i dischi vanno partizionati
obbligatoriamente con una tabella delle partizioni di tipo
GPT.
2) UEFI e GPT utilizzano un meccanismo di boot
completamente diverso da quello dei vecchi sistemi basati su BIOS e tabella delle partizioni di tipo "MS-DOS" e
non prevedono più né "boot sectors" né "MBR" (se non attraverso un contorto meccanismo di compatibilità per sistemi multi-boot "ibridi", che è decisamente meglio evitare come la peste).
3) in sostanza, il meccanismo di boot di UEFI si basa su una apposita partizione dedicata (formattata con file system FAT) che contiene degli specifici boot loaders UEFI per i diversi sistemi operativi. Tale partizione è sempre unica e comune per tutti i sistemi installati, a prescindere da quali e quanti sono. I boot loaders UEFI non sono altro che normali files presenti in quel file system; questo deve avere una ben precisa struttura delle directories e ci sono delle precise convenzioni per quanto riguarda i nomi dei files (in particolare per quello del boot-loader che viene avviato automaticamente).
4) se si ha più di un sistema, è indispensabile avere un boot-manager UEFI (ad es. lo stesso grub-uefi, oppure
rEFInd, ecc) che sia avviato di default e permetta la successiva scelta tra i diversi sistemi.
5) i boot loader UEFI devono avere la stessa architettura del sistema UEFI (tipicamente amd64, anche se esistono alcuni sistemi, ad es. alcuni vecchi Mac, che hanno EFI a 32bit). È "quasi impossibile" avviare un sistema con una architettura diversa da quella prevista dal firmware EFI della macchina.
A complicare le cose ci si mette il fatto che i firmware EFI delle macchine non sono tutti uguali, ed a volte decidono di caricare boot-loaders "specifici" (cioè, situati in directories e/o con nomi del file specifici) anziché quello "standard". In casi del genere spesso è necessario intervenire a mano, copiando il file del boot manager che si vuole far avviare (e.g. grub) nel posto e con il nome giusto...
Come se non bastasse, spesso il (path completo del) boot loader che viene avviato al boot è configurabile nel firmware ed alcuni sistemi (e.g., il solito windoze) cambiano le relative impostazioni per far avviare (sempre) il proprio boot loader (tali impostazioni avvengono attraverso tramite apposite API; raramente è possibile modificarle dall'eventuale interfaccia utente del firmware EFI che sostituisce il BIOS, ammesso che ce ne sia una).
Uno dei problemi è che (da sempre...) windows vuole "impossessarsi" del sistema su cui viene installato, escludendo qualsiasi altro: perciò installa il suo boot-loader (che ti permette di avviare solo lui) in modo che sia sempre e solo questo ad essere avviato automaticamente al boot.
Prima di UEFI ciò avveniva sovrascrivendo il MBR con un puntatore al suo boot-loader (cosa che se non altro era univoca e più semplice rimediare); con EFI invece lo fa sovrascrivendo il file "di default" nella partizione di boot (di UEFI) e/o modificando le impostazioni di avvio del firmware.
Probabilmente è per questo che non ti funzionava più nulla e che il sistema cercava di caricare sempre lo stesso sistema, a prescindere da cosa tentavi di avviare tu. Ringrazia mamma wintel...
Da un punto di vista operativo:
*) se vuoi/devi installare un sistema UEFI, è bene che
tutti i sistemi installati siano basati su quello; creare installazioni "ibride" è teoricamente possibile, ma in pratica il meccanismo è contorto e foriero di rogne - meglio evitare.
*) pertanto, in tal caso, qualora il firmware della tua macchina preveda una "modalità legacy" (BIOS),
disabilitala (lasciando attivo solo UEFI)
prima di installare qualsiasi OS. Eventualmente puoi provare a ri-abilitarla solo in un secondo momento (per poter avviare anche dischi esterni di tipo "legacy").
*) se devi installare un sistema multi-boot che comprende anche windows, come sempre conviene installare
prima questo e poi gli altri (di solito conviene installare Linux sempre per ultimo). Se le cose funzionano a dovere il relativo installatore dovrebbe sostituire (con grub) il file del boot loader UEFI di default e quindi consentirti di scegliere (da GRUB) quale sistema avviare.
Posto ovviamente che windoze non abbia scombinato le cose nel firmware, nel qual caso di solito la soluzione è intervenire a mano, sovrascrivendo (con GRUB) il boot loader UEFI di windows.
Vedi anche:
https://help.ubuntu.com/community/UEFI
Force your computer to show a GRUB dual boot menu
Managing EFI Boot Loaders for Linux: Repairing Boot Repair