Grub rescate rápido, reparación grub

30

Recientemente particioné mi HDD y he dañado GRUB en mi sistema. En el arranque recibo el mensaje de rescate de GRUB y tengo que seguir los siguientes pasos para arrancar normalmente:

set root=(hd0,msdos6)
set prefix=(hd0,msdos6)/boot/grub
insmod normal
normal

(¡Esos pasos se encontraron en otra publicación aquí!).

Estoy muy cansado de repetir esto en cada arranque, ¿cómo arreglo permanentemente GRUB?

Codito ergo sum
fuente
1
Dos posibilidades: (1) Reparación de arranque (2) Disco de rescate Super Grub Ver: http://linuxnorth.wordpress.com/2012/02/07/repairing-grub/
CentaurusA
1
Los pasos enumerados en la pregunta para arrancar me funcionaron. Sin embargo, uno debe recordar la partición de Linux correctamente.
TheCrazyProgrammer
1
Como otros han dicho, hacer update-grub y luego grub-install / dev / sda resuelve el problema.
TheCrazyProgrammer
Vea la respuesta de Karthik para "archivo no encontrado": askubuntu.com/questions/443241/…
samis

Respuestas:

12

Para arreglar grub rescue, siga los siguientes pasos:

  • Lo primero es que tenemos que iniciar nuestro sistema operativo solo después de que podamos arreglar grub.

    #to start OS-->
    error: unknown filesystem.
    Entering rescue mode...
    grub rescue>

    Cuando vea un error de este tipo, primero tenemos que verificar si el "Sistema de archivos" es ext2 '

    grub rescue> ls        # type 'ls' and hit enter to see drive partition.
    (hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos4) ...   # you will see such things 

Estas son nuestras unidades ahora tenemos que comprobar cuál es ext2.

grub rescue>ls (hd0,msdos6)
error: disk 'hd,msdos6' not found.

busque otras unidades hasta que obtenga "Sistema de archivos es ext2".

grub rescue>ls (hd0,msdos5)
error: disk 'hd,msdos5' not found.
grub rescue>ls (hd0,msdos2)
(hd0,msdos2): Filesystem is ext2        # this is what we want

ahora establece el camino

grub rescue>set boot=(hd0,msdos2)
grub rescue>set prefix=(hd0,msdos6)/boot/grub
grub rescue>insmod normal
grub rescue>normal
  • Ahora solo arregle grub siguiendo el comando en cualquier Ubuntu

    sudo grub-install /dev/sda
    sudo apt-get update
    # to update grub
    sudo apt-get upgrade

asegúrese de actualizar grub después de iniciar sesión en el sistema operativo

Roshan Sherkure
fuente
1
El OP ya sabe cómo iniciar en su sistema operativo. Esta respuesta podría ser más concisa.
Élder Geek, el
1
Esta respuesta me fue útil. Mi problema no era exactamente el mismo que la pregunta original, por lo que la información adicional se volvió útil.
retroj
1
+1 Esto se solucionó por problemas en una instalación fallida de KDE Neon.
Darren Lewis el
error: archivo '/boot/grub/i386-pc/normal.mod' no encontrado ¿Qué debo hacer?
BhushanDhamale
7

Intentaría ejecutar update-grubpara construir grub.conf/ grub.cfgnuevamente.

También puedes intentar usarlo grub-install, pero creo que este no te ayudará.

Si desea leer más, compruebe primero qué versión tiene (GRUB 1 o 2) ejecutando:

dpkg -l | grep grub

Si tiene GRUB 2, puede usar el siguiente tutorial: http://www.dedoimedo.com/computers/grub-2.html

Por supuesto, tenga cuidado al tratar con GRUB, ya que estamos hablando del proceso de arranque, que es un mecanismo sensible.

idgar
fuente
2
grub-install <correct-drive, i.e. /dev/sda>y update-grub2finalmente lo hizo por mí en Ubuntu 15.04
Greg Kramida
6

Me parece que update-grubensambla el grub.cfg, pero también necesita (re) ejecutar grub-install(o grub-setup?) Para actualizar los sectores MBR / boot con la información básica: en qué partición encontrar el grub.cfgarchivo y aparentemente estos módulos.

mmaruska
fuente
4

Cuando recibe un mensaje de rescate de GRUB, significa que el gestor de arranque GRUB no puede ubicar sus módulos desde la partición que los contiene /boot/grub. La razón de esto es que el código que cabe en el registro MBR de la unidad es pequeño, por lo que su propósito principal es localizar y cargar el resto del código del cargador de arranque. Una vez que ha cargado sus módulos, puede presentar el menú GRUB y manejar el resto del proceso de arranque. Si no puede encontrar los módulos, presenta un mensaje de rescate muy limitado.

Entonces, lo que está viendo es totalmente normal si vuelve a particionar, rompiendo así la referencia que el gestor de arranque tenía a la partición que contiene los módulos de arranque.

Como puede arrancar manualmente, la solución más simple es arrancar y reinstalar manualmente el gestor de arranque en el MBR para que tenga la referencia correcta a su partición. La forma de hacerlo es:

sudo grub-install /dev/sda

Esto supone que arranca /dev/sda(la mayoría de los casos, pero si no, reemplácelo con la unidad correcta).

Esta solución es mucho más simple que usar el boot-repair, pero si no está seguro, esto puede ser más adecuado.

bcbc
fuente
1
+1 para explicar lo que está sucediendo en términos fáciles de entender.
monotasker
2

La forma más simple sería:

sudo apt-get purge grub-pc grub-pc-bin

Luego:

sudo apt-get install grub-pc grub-pc-bin
hyao
fuente
2
Este es un enfoque de mazo que probablemente funcionará, pero es más simple simplemente reinstalar el gestor de arranque para actualizar la referencia a la partición (que se rompió por reparticionamiento).
bcbc
1

Resuelva el último caso de falla de rescate de grub: problemas: 1. i386-pc no encontrado **** modo normal no funciona cp no funciona search.file no funciona . Todo se puede resolver con los siguientes comandos, también funciona con Ubuntu 18.04. Paso 1: busque la carpeta raíz que contiene el directorio.

ls

Por ejemplo, si la carpeta raíz está en (hd0, gpt4), escriba

así es como se ve

ls (hd0, 4)/

Verá algunos archivos o carpetas:

mi archivo raíz está en (hd0, gpt4)

Ahora, si tienes suerte, haz lo siguiente:

set root=(hd0, 4)
set prefix=(hd0, 4)/boot/grub/
insmode normal
normal

Si tienes suerte, resolverá tu problema. A veces las personas tienen problemas como no pueden encontrar la carpeta 1386-pc. En ese caso, debe buscar dónde está su carpeta grub. Si tienes un problema como:

boot / grub / i386-pc / normal.mod no encontrado

En este caso, necesita encontrar la carpeta grub2. Si tiene grub2 y dentro de esa carpeta, podría tener su carpeta i386-pc. Entonces necesitas escribir

prefix=(hd0, 4)/grub2/

funcionará. Si no tiene grub2 y no pudo encontrar la carpeta i386-pc, haga lo siguiente:

grub rescue>set root=(hd0, 4)
grub rescue>set prefix=(hd0, 4)/usr/lib/grub
grub rescue>insmode normal
grub rescue>normal

después de ejecutar este comando, su modo de rescate de grub irá al menú de grub . Ahora puede ejecutar el comando de Linux.

comando de Linux

grub>set root =(hd0, 4)
grub>set prefix= (hd0, 4)/boot
grub>insmaod linux
grub>linux vmlinuz.....-generic
grub>intrd (hd0, 4)/boot/...-generic
grub>boot

Te llevará al modo de recuperación. Desde allí puede elegir entre las varias opciones de recuperación disponibles. Si no ayuda, entonces necesita descargar un sistema operativo ubuntu, por ejemplo ubuntu 18.04. Puede descargar desde el siguiente enlace: enlace de ubuntu

Haga una unidad de arranque y abra su computadora con ese disco en vivo. No dañará ninguno de sus documentos. Vea un video sobre cómo hacer eso. Ahora tiene que encontrar su carpeta i386-pc. Estará en

rootContainingDirectory-usr-lib-grub

Ahora copie i386-pc a la carpeta boot / grub /. puede tener un problema de permiso para superar ese tipo, el siguiente comando:

sudo nautilus

Ahora haga clic derecho en ese directorio y cambie el propietario a usuario de sesión en vivo de ubuntu

sigue el video: cambio de permiso

Ahora, después de pegarlo en la carpeta boot / grub, reinicie y retire la unidad usb. Esta vez use el primer conjunto de comandos, funcionará. Si el comando cp funciona, también puede hacerlo desde el menú de grub.

Sanat
fuente