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?
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?
Respuestas:
Cuando instala Windows, Windows asume que es el único sistema operativo (SO) en la máquina, o al menos no tiene en cuenta Linux. Por lo tanto, reemplaza a GRUB con su propio gestor de arranque. Lo que debe hacer es reemplazar el cargador de arranque de Windows con GRUB. He visto varias instrucciones para reemplazar GRUB mediante la manipulación de comandos GRUB o algo así, pero para mí la forma más fácil es simplemente chroot
en su instalación y ejecución update-grub
. chroot
es genial porque le permite trabajar en su instalación real, en lugar de intentar redirigir las cosas aquí y allá. Esta realmente limpio.
Así es cómo:
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) puede ayudarlo aquí. Asumiré en esta respuesta que es así /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 el lugar /dev/mapper/
más probable, /dev/mapper/{volume}--{os}-root
donde {volume}
está el nombre del volumen LVM y {os}
el sistema operativo. Ejecutar ls /dev/mapper
para el nombre exacto.
Monta tu partición:
sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2
Si usted tiene un separadas /boot
, /var
o /usr
particiones , repita 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 respectivos números de partición.
Bind montar algunas otras cosas necesarias:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
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
chroot
en su instalación de Ubuntu:
sudo chroot /mnt
En este punto, está en su instalación, no en la sesión en vivo, y ejecutándose como root. Actualización de grub:
update-grub
Si obtiene errores o si el paso 7 no solucionó el problema, vaya al paso 8. (De lo contrario, es opcional).
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.
Si Ubuntu está instalado en modo EFI y el UUID de la partición EFI ha cambiado, es posible que deba actualizarlo /etc/fstab
. Comparelo:
blkid | grep -i efi
grep -i efi /etc/fstab
Si el UUID de partición EFI actual (desde blkid
) difiere del que está dentro /etc/fstab
, actualice /etc/fstab
con el UUID actual.
Si todo funcionó sin errores, entonces ya está todo listo:
exit
sudo reboot
En este punto, debería poder arrancar normalmente.
Si no puede arrancar normalmente y no realizó el paso 8 porque no había mensajes de error, intente nuevamente con el paso 8.
grub-efi-amd64
y si está utilizando un arranque seguro que desee usar grub-install --uefi-secure-boot
. Esto también se detalla en superuser.com/a/376471/197980
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 arranque maestro. Afortunadamente, la solución también es fácil.
Necesita reparar el MBR. Haz lo siguiente
Arrancar usando un live usb / cd de ubuntu. Úselo 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
Utilizar Recomended Repair
.
Más información: https://help.ubuntu.com/community/Boot-Repair
Arranque desde un pendrive USB de Ubuntu en vivo o CD e
instale Boot-Repair en ubuntu siguiendo los pasos
Abra la 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ú Sistema-> Administración-> Reparación de arranque si usa Gnome, o buscar "reparación de arranque" en el tablero si usa Unity. Luego siga las siguientes capturas de pantalla:
Método 1
Presione Aplicar y reiniciar el sistema
Método 2
Simplemente instale easyBCD
en Windows 7 y haga
Agregar nueva entrada> Linux / BSD> (seleccionar) Grub2> (push) Agregar entrada
Luego puede elegir Ubuntu en el cargador de arranque de Windows 7 para ir a Grub2 (cargador de arranque anterior).
En los sistemas basados en EFI (como la mayoría de los sistemas que se enviaron con Windows 8 o posterior), Windows a veces actualizará su cargador de arranque o lo restablecerá 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 los archivos GRUB en una computadora basada en EFI. Todo lo necesario para arrancar Ubuntu todavía está en su lugar; solo se pasa por alto. En estos casos, una reinstalación completa de GRUB es excesivo y, de hecho, conlleva una (pequeña) posibilidad de que cree nuevos problemas.
Por lo tanto, en lugar de reinstalar GRUB en estos casos, recomiendo restablecer GRUB (o cualquier gestor de arranque o gestor de arranque que prefiera) para que sea el predeterminado. Hay varias formas de hacer esto, que incluyen:
ubuntu
entrada en la lista de opciones de arranque y muévala al principio de la lista. La próxima vez que reinicie, GRUB debería aparecer. (Si usa algo diferente a GRUB, deberá ubicar su entrada).bcdedit
- La bcdedit
herramienta de Windows se puede usar para configurar GRUB en el orden de arranque 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 se inicia con Secure Boot activo, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
será necesario en su lugar. De hecho, el último comando generalmente funcionará incluso si el Arranque seguro no está en uso, por lo 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.ubuntu
entrada para arrancar Ubuntu aparezca en este menú del administrador de arranque, permitiéndole arrancar en Ubuntu. Alternativamente, puede iniciar desde un medio de emergencia de Ubuntu, como el instalador iniciado en modo "probar antes de instalar". De cualquier manera, puede usar efibootmgr
para ajustar el orden de arranque:
sudo efibootmgr
para ver las entradas de arranque.BootOrder
línea actual .ubuntu
y anote su Boot####
número.sudo efibootmgr -o xxxx[,yyyy,zzzz,....]
para cambiar el orden de arranque, haciendo xxxx
el número de Ubuntu. Lo que viene después probablemente no sea muy importante, aunque he notado que es probable que Windows se agregue nuevamente 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 volver a ordenar la lista para que todas las entradas originales estén allí, solo con la ubuntu
entrada movida a la parte superior de la lista.Hay 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 convertirse en el valor predeterminado cada vez que se inicia, y los informes indican que bcdedit
puede hacer un mejor trabajo al tratar 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 entregaron 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 la manera EFI en lugar de reinstalar ciegamente GRUB.
efibootmgr
para reordenar el orden de arranque (como lo describe Rod -> ¡gracias!) que fue maltratado por un win10 actualizar. Luego, el GRUB-bootmanager aparece como solía antes de la actualización, por lo que puedo confirmar que la solución provista funcionó para mí. No pude encontrar la versión básica de EasyUEFI, sino solo una versión de prueba de la versión pro no gratuita ofrecida.
Ahora hay una solución más simple:
Esto se ha probado en una computadora portátil Samsung Series 7 Chronos con arranque dual Windows 8 y Ubuntu 13.10, arranque seguro deshabilitado, UEFI y arranque heredado habilitados.
Reparación de arranque funcionó para mí. Es una aplicación gráfica muy fácil de usar, 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 una página separada que explica cómo iniciar Boot-Repair (creando un disco de arranque o instalándolo en un disco vivo de Ubuntu existente) y cómo usarlo.
Simplemente inicie un CD en vivo de Ubuntu, instale Boot-Repair y ejecútelo.
chroot
reparación que Google alrededor para instalar alguna otra herramienta.
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 una interrupción de GRUB: Windows escribiendo en el MBR, DRM evitando que GRUB se instale correctamente, error del instalador, cambio de hardware ... Actualizar GRUB como lo propuso inicialmente Scott generalmente no es suficiente, reinstalar GRUB como lo propuso Marco es 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 arquitectura 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 hecho fácil en una pequeña herramienta gráfica: Reparación de arranque . 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 integrando Boot-Repair), Boot-Repair-Disk (CD ejecutando Boot -Reparación al inicio), ...
Espero que esto ayude.
Las respuestas de Scott y Web-E son lo suficientemente buenas y han ayudado mucho muchas veces. Pero muchas veces, la herramienta de reparación de arranque no puede reparar grub debido a problemas relacionados con la plataforma i386 y amd64 o una donde grub no puede encontrar el efi
directorio.
Lo que ha resuelto mi problema más de 10 veces es purgar manualmente las antiguas instalaciones de grub 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:
- Arranque desde el CD en vivo o USB en vivo, en modo "Probar Ubuntu".
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) puede ayudarlo aquí. Asumiré en esta respuesta que es así/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 el lugar
/dev/mapper/
más probable,/dev/mapper/{volume}--{os}-root
donde{volume}
está el nombre del volumen LVM y{os}
el sistema operativo. Ejecutarls /dev/mapper
para el nombre exacto.Monta tu partición:
sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2
Si usted tiene un separadas
/boot
,/var
o/usr
particiones , repita 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
ysdXZ
con los respectivos números de partición.Bind montar algunas otras cosas necesarias:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
Si Ubuntu está instalado en modo EFI ([vea esta respuesta si no está seguro] [efi]), use
sudo fdisk -l | grep -i efi
o GParted para encontrar su partición EFI. Tendrá una etiqueta deEFI
. Monte esta partición, reemplazandosdXY
con el número de partición real para su sistema:sudo mount /dev/sdXY /mnt/boot/efi
chroot
en su instalación de Ubuntu:sudo chroot /mnt
Luego sigue estos pasos:
sudo dpkg --configure -a
sudo apt install -fy
sudo apt purge -y grub*-common grub-common:i386 shim-signed
sudo apt install -y grub-pc
sdXY
para instalar el gestor de arranque. Encuentre dónde está instalado su sistema operativo actual usando el sudo fdisk -l
comando. Será etiquetado como Linux
. Navegue esa ventana usando la Tabtecla y seleccione una opción usando la Spacetecla.sudo grub-update
para una doble verificación.Si el problema persiste, puede leer el wiki de Arch para comprender realmente acerca de grub para abordar muchas otras variedades de problemas. (Sí, ¡también ayuda para Ubuntu!).
Windows no ve particiones formateadas de Linux. Debe 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 particiones correctamente. Es mejor tener buenas copias de seguridad y una copia de seguridad separada de la tabla de particiones.
Copia de seguridad de la tabla de particiones a un archivo de texto y 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 nuevamente a MBR (msdos).
El único fsck
comando arregló la grub-rescue
pantalla para mí.
Use Boot-Repair para arrancar desde Live-CD, luego abra Terminal
Obtén el dispositivo correcto:
sudo fdisk -l
Necesita 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 repare el disco usando:
sudo fsck /dev/sda2 -y
Nota: / dev / sda2 es el dispositivo de arranque en este ejemplo.
Reiniciar cuando se complete. Hecho.
La respuesta de Scott Severance es válida y detallada, pero hay una resolución que no requiere un dispositivo de arranque externo y, por lo tanto, no es necesario identificar y montar manualmente todas las particiones de Ubuntu que conducen a la chroot
.
En Windows 10, puede usar Advanced Recovery
para seleccionar un dispositivo (¿partición?) Para iniciar.
Ve Settings
y elige Update & Security
:
Ir a Recovery
:
De Advanced Startup
elegirRestart Now
Luego elija Use a Device
y se le presentarán todas las opciones de arranque. Elija la partición 'ubuntu' y su PC debería arrancar desde esa partición.
Una vez arrancado en mi entorno habitual de Ubuntu, he intentado simplemente ejecutarlo grub-update
pero eso no ha cambiado.
Entonces encontré mi /boot/efi
partición que estaba /dev/nvme0n1p1
y corrí sudo grub-install /dev/nvme0n1p1
y luego sudo update-grub
.
Esto ha restaurado mi registro de arranque maestro varias veces ahora, ya que parece haber una nueva política de Windows 10 de sobrescribir el MBR en actualizaciones menores .
Tuve un problema diferente, causado (probablemente) al boot-repair
borrar mis /etc/grub.d/
plantillas, descritas en mi pregunta aquí: Ubuntu 18.04 no arranca después de la instalación de Windows 10
Como señaló el comentario de @karels, la configuración de grub se genera utilizando los archivos en /etc/grub.d
. Mi directorio solo contenía /etc/grub.d/25_custom
, que contenía extrañas entradas de menú que apuntaban a imágenes .efi inexistentes. Parecía que mis /etc/grub.d
plantillas estaban tal vez mangueras boot-repair
.
Arreglé esto por:
sudo mount /dev/sdxx /mnt
sudo cp /etc/grub.d/* /mnt/etc/grub.d/
sudo update-grub