Monte el sistema de files raíz desde initramfs

Es un escenario común. Por alguna razón, el initramfs (OpenSUSE, en caso de que importe) no ha podido encontrar el sistema de files raíz, por lo que te deja en un shell de rescate. Sé perfectamente qué dispositivo necesita ser montado. Mi pregunta:

¿Cuál es el procedimiento correcto para montar el sistema de files raíz y continuar la secuencia de inicio?

Es de suponer que ese es el objective de la console de rescate. Y, sin embargo, nadie parece haber documentado cómo realmente lo haces.

Obviamente puedo montar el sistema de files raíz en alguna parte. Pero, ¿cómo hago que sea la raíz del tree del sistema de files? ¿Y ahora continúo el process de arranque normal después de eso? (Pensé que salir del caparazón lo haría … pero no es así.) ¿Qué necesitas montar antes de continuar y cómo continúas?

Simplemente ejecute el command fsck sin opciones desde initramfs luego reinicie

por ejemplo: la partición raíz es sda3

 fsck /dev/sda3 

el procedimiento normal es

  1. mount / dev / sdX / mnt
  2. corregir problema en / mnt
  3. reiniciar

Tu podrías querer

  1. mount / dev / sdX / mnt
  2. arreglar / mnt
  3. desmontar / mnt
  4. mount / dev / sdX /
  5. terminar el arranque a mano

Esto no es recomendable, tendrás que hacerlo en cada arranque. En un entorno de producción, no puede estar seguro de que el inicio manual siga los mismos pasos que el automático.

Sin embargo, en una emergencia con datos críticos, el paso 5 generalmente se networkinguce a:

  • 5.1 configurar la networking
  • 5.2 copy el file importante a un lugar seguro

Si el parámetro root= es correcto y el problema es solo que el dispositivo necesario no está disponible (por ejemplo, porque initramfs no pudo ensamblar un md RAID), entonces es suficiente para que el dispositivo esté disponible manualmente, por ejemplo:

 mdadm --assemble ... 

Luego verifique que el dispositivo esté allí y si todo se ve bien, presione ctrl + d o escriba exit para salir del shell de initramfs. El initramfs entonces montará el sistema de files raíz y continuará arrancando como de costumbre. Después de que el sistema se haya iniciado, debe reparar el problema subyacente, por ejemplo ejecutando update-initramfs -u .

Todavía no he encontrado una manera de decirle a initramfs que arranque un dispositivo diferente de lo que dice /proc/cmdline . ¿Tal vez alguien más tiene una idea?

 exec switch_root / mnt / root / sbin / init

https://wiki.gentoo.org/wiki/Custom_Initramfs#Init