Ubuntu 12.10 de arranque dual en UEFI a lo largo de Windows 8 (GRUB - error: no se puede encontrar el comando drivemap)

8

Hola, después de una instalación exitosa de Ubuntu 12.10 amd64, ahora no puedo iniciar Windows 8.

Aquí están mis acciones:

  1. Espacio disponible (15 GB) para Ubuntu desde Windows 8 Computer Managment
  2. Arranque Ubuntu 12.10 amd64 LiveUSB con EFI y con Arranque seguro habilitado
  3. Creó 2 nuevas particiones al final (13 GB Ext4 Root amd 2 GB Swap)
  4. Partición del sistema EFI de Windows 8 seleccionada para instalar el gestor de arranque

Grub me da en el arranque:

  1. Ubuntu (funciona sin problemas)
  2. Entorno de recuperación de Windows (muchos errores)
  3. Windows 8 (2 mensajes de error se describen a continuación)

Los 2 mensajes de error son:

  • error: can't find command drivemap.
  • error: invalid EFI file path
Kouros
fuente
Rectificación he seleccionado "la recién creada partición del sistema EFI" para instalar el cargador de arranque, pero en reallity instalado el gestor de arranque de Windows 8 en las EFS ...
Kouros
¿Hiciste una copia de seguridad de antemano? es decir, la partición de inicio / sistema de Windows 8 es algo pequeño como 150-350 MB, ¿tal vez lo hiciste dd if=/dev/sda1 of=/media/some_usb_pendrive/backupfile? Si existe tal copia de seguridad, restablecería el sistema de Windows / iniciaría una partición que podría haber sido "dañada".
humanityANDpeace
Lo siento, no hay copia de seguridad, pero logré recuperar Windows 8 usando el Entorno de recuperación (presionando el botón de asistencia en lugar del botón de encendido)
Kouros
¿Realmente hiciste un duplicado de tu propia pregunta? Instale Ubuntu 12.10 en UEFI a lo largo de Windows 8
duxk.gh
NOTA: la actualización a 13.04 eliminó este cambio en mi instalación.
gcb

Respuestas:

6

Encontré una solución temporal.

Agregar una entrada personalizada al menú de arranque de GRUB

Agregue el siguiente código a /etc/grub.d/40_custom.

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

Puede usar Ctrl+ Alt+ Tpara abrir una terminal y ejecutar sudo nano /etc/grub.d/40_custom, luego copiar y pegar el código. Finalmente, presione Ctrl+ Opara guardar y Ctrl+ Xpara salir.

Aviso: hd0,gpt1 aquí está la identificación de mi partición del sistema EFI (ESP). Si su ESP no es la primera partición en su primer disco duro durante el arranque , ¡el suyo es diferente! Por ejemplo, hd1,gpt2para la segunda partición en la segunda unidad.

Reemplace part_gptcon part_msdossi la unidad usa MBR y particiones heredadas y también cambie hd0,gpt1a hd0,msdos1respectivamente.

Aplicar cambios a GRUB

Simplemente ejecute el siguiente comando, que debería generar una nueva configuración de GRUB, incluida la nueva entrada personalizada:

sudo update-grub

Ahora reinicie, debería poder iniciar Windows 8 ahora. Si no es así, y Windows se queja de la configuración BCD corrupta, continúe con el superusuario: ¿Cómo puedo reparar el cargador de arranque EFI de Windows 8?


Advertencia: en algunas ocasiones, si inicia Windows 8, GRUB será reemplazado por Windows Boot Manager como administrador de inicio predeterminado.

Kouros
fuente
¿A qué debo 'apuntar'? Pensé que era la partición de datos de Windows (gpt4 aquí) pero funcionó con gpt1, que es la única partición EFI que tengo. i aunque la instalación de ubuntu tendría sobrescribe el contenido de las ventanas de la partición EFI, al igual que lo hace prisionero en el MBR ...
GCB
1
Esta solución no me funciona. Es el personaje que `aparece en la set root='(hd0,gpt1)'intención. Me da un error (lo intento con gpt3) incluso sin ese personaje también. El error es como (hd0,gpt1)no se encuentra.
iammilind
3

Las entradas incorrectas de Windows en GRUB se deben a este error: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383

Solución: ejecutar Boot-Repair 's Recommended Repairdesde un LiveCD (o LiveUSB).

LovinBuntu
fuente
1
Tuve que deshabilitar el "arranque seguro" en la BIOS antes de que esto funcionara.
Robin Winslow
@RobinWinslow Sí, Boot-Repair también funcionó para mí (Lenovo Thinkpad S540) pero solo si lo desactivé SecureBooten la BIOS, de lo contrario, Windows 8 aún se queja ... Sería bueno si esto pudiera funcionar mientras se conserva SecureBoot
fpghost
0

Encontré una manera de cerrar Windows 8. Ver /superuser/499923/preinstalled-windows-8-and-linux-uefi-dual-boot-on-a-laptop/528581

En W8, en una ventana de comando de privilegios elevados, ejecute powercfg / h apagado. En el momento en que haga esto, es posible que W8 ya haya sobrescrito la partición EFI. Me tomó algunas iteraciones cambiar el bootmgfw.efi y restablecerlo hasta que se atascó, pero ahora estoy feliz.

No puedo decir si solo arrancar W8 es suficiente, o si tiene que iniciar sesión y luego reiniciar. Quizás alguien con más paciencia (estuve trabajando en esto durante más de medio día) pueda decirlo.

Lupe
fuente
0

Tengo el mismo problema en mi computadora portátil Asus-x202 (con W8 y Ubuntu 13.04).

Una solución un poco molesta es suficiente para mí por el momento: en el menú de inicio, vaya al sistema (o inicie la BIOS desde el principio usando probablemente f2). Si usa la anulación para arrancar, Windows se iniciará como de costumbre.

usuario184354
fuente
1
¿A qué te refieres exactamente con "anular el arranque"? No entiendo esa parte de tu respuesta.
gertvdijk
0

El "override to boot" es un menú en la pestaña "boot" del menú de configuración de las placas base. Le permite seleccionar e iniciar instantáneamente cualquier cargador de arranque instalado aún en su equipo.

vic
fuente
1
@edwin Esta respuesta podría expandirse, pero parece ser un intento de responder la pregunta que se hizo. vic : ¡Bienvenido a Ask Ubuntu! Recomiendo editar esto para agregar más información sobre cómo usar esa función, así como una explicación más detallada de por qué resuelve este problema. Gracias.
Eliah Kagan
0

Tengo un problema similar con mi nuevo HP Pavillion Sleekbook, Modelo 15-b142dx. Vino con W8 precargado. Pude cambiar el tamaño de la partición de Windows desde Windows, luego instalé Ubuntu 13.04 de 64 bits desde una memoria USB. Sin embargo, al reiniciar, W8 comenzó normalmente, sin menú de arranque. Entonces, utilicé "boot-repair", lo que hizo que el sistema no se pueda arrancar. En el inicio, imprimiría:

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

Entonces se cerraría.

Después de algunas pruebas y errores, descubrí que presionar F10 durante el arranque me llevaría al BIOS, donde podría deshabilitar el arranque seguro. El siguiente arranque, obtuve un menú LARGO de grub, con muchas entradas como:

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

Todos estaban contenidos en un archivo, "/etc/grub.d/25_custom". Hice una copia de seguridad de ese archivo, luego eliminé todas las entradas excepto el cargador UEFI de Windows Boot. (Esta es una de las entradas que permite que W8 arranque). Luego ejecuté "update-grub", y terminé con un menú de arranque mucho mejor, y puedo arrancar cualquier sistema operativo.

usuario200241
fuente