Ripristina il bootloader di Apple su un Mac (Intel) dopo che un update-grub è stato eseguito da un'installazione Ubuntu esterna


10

Ho Ubuntu installato su un HDD esterno e lo uso come installazione portatile che posso portare con me ovunque io vada.

Oggi l'ho avviato sull'iMac di un amico e dopo che Software Updater mi ha chiesto di installare gli aggiornamenti. Così ho fatto.

Poiché a quel punto avevo finito, ho spento il computer e ho scollegato l'HDD esterno. Subito dopo ho riavviato iMac in modo che si riavviasse in OSX.

Con mio grande shock, orrore e confusione, mi sono imbattuto in uno schermo di salvataggio di GRUB!

Come è possibile? Ubuntu è installato sull'HDD esterno, non su quello interno! Come diavolo ha fatto GRUB a finire sull'HDD interno dell'iMac?

Ancora più importante, come posso risolvere questo problema?



1
@Fran - No, non un duplicato. Volevo ripristinare il boot loader di Apple, non GRUB.
SeiAGitForNotUsingGit il

Risposte:


9

(Scorri verso il basso per la correzione effettiva)

Quindi le cose erano ancora più complicate di quanto sembrasse all'inizio.

Per mantenere la compatibilità con MS-Windows, Apple utilizza una modalità ibrida UEFI e Legacy MBR. Apparentemente, esiste un valore NVRAM che indica al firmware se tentare l'avvio in modalità UEFI (OS-X) o in modalità MBR legacy (Windows). Tale valore è controllato dalla selezione effettuata in "Preferenze di Sistema> Disco di avvio". (Non chiedermi perché, chiedi a Apple)

Ora, per avviare Ubuntu dal mio HDD esterno, per prima cosa ho avviato da un DVD su cui avevo masterizzato un ISO di rEFInd. (Selezionando "Avvio EFI" con l'icona del DVD quando si tiene premuto il Optiontasto durante l'avvio). Dopo l'avvio da quel DVD, ho quindi selezionato il mio HDD esterno per l'avvio dall'interno di rEFInd.

È qui che le cose iniziano a diventare davvero strane. Dopo aver detto a rEFInd di avviarsi dall'HDD esterno, lo schermo GRUB viola non è mai apparso (Sì, avevo impostato un ritardo) e inoltre non c'era animazione di avvio con punti viola. Invece, era il testo scorrevole bianco che si avviava.

Da quello che posso dire guardando rEFInd più da vicino prima di colpire l'avvio è che l'opzione Ubuntu era in realtà quella di caricare un kernel specifico e non solo l'avvio dal disco.

Ciò significa che rEFInd è, ovviamente, EFI ovviamente, e funziona essenzialmente come sostituto di GRUB, che sebbene Ubuntu fosse installato in modalità MBR sull'HDD esterno, alla fine è stato avviato in modalità UEFI.

Questo fatto è molto importante e vedrai perché in un secondo.

Quindi ho lasciato che l'aggiornamento software eseguisse alcuni aggiornamenti. Guardando i log, sembra che il update-grubcomando sia stato eseguito durante il processo di installazione. Questo è dove accadono tutte le cose brutte . Ora a questo punto non so esattamente cosa sia successo, ma ecco la mia ipotesi migliore: il programma di aggiornamento di grub si è confuso da quando grub è stato installato in modalità MBR, ma Ubuntu è stato avviato in modalità UEFI. A causa della confusione e del fatto che il boot loader è installato in una posizione diversa a seconda della mod in cui si è avviato, il programma di aggiornamento di grub fa un grosso errore e installa grub in modalità MBR sull'HDD interno.


Ora per la correzione effettiva!

Nel mio caso particolare, la partizione OS-X era ancora avviabile se tenevo premuto il Optiontasto durante l'avvio e ho selezionato "Macintosh HD".

Dopo aver avviato OS-X, ti consigliamo di aprire Preferenze di Sistema, quindi vai su Disco di avvio. Seleziona il volume OS-X, premi applica o altro, riavvia e BOOM! il logo Apple mostra!


Ora, solo FYI, penso che sebbene ciò risolva il problema, GRUB risiede ancora nel settore 0, ma non credo che farà alcun danno lì, e certamente non se installi Windows nel Boot camp, poiché l'avvio di Windows il caricatore lo sovrascriverebbe allora

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.