Ubuntu 12.10 a doppio avvio su UEFI su Windows 8 (GRUB - errore: impossibile trovare il comando drivemap)


8

Ciao dopo una corretta installazione di Ubuntu 12.10 amd64, ora non riesco ad avviare Windows 8.

Ecco le mie azioni:

  1. Spazio creato (15 GB) per Ubuntu da Gestione computer Windows 8
  2. Avvia Ubuntu 12.10 amd64 LiveUSB con EFI e con Secure Boot abilitato
  3. Alla fine sono state create 2 nuove partizioni (radice da 4 GB Ext4 e scambio da 2 GB)
  4. Partizione di sistema EFI Windows 8 selezionata per installare il bootloader

Grub mi dà all'avvio:

  1. Ubuntu (funziona senza problemi)
  2. Ambiente di ripristino di Windows (molti errori)
  3. Windows 8 (2 messaggi di errore descrivono appena sotto)

I 2 messaggi di errore sono:

  • error: can't find command drivemap.
  • error: invalid EFI file path

Rettifica Ho selezionato "la partizione di sistema EFI appena creata" per installare il bootloader, ma in realtà ha installato il bootloader su Windows 8 EFS ...
Kouros,

Hai già fatto un backup? cioè la partizione di avvio / sistema di Windows 8 è qualcosa di piccolo come 150-350 MB, quindi forse l'hai fatto dd if=/dev/sda1 of=/media/some_usb_pendrive/backupfile? Se esiste un backup di questo tipo, ripristinerei il sistema Windows / avvierei la partizione che potrebbe essere stata "danneggiata".
umanità e

Spiacente, nessun backup, ma sono riuscito a ripristinare Windows 8 utilizzando Recovery Environment (premendo il pulsante Assist invece del pulsante di accensione)
Kouros

hai seriamente duplicato la tua domanda? Installa Ubuntu 12.10 su UEFI su Windows 8
duxk.gh

NOTA: l'aggiornamento a 13.04 ha rimosso questa modifica nella mia installazione.
gcb,

Risposte:


6

Ho trovato una soluzione temporanea.

Aggiungi una voce personalizzata al menu di avvio di GRUB

Aggiungi il codice qui sotto a /etc/grub.d/40_custom.

menuentry "Windows 8" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/microsoft/BOOT/bootmgfw.efi
}

Puoi usare Ctrl+ Alt+ Tper aprire un terminale ed eseguire sudo nano /etc/grub.d/40_custom, quindi copiare e incollare il codice. Infine, premi Ctrl+ Oper salvare e Ctrl+ Xper uscire.

Heads up: hd0,gpt1 ecco l'ID della mia EFI System Partition (ESP). Se il tuo ESP non è la prima partizione sul tuo primo hard disk durante l'avvio , allora la tua è diversa! Ad esempio hd1,gpt2per la seconda partizione sulla seconda unità.

Sostituire part_gptcon part_msdosse l'unità utilizza MBR e l'eredità di partizionamento e cambiarne anche hd0,gpt1a hd0,msdos1rispettivamente.

Applica le modifiche a GRUB

È sufficiente eseguire il comando seguente, che dovrebbe generare una nuova configurazione di GRUB, inclusa la nuova voce personalizzata:

sudo update-grub

Ora riavvia, dovresti essere in grado di avviare Windows 8 ora. In caso contrario, Windows si lamenta della configurazione BCD danneggiata, quindi continua con il superutente: come posso riparare il bootloader EFI di Windows 8?


Avvertenza: in alcune occasioni, se si avvia Windows 8, GRUB verrà sostituito da Boot Manager di Windows come boot manager predefinito.


a cosa dovrei "mirare"? ho pensato che fosse la partizione dati di Windows (qui gpt4) ma ha funzionato con gpt1, che è l'unica partizione EFI che ho. anche se l'installazione di Ubuntu avrebbe sovrascritto il contenuto di Windows della partizione EFI, come grub fa
all'MBR

1
Questa soluzione non funziona per me. Il personaggio `appare nell'inteso set root='(hd0,gpt1)'. Mi dà un errore (provo con gpt3) anche senza quel personaggio. L'errore è come (hd0,gpt1)non trovato.
iammilind,

3

Le voci errate di Windows in GRUB sono dovute a questo errore: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383

Soluzione: eseguire Boot-Repair 's Recommended Repairda un LiveCD (o liveusb).


1
Ho dovuto disabilitare "avvio sicuro" nel BIOS prima che funzionasse.
Robin Winslow,

@RobinWinslow Sì, Boot-Repair ha funzionato anche per me (Lenovo Thinkpad S540) ma solo se disabilitato SecureBootnel BIOS, altrimenti Windows 8 si lamenta ancora ... Sarebbe bello se questo potesse essere fatto funzionare mantenendo SecureBoot
fpghost

0

Ho trovato un modo per chiudere Windows 8. Vedi /superuser/499923/preinstalled-windows-8-and-linux-uefi-dual-boot-on-a-laptop/528581

Sotto W8, in una finestra di comando con privilegi elevati, eseguire powercfg / h off. Al momento, W8 potrebbe aver già sovrascritto la partizione EFI. Mi ci sono volute alcune iterazioni per cambiare bootmgfw.efi e averlo resettato fino a quando non si è bloccato, ma ora sono felice.

Non so dire se è sufficiente avviare W8 o se è necessario accedere e riavviare. Forse qualcuno con più pazienza (ci ho lavorato per più di mezza giornata) può dirlo.


0

Ho lo stesso problema sul mio laptop Asus-x202 (con W8 e Ubuntu 13.04).

Per il momento, un lavoro leggermente fastidioso è abbastanza buono per me: nel menu di avvio vai al sistema (o avvia il BIOS dall'inizio probabilmente usando f2). Se si utilizza l'override per l'avvio, Windows verrà avviato normalmente.


1
A cosa ti riferisci esattamente con "l'override per l'avvio"? Non capisco quella parte della tua risposta.
gertvdijk,

0

"Override to boot" è un menu nella scheda "boot" del menu di configurazione delle schede madri. Ti consente di selezionare e avviare immediatamente qualsiasi boot loader installato sul tuo rig.


1
@edwin Questa risposta potrebbe essere in espansione, ma sembra essere un tentativo di rispondere alla domanda che è stata posta. vic : Benvenuti in Ask Ubuntu! Consiglio di modificarlo per aggiungere ulteriori informazioni su come utilizzare quella funzionalità, nonché una spiegazione più approfondita del perché risolve questo problema. Grazie.
Eliah Kagan,

0

Ho un problema simile con il mio nuovo HP Pavillion Sleekbook, Modello 15-b142dx. È arrivato con W8 precaricato. Sono stato in grado di ridimensionare la partizione di Windows da Windows, quindi ho installato Ubuntu 13.04 a 64 bit da una chiavetta USB. Tuttavia, al riavvio, W8 si avviava normalmente, senza menu di avvio. Quindi, ho usato "boot-repair", che ha reso il sistema non avviabile. All'avvio, stampa:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E 
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub

Quindi si spegne.

Dopo alcune prove ed errori, ho scoperto che premendo F10 durante l'avvio mi avrebbe portato al BIOS, dove avrei potuto disabilitare l'avvio protetto. Al prossimo avvio, ho ottenuto un menu LUNGO da grub, con molte voci come:

Windows UEFI bkpbootmgfw.efi
Windows Boot UEFI loader
EFI/HP/BIOSUpdate/CryptRSA32.efi
.
.
.

Questi erano tutti contenuti in un file "/etc/grub.d/25_custom". Ho fatto una copia di backup di quel file, quindi ho eliminato tutte le voci tranne il caricatore UEFI Windows Boot. (Questa è una delle voci che consente l'avvio di W8). Ho quindi eseguito "update-grub", e ho finito con un menu di avvio molto più bello, e posso avviare entrambi i sistemi operativi.

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.