¿Cómo puedo reparar grub? (¿Cómo recuperar Ubuntu después de instalar Windows?)

Instalé Windows 7, que se comió el archivo de arranque de Ubuntu. Al iniciar la computadora, ahora va directamente a Windows, sin darme la opción de iniciar Ubuntu.

¿Cómo puedo recuperar Ubuntu?

Cuando instala Windows, Windows asume que es el único sistema operativo (SO) en la máquina, o al menos no tiene en cuenta Linux. Así que reemplaza a GRUB con su propio gestor de arranque. Lo que tienes que hacer es reemplazar el cargador de arranque de Windows con GRUB. He visto varias instrucciones para reemplazar GRUB por cometer errores con los comandos de GRUB o algo así, pero para mí la forma más fácil es simplemente chroot en su instalación y ejecutar update-grub . chroot es genial porque le permite trabajar en su instalación real, en lugar de intentar redirigir las cosas aquí y allá. Está realmente limpio.

Así es cómo:

  1. Arranque desde el CD en vivo o USB en vivo, en el modo “Probar Ubuntu”.
  2. Determine el número de partición de su partición principal. sudo fdisk -l , sudo blkid o GParted (que ya debería estar instalado, por defecto, en la sesión en vivo) puede ayudarlo aquí. Asumiré en esta respuesta que es /dev/sda2 , ¡pero asegúrese de usar el número de partición correcto para su sistema!

    Si su partición principal está en un LVM , el dispositivo se ubicará en /dev/mapper/ , lo más probable, /dev/mapper/{volume}--{os}-root donde {volume} es el nombre del volumen LVM y {os} es el sistema operativo. Ejecute ls /dev/mapper para el nombre exacto.

  3. Monte su partición:

     sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2 

    Si tiene particiones /boot , /var o /usr separadas , repita los pasos 2 y 3 para montar estas particiones en /mnt/boot , /mnt/var y /mnt/usr respectivamente. Por ejemplo,

     sudo mount /dev/sdXW /mnt/boot sudo mount /dev/sdXY /mnt/var sudo mount /dev/sdXZ /mnt/usr 

    reemplazando sdXW , sdXY y sdXZ con los respectivos números de partición.

  4. Enlazar montar algunas otras cosas necesarias:

     for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done 
  5. Si Ubuntu está instalado en modo EFI ( consulte esta respuesta si no está seguro ), use sudo fdisk -l | grep -i efi sudo fdisk -l | grep -i efi o GParted para encontrar su partición EFI. Tendrá una etiqueta de EFI . Monte esta partición, reemplazando sdXY con el número de partición real para su sistema:

     sudo mount /dev/sdXY /mnt/boot/efi 
  6. chroot en su instalación de Ubuntu:

     sudo chroot /mnt 
  7. En este punto, estás en tu instalación, no en la sesión en vivo, y ejecutando como root. Actualizar grub:

     update-grub 

    Si recibe errores o si el paso 7 no solucionó su problema, vaya al paso 8. (De lo contrario, es opcional).

  8. Dependiendo de su situación, es posible que tenga que volver a instalar grub:

     grub-install /dev/sda update-grub # In order to find and add windows to grub menu. 
  9. Si Ubuntu está instalado en el modo EFI y el UUID de la partición EFI ha cambiado, es posible que deba actualizarlo en /etc/fstab . Comparelo:

     blkid | grep -i efi grep -i efi /etc/fstab 

    Si la UUID de la partición EFI actual (de blkid ) difiere de la de /etc/fstab , actualice /etc/fstab con la UUID actual.

  10. Si todo funcionó sin errores, entonces estás listo:

     exit sudo reboot 
  11. En este punto, deberías poder arrancar normalmente.

Si no puede iniciar normalmente y no realizó el paso 8 porque no hubo mensajes de error, intente nuevamente con el paso 8.

  • A veces, dar a GRUB2 la configuración correcta para sus particiones no es suficiente, y realmente debe instalarlo (o reinstalarlo) en el Registro de arranque maestro, lo que hace el paso 8. La experiencia de ayudar a los usuarios en el chat ha demostrado que el paso 8 a veces es necesario incluso cuando no se muestran mensajes de error.

El instalador de Windows no se preocupa por otros sistemas operativos en el sistema. Así que escribe código propio sobre el registro de arranque maestro. Afortunadamente la solución también es fácil.

Necesitas reparar el MBR. Haz lo siguiente

Arranque usando un usb / cd en vivo de ubuntu. Utilice boot-repair para solucionar el problema.

Después de arrancar con live usb / cd, ejecute el siguiente comando en la terminal:

 sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update sudo apt-get install -y boot-repair && boot-repair 

Utilice Recomended Repair .

introduzca la descripción de la imagen aquí

Más información – https://help.ubuntu.com/community/Boot-Repair

Nunca me metí en problemas usando estas instrucciones:
https://wiki.ubuntu.com/Grub2#Recover

En primer lugar, debe iniciar su sistema desde un CD en vivo. Entonces

MÉTODO 3 – CHROOT

Este método de instalación utiliza el comando chroot para obtener acceso a los archivos del sistema roto. Una vez que se emite el comando chroot, el LiveCD trata el sistema roto como propio. Los comandos que se ejecutan en un entorno chroot afectarán a los sistemas de archivos de sistemas rotos y no a los de LiveCD.

  1. Arranque desde el LiveCD Desktop (Ubuntu 9.10 o posterior). Tenga en cuenta que el Live CD debe ser el mismo que el sistema que está reparando, ya sea de 32 bits o de 64 bits (de lo contrario, el chroot fallará).

  2. Abra un terminal (Aplicaciones> Accesorios> Terminal).

  3. Determine su partición normal del sistema – (el interruptor es una “L” minúscula)

     sudo fdisk -l 

    Si no estás seguro, corre

     df -Th 

    Busque el tamaño de disco correcto y el formato ext3 o ext4.

  4. Monte su partición de sistema normal:

    Sustituya la partición correcta: sda1, sdb5, etc.

     sudo mount /dev/sdXX /mnt 

    Ejemplo: sudo mount /dev/sda1 /mnt

  5. Solo si tiene una partición de arranque separada: sdYY es la designación de partición / boot (por ejemplo, sdb3)

     sudo mount /dev/sdYY /mnt/boot 
  6. Montar los sistemas de archivos virtuales críticos:

     sudo mount --bind /dev /mnt/dev sudo mount --bind /dev/pts /mnt/dev/pts sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys 
  7. Chroot en su dispositivo de sistema normal:

     sudo chroot /mnt 
  8. Si no hay /boot/grub/grub.cfg o no es correcto, cree uno usando

     update-grub 
  9. Vuelva a instalar GRUB 2:

    Sustituya el dispositivo correcto – sda, sdb, etc. No especifique un número de partición.

     grub-install /dev/sdX 
  10. Verifique la instalación (use el dispositivo correcto, por ejemplo, sda. No especifique una partición):

     sudo grub-install --recheck /dev/sdX 
  11. Salir de chroot: CTRL-D en el teclado

  12. Desmontar sistemas de archivos virtuales:

     sudo umount /mnt/dev/pts sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys 
  13. Si montó una partición / boot separada:

     sudo umount /mnt/boot 
  14. Desmonte el directorio / usr de LiveCD:

     sudo umount /mnt/usr 
  15. Desmontar el último dispositivo:

     sudo umount /mnt 
  16. Reiniciar.

     sudo reboot 

Arranque desde un pendrive USB vivo o un CD y
Instale Boot-Repair en Ubuntu siguiendo los pasos

Abre el terminal y ejecuta los siguientes comandos.

 sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install boot-repair 

Después de completar la instalación, puede iniciarla desde Sistema-> Administración-> Menú Reparar inicio si usa Gnome, o buscar “reparación de inicio” en el tablero si usa Unity. Luego sigue las siguientes capturas de pantalla:

Método 1

  • Haga clic en las opciones avanzadas

Pantalla inicial

  • Marque las opciones que se muestran a continuación

opción avanzada

  • Cambie la pestaña a Grub Location Tab y marque las opciones que se muestran en la figura

introduzca la descripción de la imagen aquí

Presiona Aplicar y Reinicia el sistema.

Método 2

  • Seleccione las opciones de reparación de arranque recomendadas como se muestra en la primera captura de pantalla

Documentacion

Simplemente instale easyBCD en Windows 7 y haga

Agregar nueva entrada> Linux / BSD> (seleccionar) Grub2> (empujar) Agregar entrada

Luego puede elegir Ubuntu en el cargador de arranque de Windows 7 para ir a Grub2 (cargador de arranque anterior).

Ahora hay una solución más simple:

  1. Reinicie e ingrese las opciones de BIOS de su computadora (F2, o algunas veces F11).
  2. Vaya al menú Inicio y seleccione Prioridad de dispositivo de inicio
  3. Compruebe si el Administrador de arranque de Windows está por encima de la unidad de arranque principal (generalmente SATA HDD … o IDE HDD … ). Si es así, mueva la prioridad del disco de arranque por encima de Windows Boot Manager.
  4. Guarde sus opciones de BIOS y salga (generalmente F10).

Esto se ha probado en un portátil Samsung Series 7 Chronos con arranque dual Windows 8 y Ubuntu 13.10, arranque seguro deshabilitado, UEFI y arranque heredado habilitado.

En los sistemas basados ​​en EFI (como la mayoría de los sistemas que se suministran con Windows 8 o posterior), Windows a veces actualiza su cargador de arranque o lo restablece para que sea el cargador de arranque predeterminado. Esto es particularmente común cuando se reinstala el sistema operativo o se realiza una actualización importante del sistema (por ejemplo, la actualización a la última versión de Windows). Tenga en cuenta que es poco probable que Windows borre realmente los archivos GRUB en una computadora basada en EFI. Todo lo necesario para arrancar Ubuntu todavía está en su lugar; sólo se está pasando por alto. En estos casos, una reinstalación completa de GRUB es una exageración y, de hecho, conlleva una (pequeña) posibilidad de que genere nuevos problemas.

Por lo tanto, en lugar de volver a instalar GRUB en estos casos, recomiendo restablecer GRUB (o el gestor de arranque o administrador de arranque que prefiera) para que sea el valor predeterminado. Hay varias maneras de hacer esto, incluyendo:

  • EasyUEFI : la forma más fácil de ajustar el orden de inicio, si el sistema se está iniciando directamente en Windows, es usar EasyUEFI, que es una herramienta de GUI de terceros gratuita (para la versión básica) para administrar el pedido de inicio EFI. Es bastante autoexplicativo: ubique la entrada de ubuntu en la lista de opciones de arranque y muévala a la parte superior de la lista. La próxima vez que reinicies, aparecerá GRUB. (Si usa algo que no sea GRUB, deberá ubicar su entrada).
  • bcdedit : la herramienta bcdedit Windows se puede usar para configurar GRUB en el orden de inicio predeterminado. El comando bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi , escrito en una ventana del símbolo del sistema del administrador , hará esto; sin embargo, si su computadora arranca con Arranque seguro activo, será necesario bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi . De hecho, el último comando generalmente funcionará incluso si el arranque seguro no está en uso, así que primero usaré ese comando. Tenga en cuenta que hay una herramienta de shell de Windows más avanzada que requiere una syntax ligeramente diferente a la que he presentado, pero no recuerdo los detalles.
  • Arranque único en Ubuntu : la mayoría de las EFI proporcionan un administrador de arranque incorporado, al que se accede presionando una tecla de función, Esc o Ingresar al inicio del proceso de inicio del sistema. Es probable que la entrada de Ubuntu para iniciar Ubuntu se muestre en este menú del administrador de inicio, lo que le permite iniciar desde Ubuntu. Alternativamente, puede arrancar desde un medio de emergencia de Ubuntu, como el instalador arrancó en el modo “intente antes de instalar”. De cualquier manera, puedes usar efibootmgr para ajustar el orden de inicio:
    1. Escriba sudo efibootmgr para ver las entradas de arranque.
    2. Tenga en cuenta la línea actual de BootOrder .
    3. Localice la entrada para ubuntu y anote su número de Boot#### .
    4. Escriba sudo efibootmgr -o xxxx[,yyyy,zzzz,....] para cambiar el orden de arranque, haciendo que xxxx el número para Ubuntu. Lo que viene después es muy probable que no sea muy importante, aunque he observado que es probable que Windows se agregue de nuevo al inicio del orden de arranque si no está en la lista. Por lo tanto, probablemente debería asegurarse de que Windows esté en la lista, y puede ser más seguro reordenar la lista para que todas las entradas originales estén ahí, solo con la entrada de ubuntu movida al principio de la lista.
  • Utilidad de configuración de firmware : algunas utilidades de configuración de EFI le permiten ajustar el orden de inicio. Los detalles varían mucho de una EFI a otra, por lo que no entraré en detalles, pero podría buscar una opción de este tipo en su utilidad de configuración.

Existen otras variantes en estos procedimientos, como usar bcfg en un shell EFI, usar bless en macOS, usar mi rEFInd para hacer un arranque de una sola vez, etc. Sin embargo, comenzaría con EasyUEFI; Es probable que sea la solución más simple. Sin embargo, a veces Windows insiste en que se convierta en el valor predeterminado cada vez que se inicia, y los informes indican que bcdedit puede hacer un mejor trabajo para solucionar ese problema.

Tenga en cuenta que nada de lo anterior se aplica a las instalaciones en modo BIOS; sin embargo, como la mayoría de las computadoras que se enviaron con Windows 8 o posterior arrancan en modo EFI, las instalaciones en modo BIOS son cada vez más raras, por lo que en muchos casos es mejor lidiar con el problema de manera EFI en lugar de reinstalar ciegamente GRUB.

La reparación de botas funcionó para mí. Es una aplicación gráfica muy fácil de usar, no necesita usar la línea de comandos, solo tiene que hacer clic en un botón 🙂

Todas las opciones de reparación disponibles se describen en la documentación de Ubuntu y hay una página separada que explica cómo iniciar la reparación de inicio (creando un disco de inicio o instalándolo en un disco existente de Ubuntu) y cómo usarlo.

Simplemente inicie un Live CD de Ubuntu, instale Boot-Repair y ejecútelo.

Cuando se rompe GRUB, el usuario generalmente no tiene acceso a los sistemas, por lo que la reparación debe realizarse desde una sesión en vivo (live-CD o live-USB).

Hay muchas causas posibles para una ruptura de GRUB: la escritura de Windows en el MBR, el DRM que impide que GRUB se instale correctamente, un error en el instalador, un cambio de hardware … Actualizar GRUB como lo propuso inicialmente Scott generalmente no es suficiente, reinstalar GRUB como propuso Marco más eficiente, pero todavía hay varias situaciones que requieren otros ajustes (agregar opciones al kernel, mostrar el menú de GRUB, cambiar las opciones de GRUB, elegir la architecture de host correcta …). Otras dificultades para reparar GRUB es el uso de chroot y la elección de las particiones / discos correctos.

Todo esto se ha facilitado en una pequeña herramienta gráfica: Boot-Repair . Se integrará en el CD de Ubuntu 12.04 para facilitar su uso, pero para las personas que lo necesitan ahora, ya hay algunas distribuciones integradoras: Ubuntu-Secured-Remix (CD de Ubuntu que integra Boot-Repair), Boot-Repair-Disk (CD ejecutando Boot -Reparación en la puesta en marcha), …

Espero que esto ayude.

Windows no ve particiones formateadas de Linux. Debe usar gparted desde un liveCD y crear una partición primaria con formato NTFS con el indicador de inicio.

Algunos han tenido problemas si la nueva partición primaria está después de la partición extendida, ya que Windows no siempre restablece la tabla de particiones correctamente. Lo mejor es tener buenas copias de seguridad y una copia de seguridad separada de la tabla de particiones.

Haga una copia de seguridad de la tabla de partición en un archivo de texto y guárdela en un dispositivo externo.

 sudo sfdisk -d /dev/sda > PTsda.txt 

Esto es solo para sistemas MBR (msdos). Si su instalación de Ubuntu está en la unidad de partición GPT, solo puede instalar Windows en modo UEFI o convertir la unidad de nuevo a MBR (msdos).

Sólo el comando fsck corrigió la pantalla de grub-rescue para mí.

Use Boot-Repair para arrancar desde Live-CD, luego abra Terminal

Consigue el dispositivo correcto:

 sudo fdisk -l 

Debe encontrar el dispositivo de inicio, el dispositivo de inicio tiene * en la categoría Inicio, como aquí:

 Device Boot Start End Sectors Size Id Type /dev/sda1 2048 2000895 1998848 976M 82 Linux swap / Solaris /dev/sda2 * 2000896 943716351 941715456 449G 83 Linux 

Ahora repara el disco usando:

 sudo fsck /dev/sda2 

Nota: / dev / sda2 es el dispositivo de arranque en este ejemplo.

Introduzca Y para solucionar los problemas

Después de ingresar S alrededor de 2 veces, puede detener el proceso fsck ingresando CTRL + C , porque la parte crítica ya está hecha.

Reiniciar. Hecho.

Las respuestas dadas por Scott y Web-E son suficientemente buenas y han ayudado muchas veces. Pero muchas veces, la herramienta de reparación de arranque no puede reparar grub debido a problemas relacionados con las plataformas i386 y amd64 o una donde grub no puede encontrar el directorio efi .
Lo que ha resuelto mi problema más de 10 veces es purgar manualmente las instalaciones de grub anteriores e instalar una nueva.

Entonces, primero realice los primeros 6 pasos de la respuesta de Scott, donde puede omitir el quinto paso si da un error:

  1. Arranque desde el CD en vivo o USB en vivo, en el modo “Probar Ubuntu”.
  2. Determine el número de partición de su partición principal. sudo fdisk -l , sudo blkid o GParted (que ya debería estar instalado, por defecto, en la sesión en vivo) puede ayudarlo aquí. Asumiré en esta respuesta que es /dev/sda2 , ¡pero asegúrese de usar el número de partición correcto para su sistema!

    Si su partición principal está en un LVM , el dispositivo se ubicará en /dev/mapper/ , lo más probable, /dev/mapper/{volume}--{os}-root donde {volume} es el nombre del volumen LVM y {os} es el sistema operativo. Ejecute ls /dev/mapper para el nombre exacto.

  3. Monte su partición:

     sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2 

    Si tiene particiones /boot , /var o /usr separadas , repita los pasos 2 y 3 para montar estas particiones en /mnt/boot , /mnt/var y /mnt/usr respectivamente. Por ejemplo,

     sudo mount /dev/sdXW /mnt/boot sudo mount /dev/sdXY /mnt/var sudo mount /dev/sdXZ /mnt/usr 

    reemplazando sdXW , sdXY y sdXZ con los respectivos números de partición.

  4. Enlazar montar algunas otras cosas necesarias:

     for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done 
  5. Si Ubuntu está instalado en modo EFI ([vea esta respuesta si no está seguro] [efi]), use sudo fdisk -l | grep -i efi sudo fdisk -l | grep -i efi o GParted para encontrar su partición EFI. Tendrá una etiqueta de EFI . Monte esta partición, reemplazando sdXY con el número de partición real para su sistema:

     sudo mount /dev/sdXY /mnt/boot/efi 
  6. chroot en su instalación de Ubuntu:

     sudo chroot /mnt 

Luego sigue estos pasos:

  1. Configure todos los paquetes pendientes.
    sudo dpkg --configure -a
  2. Arregla los paquetes rotos.
    sudo apt install -fy
  3. Eliminar el grub actual.
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    Esto puede darte una advertencia de que tu dispositivo no tendrá un cargador de arranque y no podrá arrancar la próxima vez. Adelante y acéptalo.
  4. sudo apt install -y grub-pc
    Después de ejecutar este comando, le pedirá que apunte el sdXY actual para instalar el cargador de arranque. Encuentre dónde está instalado su sistema operativo actual con el comando sudo fdisk -l . Será etiquetado como Linux . Navegue por esa ventana con la tecla Tab y seleccione una opción con la tecla Espacio .
  5. Si todo sale bien, grub se instalará correctamente. También puede hacer sudo grub-update para una doble verificación.

Si el problema persiste, puedes leer la wiki de Arch para comprender realmente acerca de grub para enfrentar muchas otras variedades de problemas. (Sí, también ayuda para Ubuntu!).