Después de cambiar una partición del disco del sistema, el sistema no arranca y entra en "Dracut Emergency Shell"; ¿Cómo hago para que arranque?

Después de cambiar una partición del disco del sistema, el sistema no arranca y entra en "Dracut Emergency Shell"; ¿Cómo hago para que arranque?

Fondo

Tenía un sistema nuevo en el que había pasado mucho tiempo configurando el software para realizar todo tipo de servicios y luego descubrí que la unidad era potencialmente defectuosa. Entonces decidí reemplazar el disco y conservar el contenido del nuevo disco.

El disco del sistema también tuvo un problema al iniciar correctamente kernelque parecía que no pude solucionar (seguí todas las grubinstrucciones pero simplemente no arrancaba correctamente kernelde forma predeterminada, solo si elegías manualmente la correcta). Entonces, pensé que la mejor manera era simplemente hacer una nueva instalación en Fedora Serverel nuevo disco y eso solucionaría el problema de arranque en el camino.

Qué pasó

El nuevo disco era mucho más grande, así que lo particioné de forma un poco diferente durante el proceso de instalación. Luego quité la unidad y puse el disco del sistema nuevo y el antiguo en otro servidor que tenía cerca. Por precaución, guardé el fstabdisco del nuevo sistema, sabiendo que tenía la partición UUIDs.

Hay muchas formas de mover cosas y decidí que quería una partición raíz limpia en el nuevo disco del sistema. Pensé ddque podría hacer esto, pero estoy acostumbrado a usarlo donde las particiones son del mismo tamaño y estaba un poco inseguro, así que simplemente reformateé la partición raíz ("/") con gparted. Luego moví los archivos usando herramientas normales del sistema operativo. Luego corté y pegué el UUIDmaterial de la nueva instalación y lo inserté en el servidor que no estaba en stock fstabque estaba reparando.

Eso salió bien.

Luego intenté iniciar el sistema. Publicó, luego llegó al grubcargador de arranque, seleccionó automáticamente el kernel correcto y ¡listo! ... ¡Hasta que no fue así!

Llegó a "mostrar la pantalla de inicio de Plymouth" o algo así, se detuvo y luego dio muchas advertencias de tiempo de espera de algo que se llamaba a sí mismo dracut. Desde aquí, tomé una captura de pantalla con mi teléfono. Dice:

Warning: Could not boot.
Starting Dracut Emergency Shell...
Warning: /dev/disk/by-uuid/<a uuid> does not exist
Generating "/run/initramfs/rdsosreport.txt"

seguido de una sugerencia para utilizarlo journalctly quizás guardarlo rdsosreport.txtpara informar de errores.

¡ACK! ¿Qué hacer? Busqué por todas partes esto Warning [...] does not existy dracut emergency shelllas cosas citadas anteriormente. ¡Nada!

Respuesta1

Actualizar fstab

Es necesario actualizar /etc/fstablos archivos con el UUID adecuado de la partición.

Actualizar crypttab

Si su partición anterior estaba cifrada, deberá eliminar la entrada de/etc/crypttab

Si su nueva partición está cifrada, deberá agregar la entrada correspondiente en el/etc/crypttab

Regenerar initramfs

Después de actualizar el archivo /etc/fstaband /etc/crypttab, debe actualizar la imagen initramfs usando dracut.

Puede actualizar la imagen de dracut desde el shell de emergencia de dracut ejecutando

# dracut --hostonly --regenerate-all --force
Referencias

Respuesta2

El mensaje:

Warning: /dev/disk/by-uuid/<uuid> does not exist

es una pista importante.

Resulta que la partición raíz UUIDestá almacenada en dos lugares en la grub2parte de la partición del servidor Fedora moderno /boot. Pero en este escenario, en realidad hay tres UUIDproblemas.

El reformateo de la partición raíz ("/") en realidad cambió el archivo UUID.UUIDPor lo tanto, primero hay que descubrir lo nuevo y luego colocarlo en los lugares correctos. Hay muchas maneras de encontrarlo, UUIDspero una herramienta de línea de comandos para hacerlo es blkid, como en este ejemplo:

# blkid
/dev/sda1: UUID="64bbac09-1a12-4bea-8873-212ffb56f2a8" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="8a09913a-fdb2-42a0-98e3-6b89e16374d2"

Tenga en cuenta que para cada partición, UUIDsesta herramienta muestra dos; quieres el primero de estos. Tenga en cuenta también que los usuarios sin privilegios no pueden ejecutar blkid.

UUIDEstos son los tres lugares donde debe estar la partición raíz :

  1. En /etc/fstabla línea donde se describe el montaje de la partición raíz y;
  2. En /boot/grub2.cfgla línea configurando las opciones del kernel. La forma más rápida de encontrarlo es buscar el primero UUIDsi aún lo tienes. O busque "set kernelopts="root=UUID="y;
  3. En /boot/grub2/grubenvuna línea que se parece a la línea citada en el /boot/grub2.cfgarchivo. Buscar:kernelopts=root=UUID=

Recuerde cambiar solo el UUID que sea nuevo y dejar todo lo demás como estaba. Tal vez haga una copia de seguridad del archivo antes de editarlo, ¡por si acaso!

información relacionada