Dual boot Win 8 / Ubuntu solo carga Win

13

Mi computadora es una portátil Sony Vaio. Usé Ubuntu y Win 8 con dualboot, pero Windows de alguna manera logró eliminar el menú para elegir el sistema operativo en el inicio. Creo que el BIOS es UEFI. El arranque seguro ya estaba deshabilitado y la reparación de arranque falla de alguna manera.

¿Cómo puedo arreglar esto?

usuario296880
fuente
a sda le falta GRUB ... "Coloque GRUB en sda" usando: help.ubuntu.com/community/Boot-Repair
jmunsch
3
Con UEFI no tienes grub en el MBR de sda, solo en la partición efi que es.
oldfred

Respuestas:

19

Sony, HP y muchos proveedores de computadoras portátiles están codificados para arrancar solo Windows.

Hay varias rondas de trabajo que sugieren que mueva el grub grubx64.efio el shimx64.efiarchivo encima de Windows /EFI/windows/bootmgfw.efi. Sin embargo, esto no se recomienda porque Windows Update se restaurará bootmgfw.efiy volverá a solo Windows de arranque.

En su lugar, sugiero cambiar el nombre del respaldo /EFI/Boot/bootx64.efi y arrancar la entrada del disco duro o usar rEFInd.

Asegúrese de hacer una copia de seguridad de toda la partición EFI antes de realizar cambios.

Tienes varias opciones disponibles:

I. Mueva y cambie el nombre de los archivos grub grubx64.efio shim64.efi(para un arranque seguro) a esta carpeta / archivo/EFI/BOOT/BOOTX64.EFI

  1. Cambie el nombre de /efi/boot/bootx64.efi, copie shim o grub en / efi / boot y asígnele el nombre bootx64.efi. Luego, inicie la entrada del disco duro. Las nuevas versiones de Boot-Repair lo hacen automáticamente con 'Usar el archivo EFI estándar' en las opciones avanzadas. También realiza una copia de seguridad de bootx64.efi actual, que probablemente sea solo una copia del archivo de arranque .efi de Windows.

    Desde el instalador en vivo, monte la partición efi en el disco duro: monte la partición efi. verifique qué partición es FAT32 con la bandera de arranque. A menudo sda1 o sda2 pero varía.

    sudo mount /dev/sda1 /mnt
    

    solo si aún no existe,

    sudo mkdir /mnt/EFI/Boot
    sudo cp /mnt/EFI/ubuntu/* /mnt/EFI/Boot
    

    Si se crea una nueva carpeta, bootx64.efi no existirá, omita este comando

    sudo mv /mnt/EFI/Boot/bootx64.efi /mnt/EFI/Boot/bootx64.efi.backup
    

    Haga que grub sea la entrada de arranque del disco duro en UEFI. Si no existe, puede que tenga que actualizar UEFI también con efibootmgr.

    sudo mv /mnt/EFI/Boot/grubx64.efi /mnt/EFI/Boot/bootx64.efi 
    

    Si es necesario, agregue una nueva entrada de arranque del disco duro UEFI: consulte también

    man efibootmgr
    

    Si ESP es sda o entradas de unidad y partición predeterminadas:

    sudo efibootmgr -c -L "UEFI Hard drive" -l "\EFI\Boot\bootx64.efi"
    

    Si ESP no es sda1, sdX es unidad, Y es partición efi, también unidades NVMe:

    sudo efibootmgr -c -g  -w -L "UEFI hard drive" -l '\EFI\Boot\bootx64.efi' -d /dev/sdX -p Y
    sudo efibootmgr -c -L "UEFI hard drive" -l "\EFI\Boot\bootx64.efi" -d /dev/nvme0n1 -p 2 
    
  2. (Esto es lo mismo que Boot-Repair solía hacer en II. No se recomienda ahora: cambiar el nombre de /efi/Microsoft/Boot/bootmgfw.efi y copiar grub o shim en / efi / Microsoft / Boot y asígnele el nombre bootmgfw.efi. Luego inicie la entrada de Windows para iniciar el menú de grub. Debe agregar manualmente una entrada de menú de grub para iniciar el archivo renombrado efi de Windows. La entrada os-prober de Grub2 inicia la entrada bootmgfw.efi que ahora es solo grub, por lo que no funcionará.

    Los usuarios que movieron manualmente los archivos efi en la publicación # 6

    http://ubuntuforums.org/showthread.php?t=2101840
    http://ubuntuforums.org/showthread.php?t=2219452
    http://ubuntuforums.org/showthread.php?t=2221498&p=13012109#post13012109

II Si ejecutó la reparación de Boot-Repair para "UEFI con errores" con una copia anterior, es mejor deshacerla. Y luego realice el cambio anterior para usar bootx64.efi Para deshacer y cambiar el nombre de los archivos a sus nombres originales, solo tiene que marcar la opción "Restaurar copias de seguridad EFI" de Boot-Repair.

Cualquier cambio de nombre, ya sea manualmente o con Boot-Repair, deberá rehacerse después de una actualización de Windows, ya que restaurará los archivos de Windows.

III. Edite Windows BCD, una alternativa al cambio de nombre de Boot-Repair para que Shim tenga el nombre de Windows. Algunos sistemas funcionan mejor para registrar grub / shim desde Windows, para aquellos que siguen reiniciando Windows de manera predeterminada.

Grub no se muestra en el inicio para Windows 8.1 Ubuntu 13.10 arranque dual

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

https://coderwall.com/p/vfyqkg

IV. Si la descripción tiene que ser Windows, cambie la descripción de UEFI. Esto realmente solo funciona para aquellos con solo Ubuntu y sin instalación de Windows.

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\shimx64.efi"

Restaurar o una nueva entrada UEFI de Windows: asume por defecto sda1 add -p 2 si sda2 (vea man efibootmgr -d drive & -p opciones de partición):

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi"
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme0n1 -p 1 

V. Algunos instalan rEFInd, que parece ser otra solución y tiene buenos iconos de arranque.

http://www.rodsbooks.com/refind/index.html

http://www.rodsbooks.com/refind/secureboot.html

PPA disponible para facilitar la instalación en Ubuntu

http://www.rodsbooks.com/refind/getting.html

oldfred
fuente
¡Si! Renombrar funcionó para mí! Monté la partición efi y copié los archivos ../EFI/ubuntu/grubx64.efi a ../EFI/Boot/ y / EFI / Microsoft / Boot y cambié el nombre del archivo de la siguiente manera. En el directorio ../EFI/Boot sobrescribí bootx64.efi con el archivo y en ../EFI/Microsoft/Boot sobrescribí bootmgfw.efi con el archivo. Eso fue todo lo que pensé. ¡Muchas gracias!
user296880
Para aquellos atascados en Windows: logré hacer el enfoque de cambio de nombre descrito en la opción a1 sin salir de Windows. Abrí una ventana de comandos como administrador, luego corrí mountvol S: /Spara montar la partición EFI como S :. Tuve problemas extraños al subir y bajar carpetas, pero mover una copia de grubx64.efi una carpeta a la vez a / EFI / Boot, luego cambiarle el nombre a bootx64.efi funcionó.
Peter Becker
Me sorprende que el comandante inglés que renumeró mi publicación no hizo eso. Tenía comentarios anteriores que se referían a A: & B: como secciones principales. :)
oldfred
2

La respuesta anterior no funcionó para el HP Pavilion de mi amigo, pero encontré una solución decente. Parece que el firmware de HP siempre sobrescribe BootOrderen cada arranque y establece Windows primero, pero aún así lo respeta BootNext. Entonces escribí un script de inicio para configurar BootNexten cada arranque.

  1. correr

    efibootmgr
    

    para encontrar el código numérico de BootCurrent. En el caso de mi amigo esto era 0003.

  2. /etc/systemd/system/boot-linux-next.service:

    [Unit]
    Description=Boot Linux next
    
    [Service]
    Type=oneshot
    # Replace '3' in the next line with the appropriate code.
    ExecStart=efibootmgr --bootnext 3
    
    [Install]
    WantedBy=multi-user.target
    
  3. correr

    systemctl enable --now boot-linux-next.service
    

Esto significa que si alguna vez arrancas algo más, tendrás que seleccionar Linux manualmente en el arranque la próxima vez.

Leif Arne Storset
fuente
0

Tengo un Acer que tiene el mismo problema. Mi solución es "reiniciar" Windows, en lugar de apagar (que en realidad es solo un hibernación).

Al reiniciar (que puede desencadenar actualizaciones), el sistema se apaga y puede seleccionar el inicio desde la BIOS. Tienes que atraparlo antes de que se reinicie.

Raramente uso Windows, por lo que arrancar de esta manera no me molesta en absoluto. A menos, por supuesto, actualizaciones de Windows.

Dólar
fuente