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

306

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 arrancar Ubuntu.

¿Cómo puedo recuperar Ubuntu?

    
pregunta Salahuddin 17.12.2011 - 08:02

11 respuestas

313

Cuando instala Windows, Windows asume que es el único sistema operativo (SO) en la máquina, o al menos no cuenta para Linux. Por lo tanto, reemplaza a GRUB con su propio cargador 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 los comandos de GRUB o algo así, pero para mí la manera más fácil es simplemente chroot en tu instalación y ejecutar update-grub . chroot es excelente porque te permite trabajar en tu instalación real, en lugar de intentar redirigir las cosas aquí y allá. Está realmente limpio.

Así es como:

  1. Arranque desde el Live CD o Live USB, 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, de forma predeterminada, en la sesión en vivo) pueden ayudarte aquí. Voy a suponer en esta respuesta que es /dev/sda2 , pero ¡asegúrate de usar el número de partición correcto para tu sistema!

    Si su partición principal está en un LVM , el dispositivo se ubicará en /dev/mapper/ , muy probablemente, /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. Monta tu partición:

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

    Si tienes un /boot , /var o /usr particiones separadas , repite los pasos 2 y 3 para montar estas particiones a /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 números de partición respectivos.

  4. Enlaza 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 ), use 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 tu 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 corriendo como root. Actualizar grub:

    update-grub
    

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

  8. Dependiendo de su situación, es posible que deba reinstalar grub:

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

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

    Si el UUID de la partición EFI actual (de blkid ) difiere del que está en /etc/fstab , actualice /etc/fstab con el UUID actual.

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

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

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

  • A veces, dar a GRUB2 la configuración correcta para sus particiones no es suficiente, y usted 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.
respondido por el Scott Severance 17.12.2011 - 13:23
92

El instalador de Windows no se preocupa por otros sistemas operativos en el sistema. Por lo tanto, escribe su propio código sobre el registro de inicio maestro. Afortunadamente, la solución también es fácil.

Necesita reparar el MBR. Haz lo siguiente

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

Después de iniciar con usb / cd en vivo, 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

Usar Recomended Repair .

Más información: enlace

    
respondido por el Web-E 01.09.2012 - 08:59
34

Nunca me metí en problemas al usar estas instrucciones:
enlace

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. Comandos ejecutados en un   el entorno chroot afectará a los sistemas de archivos de sistemas rotos y no   los del LiveCD.

     
  1. Arranque en el LiveCD Desktop (Ubuntu 9.10 o posterior). Tenga en cuenta que Live CD debe ser el mismo que el sistema que está arreglando, ya sea   32 bits o 64 bits (si no es así, el chroot fallará).

  2.   
  3. Abra un terminal (Aplicaciones & gt; Accesorios & gt; Terminal).

  4.   
  5. Determine su partición normal del sistema - (el interruptor es una "L" minúscula)

    sudo fdisk -l
    
         

    Si no está seguro, ejecute

    df -Th  
    
         

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

  6.   
  7. Monta tu partición normal del sistema:

         

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

    sudo mount /dev/sdXX /mnt  
    
         

    Ejemplo: sudo mount /dev/sda1 /mnt

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

    sudo mount /dev/sdYY /mnt/boot
    
  10.   
  11. 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
    
  12.   
  13. Chroot en su dispositivo de sistema normal:

    sudo chroot /mnt
    
  14.   
  15. Si no hay /boot/grub/grub.cfg o no es correcto, crea uno usando

    update-grub
    
  16.   
  17. Reinstalar GRUB 2:

         

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

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

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

  22.   
  23. Desmontar sistemas de archivos virtuales:

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

    sudo umount /mnt/boot
    
  26.   
  27. Desmontar el directorio / usr del LiveCD:

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

    sudo umount /mnt
    
  30.   
  31. Reiniciar

    sudo reboot
    
  32.   
    
respondido por el desgua 27.04.2012 - 04:15
19

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

Abra el terminal y ejecute 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 el menú System- & gt; Administration- & gt; Boot-Repair si usa Gnome, o busque "boot-repair" en el tablero si usa Unity. A continuación, siga las siguientes capturas de pantalla:

Método 1

  • Haz clic en las opciones avanzadas

  • Marque las opciones que se muestran a continuación

  • Cambie la pestaña a Grub Tab de ubicación y marque las opciones que se muestran en la figura

Presione Aplicar y reiniciar el sistema

Método 2

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

Documentación:

    
respondido por el Stormvirux 30.07.2013 - 21:25
11

Simplemente instala easyBCD en Windows 7 y haz

Agregar nueva entrada & gt; Linux / BSD & gt; (seleccionar) Grub2 & gt; (presionar) Agregar entrada

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

    
respondido por el hamed 11.03.2012 - 23:09
5

Ahora hay una solución más simple:

  1. Reinicia e ingresa las opciones de BIOS de tu computadora (F2, o algunas veces F11).
  2. Vaya al menú Arrancar y seleccione Prioridad de dispositivo de arranque
  3. Verifique si Windows Boot Manager está arriba de la unidad de arranque principal (usualmente SATA HDD ... o IDE HDD ... ). Si es así, mueva la prioridad del disco de arranque por encima de la del Administrador de arranque de Windows.
  4. Guarde las opciones de su BIOS y salga (generalmente F10).

Esto ha sido probado en una computadora portátil Samsung Series 7 Chronos de doble arranque con Windows 8 y Ubuntu 13.10, arranque seguro desactivado, UEFI y arranque heredado habilitado.

    
respondido por el scruss 15.12.2013 - 14:04
3

En sistemas basados ​​en EFI (como la mayoría de los sistemas que se incluyen con Windows 8 o posterior), Windows algunas veces actualizará su gestor de arranque o lo reiniciará para que sea el gestor de arranque predeterminado. Esto es particularmente común cuando reinstala el sistema operativo o realiza una actualización importante del sistema (por ejemplo, actualizando a la última versión de Windows). Tenga en cuenta que es poco probable que Windows borre realmente ningún archivo GRUB en una computadora basada en EFI. Todo lo necesario para iniciar Ubuntu todavía está en su lugar; solo está siendo pasado por alto. En estos casos, una reinstalación completa de GRUB es excesiva, y de hecho eso conlleva una (pequeña) posibilidad de que cree nuevos problemas.

Por lo tanto, en lugar de volver a instalar GRUB en estos casos, recomiendo restablecer GRUB (o el gestor de arranque o gestor de arranque que prefiera) para que sea el predeterminado. Hay varias formas de hacerlo, que incluyen:

  • EasyUEFI : la forma más fácil de ajustar el orden de arranque, si el sistema se inicia directamente en Windows, es usar EasyUEFI, que es una herramienta de GUI de terceros gratuita (para la versión básica) para administrar el orden de arranque de EFI. Es bastante autoexplicativo: busque la entrada ubuntu en la lista de opciones de inicio y muévala al principio de la lista. La próxima vez que reinicies, GRUB debería aparecer. (Si usa algo que no sea GRUB, deberá ubicar su entrada).
  • bcdedit : la herramienta Windows bcdedit 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 Administrador , hará esto; sin embargo, si su computadora se inicia con Secure Boot activa, se requerirá bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi en su lugar. De hecho, el último comando normalmente funcionará incluso si Secure Boot no está en uso, así que usaría ese comando primero. Tenga en cuenta que hay una herramienta de shell de Windows más avanzada que requiere una sintaxis ligeramente diferente de la que he presentado, pero no recuerdo los detalles.
  • Inicio único para Ubuntu : la mayoría de los EFI proporcionan un gestor de arranque integrado, al que se accede pulsando una tecla de función, Esc, o Intro al principio del proceso de inicio del sistema. Es probable que la entrada ubuntu para arrancar Ubuntu aparezca en este menú del administrador de arranque, lo que le permitirá iniciarse en Ubuntu. Alternativamente, puede arrancar en un medio de emergencia de Ubuntu, como el instalador arrancado en el modo "probar antes de instalar". De cualquier manera, puede 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 BootOrder actual.
    3. Busque la entrada para ubuntu y tenga en cuenta su Boot#### number.
    4. Escriba sudo efibootmgr -o xxxx[,yyyy,zzzz,....] para cambiar el orden de inicio, haciendo que xxxx sea el número de Ubuntu. Lo que viene después de eso probablemente no sea muy importante, aunque he notado que Windows parece que se volverá a agregar 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 allí, solo con la entrada ubuntu movida a la parte superior 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 un EFI a otro, así que no entraré en detalles, pero podría buscar esa opción en su utilidad de configuración.

Hay otras variantes en estos procedimientos, como usar bcfg en un shell EFI, usar bless en macOS, usar mi ARRIBA para hacer un arranque único, etc. Empezaría con EasyUEFI; es probable que sea la solución más simple. A veces, Windows insiste en hacerse el predeterminado cada vez que se inicia, y los informes indican que bcdedit puede hacer un mejor trabajo al lidiar con ese problema.

Tenga en cuenta que ninguno de los anteriores 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 tratar el problema de manera EFI que reinstalar ciegamente GRUB.

    
respondido por el Rod Smith 13.07.2017 - 17:03
2

Boot-Repair funcionó para mí. Es muy fácil de usar la aplicación gráfica, no necesita usar la línea de comando, 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 un separate page que explica cómo iniciar Boot-Repair (creando un disco de arranque o instalándolo en un disco existente de Ubuntu) y cómo usarlo.

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

    
respondido por el lorenzo-s 18.12.2011 - 02:41
1

Cuando GRUB está roto, 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 un corte de GRUB: Windows escribiendo en el MBR, DRM evitando que GRUB se instale correctamente, error de instalación, cambio de hardware ... Por lo general, no es suficiente actualizar GRUB como propuso inicialmente Scott, reinstalar GRUB como lo propone Marco es más eficiente, pero aún hay varias situaciones que requieren otros ajustes (agregar opciones al kernel, mostrar el menú de GRUB, cambiar las opciones de GRUB, elegir la arquitectura de host correcta ...). Otras dificultades para reparar GRUB son 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 . Eso se integrará en Ubuntu 12.04 CD para un uso más fácil, pero para las personas que lo necesitan ahora, ya hay algunas distribuciones que lo integran: Ubuntu-Secured-Remix (Ubuntu CD que integra Boot-Repair), Boot-Repair-Disk (CD que ejecuta Boot- Reparación en el arranque), ...

Espero que esto ayude.

    
respondido por el LovinBuntu 20.12.2011 - 09:58
0

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

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 partición correctamente. Lo mejor es tener buenas copias de seguridad y una copia de seguridad separada de la tabla de particiones.

Copia de seguridad de tabla de partición en archivo de texto & amp; guardar 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 una unidad de partición GPT, solo puede instalar Windows en modo UEFI o convertir la unidad de nuevo a MBR (msdos).

    
respondido por el oldfred 30.07.2013 - 22:01
0

Solo el comando fsck arregló la pantalla grub-rescue para mí.

Utilice Boot-Repair para arrancar desde Live-CD, luego abra el terminal

Obtenga el dispositivo correcto:

sudo fdisk -l

Necesito encontrar el dispositivo de arranque, el dispositivo de arranque tiene * en la categoría de arranque 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 inicio en este ejemplo.

Ingrese Y para solucionar los problemas

Después de ingresar Y unas 2 veces, puede detener el proceso fsck ingresando CTRL + C , porque la parte crítica ya hecho.

Reiniciar Hecho.

    
respondido por el Benny 25.07.2018 - 09:51

Lea otras preguntas en las etiquetas