#4sysadmins

Inicio » GNU/Linux » Error: no such partition recuperar GRUB

Error: no such partition recuperar GRUB

Últimas Entradas

Follow #4sysadmins on WordPress.com

Quizás haya algún momento en el que al arrancar el ordenador nos muestra el siguiente error:

error: no such partition.

Esto suele ocurrir a menudo cuando instalamos un sistema diferente a Linux sobre un dispositivo donde ya había una instalación previa de GNU/Linux, o incluso cuando sin querer, nos hemos cepillado la partición que contenía el gestor de arranque.

Para ambos casos vamos a ver cual es la solución. Pero si tu caso es el segundo, es decir estabas utilizando parted o fdisk y has eliminado la partición /dev/sda1 (normalmente), que contiene /boot, la opción es mas sencilla, siempre y cuando no hayamos formateado el disco o partición. En este caso bastará con volver a crear la partición desde parted o fdisk y restaurar GRUB tal que así:

AVISO: Para restaura GRUB de esta forma (igual de válida que la explicada al final del post) necesitaremos un LiveCD o por ejemplo un USB con SystemRescueCD y arrancar desde este, configurando el arranque previamente en la BIOS.

Crear la partición con fdisk:

# fdisk /dev/sda

n : para crear una nueva partición
primary: especificaremos que es una partición primaria
[Enter], [Enter]: tras estos dos “Enter” estaremos dándole un tamaño desde el inicio hasta el comienzo de la segunda partición /dev/sda2

Crear la partición con parted:

# parted /dev/sda

mkpart <un_nombre>: crear la partición con “un nombre”
xfs: le indicamos el sistema de archivo. Es importante acordarse de que sistema de archivo tenía previamente la partición
1, 71000: indicamos que irá desde 1MB a 71GB, para nuestro ejemplo. En vuestro caso deberéis de indicar hasta donde comience la segunda partición
p: listamos la tabla de particiones
q: salimos de parted

Restauramos GRUB:

# mount /dev/sda1 /mnt    ## Montamos la partición que contiene el gestor de arranque en /mnt. Si tuviésemos una partición independiente para GRUB como /boot, montaremos esta y no /dev/sda1
# for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done    ## Montamos el resto de directorios virtuales necesarios
# chroot /mnt    ## Hacemos chroot para simular que estamos sobre el propio sistema
# grub-install /dev/sda    ## Instalamos GRUB en el primer disco
# update-grub    ## Generamos el archivo de configuración grub.cfg
# reboot

 

Restaura GRUB desde el inicio

Si nuestro caso es que simplemente se ha eliminado nuestro gestor de arranque, haremos lo siguiente.

Nota: Antes de interactuar con la consola de GRUB os dejo un listado de algunas teclas/caracteres que nos harán falta

/ => Tecla a la izq de Mayús. Contiene la _ y –
( => Mayús + 9
) => Mayús + 0
= => Tecla a la izq de Retroceso. Contiene ¿ y ¡
; => Para los teclados que contengan la letra “ñ” será está la que debamos de pulsar

  1. Iniciamos el PC y nos encontramos ante la siguiente pantalla:
    nogrub
  2. A continuación teclearemos el comando ls para listar todas las particiones encontradas en los discos.
  3. Iremos listando su contenido uno a uno hasta que encontremos la partición Linux que contiene a /boot. Deberemos de hacer esto tal que así: ls (hd0,1)/
  4. set root=(hdX,gptY)    ## Esto puede cambiar a (hdX,Y). La idea es setear como raíz nuestra partición Linux
  5. set prefix=(hdX,gptY)/boot/grub    ## Seteamos como directorio base aquel que contiene a GRUB
  6. insmod normal
  7. normal    ## Esto reiniciará el sistema
  8. Una vez reiniciado, deberemos de crear el archivo grub.cfg tal que así: # update-grub
  9.  Por último instalaremos GRUB: # grub-install /dev/sda

AVISO: Existe otra forma (en caso de que la anterior no funcione) que varia a partir del paso 6. Deberemos entonces de modificar los pasos 6, 7, 8 y 9 por los siguientes:

6.B insmod (hd1,1)/boot/grub/linux.mod    ## Cargamos el módulo de forma manual
7.B linux /boot/vmlinuz-x.y.z-generic root=/dev/sda1    ## Cargamos la imagen del kernel de forma manual
Nota: Si desconocemos la versión del kernel, podremos averiguarla con ls(hdX,gptY)/boot o ls(hdX,gptY)/boot/grub. Recordar que la X es el número de disco (normalmente 0, indica el primer disco) y gptY indica la partición, aunque también es posible encontrar msdosY o Y a secas (normalmente 1, para la primera partición)
8.B initrd /initrd.img    ## Por último, antes de reiniciar, cargamos el kernel
9.B Ahora ya podemos reiniciar con boot
Nota: Es recomendable una vez reiniciado continuar con los pasos 8 y 9 del método anterior, es decir, reinstalar GRUB.

 

Anuncios

Deja un comentario, Gracias!

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: