detección de fallas de linux

Proceso de arranque del sistema operativo Linux

Descripción general del proceso de arranque
Inserte la descripción de la imagen aquí

1. Autoprueba de encendido

Después de encender el servidor, la CPU, la memoria, la tarjeta gráfica, el teclado y otros dispositivos se probarán inicialmente de acuerdo con la configuración en el BIOS de la placa base. Después de que la prueba sea exitosa, el control del sistema se transferirá de acuerdo con la secuencia de inicio preestablecida y la mayor parte del tiempo se transferirá al disco duro local. En una palabra, detecta el primer dispositivo capaz de arrancar el sistema, como un disco duro o una unidad óptica.

2. Arranque MBR

Ejecute el programa de arranque GRUB de arranque ubicado en el sector MBA.

3. Menú GRUB

Centos7 usa el cargador de arranque
GRUB 2. El programa de arranque GRUB lee el archivo de configuración GRUB /boot/grub2/grub.cfg para obtener la configuración del sistema de archivos del kernel y espejo y las ubicaciones de las rutas.

4. Cargue el kernel de Linux

Cargue el kernel y los archivos de imagen en la memoria.
En el sistema Centos7, el archivo de kernel predeterminado se encuentra en "/boot/vmlinuz-3.10.0-514.e17.x86_64".

5. Se inicializa el proceso de inicio.

Cargue el controlador de hardware, el kernel carga el proceso de inicio en la memoria para ejecutarlo.

Proceso de inicialización del sistema

proceso de inicio

El kernel de Linux carga y ejecuta el programa / sbin / init. El
proceso init es el primer proceso en el sistema y es el proceso principal de todos los procesos.
El número PID (etiqueta de proceso) del proceso init es siempre 1

Systemd

Systemd es una especie de software de inicio del sistema operativo Linux.
Centos7 utiliza un nuevo método de inicio de Systemd, que reemplaza al tradicional SysVinit
. El primer proceso de inicio que se ejecuta en Centos7 es / lib / systemd / systemd

SysVinit tradicional iniciaba servicios ejecutando scripts de Shell en serie, lo que resultaba en ineficiencia. La velocidad de inicio más lenta
systemd puede iniciar más procesos de servicio en paralelo y tiene la capacidad de iniciar servicios bajo demanda. Sí, iniciar menos procesos, por lo tanto, mejorar la velocidad de inicio del sistema.

Tipo de unidad Systemd

Tipo de unidad nombre de la extensión Descripción
Servicio .Servicio Describe un servicio del sistema
Enchufe .enchufe Describir un conector para la comunicación entre procesos.
Objetivo .objetivo Describe un conjunto de unidades systemd

Socket: (IP: número de puerto)

Objetivo de Systemd correspondiente al nivel de ejecución

Nivel de ejecución Destino Systemd 的 Descripción
0 objetivo Estado de apagado, el uso de este nivel apagará el host
1 objetivo de rescate Modo de usuario único, puede iniciar sesión en el sistema sin verificación de contraseña, utilizado principalmente para el mantenimiento del sistema
2 multi-user.target Nivel de ejecución definido por el usuario / específico del dominio. El valor predeterminado es equivalente a 3
3 multi-user.target Modo multiusuario completo con interfaz de caracteres, la mayoría de los servidores se ejecutan en este nivel
4 multi-user.target Nivel de ejecución definido por el usuario / específico del dominio. El valor predeterminado es equivalente a 3
5 objetivo gráfico El modo multiusuario de la interfaz gráfica proporciona un entorno operativo de escritorio gráfico
6 reboot.target Reiniciar, el host se reiniciará cuando se use este nivel

Reparar falla del sector MBR

causa del problema

· Destrucción causada por virus, troyanos, etc.
· Operación incorrecta de la partición, errores de lectura y escritura del disco

Fenómeno de falla

· No se puede encontrar el programa de inicio y el inicio se interrumpe
.

Soluciones

· Los archivos de respaldo deben hacerse con anticipación
· Utilice el CD de instalación para iniciar el modo de emergencia
· Recuperarse de los archivos de respaldo

MBR se encuentra en el primer sector físico del primer disco duro (/ dev / sda), un total de 512 bytes

1. Realice una copia de seguridad de los datos del sector MBR en otros discos (/ dev / sdb1)

mkdir /backup
mount /dev/sdb1 /backup
dd of=/dev/sda of=/backup/mbr.bak bs=512 count=1

Inserte la descripción de la imagen aquí

2. Simular la destrucción del sector de arranque MBR

dd if=/dev/zero of=/dev/sda bs=512 count=1

Inserte la descripción de la imagen aquí

3. En este momento, si reiniciamos, el sistema no detectará el arranque del MBR, te permitirá reinstalar el sistema o entrar al modo de emergencia, aquí ingresamos al modo de emergencia para reparar, restaurar los datos del sector MBR del archivo de respaldo ,
primero cargue el CD Mirror, reinicie el sistema operativo,

Cuando aparezca la interfaz del asistente de instalación, seleccione la opción "Solución de problemas",
Inserte la descripción de la imagen aquí

Luego seleccione la opción "Rescatar un sistema Linux CentOS" para ingresar al modo de emergencia
Inserte la descripción de la imagen aquí

Seleccione "1", seleccione Continuar y presione Entrar para continuar
Inserte la descripción de la imagen aquí

Después de presionar Enter nuevamente, ingresará al entorno Bash Shell con el mensaje "sh-4.2 #"

sh-4.2# mkdir /backupdir
sh-4.2# mount /dev/sdb1 /backupdir   #挂载带有备份文件的分区
sh-4.2#dd if=/backupdir/mbr.bak of=/dev/sda    #恢复备份数据
sh-4.2#exit     #执行exit命令退出临时shell环境,系统将会自动重启

Inserte la descripción de la imagen aquí

Solucionar la falla de arranque de GRUB

causa del problema

  • El programa de arranque GRUB en MBR está dañado
  • Falta el archivo /boot/grub2/grub.cfg, el error de configuración de inicio
    Síntoma
  • El arranque del sistema se detiene, mostrando el mensaje "grub>"

Soluciones

  • Podemos intentar ingresar manualmente el comando de inicio, pero generalmente el comando de inicio es muy largo y debe ingresarlo usted mismo, lo cual es propenso a errores.
  • Ingrese al modo de emergencia, reescriba o restaure grub.conf desde la copia de seguridad
  • Reconstruir el programa grub en el sector MBR

Solucionar la falla de arranque de GRUB

El paquete en el directorio / boot / grub / se usa para la imagen de fondo y el estilo del menú de
arranque / boot / grub2 / grub.cfg # Archivo de configuración GRUB

Método 1: ingrese manualmente el comando de arranque (torpe y engorroso, no recomendado)
grub> insmod xfs
#cargue el módulo especificado en el kernel grub> linux16 /vmlinuz-3.10.0-693.el7.x86_64 root = UUID = 8fd74986-ae66 -4ffd -b7d8-a19f2eca7b6f ro rhgb quietLANG = zh_CN.UTF-8


# Información como el nombre y la ubicación del kernel grub> initrd16 /initramfs-3.10.0-693.el7.x86_64.img #Mirror system file
grub> boot #boot boot
porque este método requiere la entrada manual de comandos demasiado largos y no puede se complementará automáticamente con Full, por lo que no recomiendo este método aquí.

Método 2: Ingrese al modo de emergencia y restaure el programa de arranque GRUB.
MBR está ubicado en el primer sector físico del primer disco duro (/ dev / sda), un total de 512 bytes, los primeros 466 bytes son el registro de arranque maestro, y la tabla de particiones se almacena en Bytes 477-510 en el sector MBR

mkdir / bak
mount / dev / sdb1 / bak
dd if=/dev/sda of=/ bak/ grub.bak bs=466 count=1

# Simula la destrucción del programa de arranque GRUB en MRB, pero no destruye la tabla de particiones

dd if=/dev/zero of=/dev/ sda bs=466 count=1

# La interfaz de inicio ingresa al modo de emergencia y restaura el programa de inicio GRUB desde el archivo de respaldo

sh-4.2 # mkdir / backupdir
sh-4.2 # mount / dev / sdb1 / backupdir
sh-4.2 # dd if = / backupdir / grub.bak of = / dev / sda
sh-4.2 # salir

Método 3: la interfaz de arranque entra en modo de emergencia y reconstruye el archivo de configuración del menú de GRUB
rm -rf /boot/grub2/grub.cfg

# Ingrese al modo de emergencia, cargue la imagen del CD, cambie al entorno raíz del sistema

sh-4.2#chroot /mnt/sysimage

Inserte la descripción de la imagen aquí

#Reinstale el programa de arranque GRUB en el sector MRB del primer disco duro (/ dev / sda)

bash-4.2# grub2-install  /dev/sda

Inserte la descripción de la imagen aquí

# Reconstruir el archivo de configuración de la lista GRUB

bash-4.2# grub2-mkconfig -o /boot/grub2/grub.cfg

Inserte la descripción de la imagen aquí

#Salga del entorno chroot y reinicie

bash-4.2#  exit
sh-4.2#  reboot

Inserte la descripción de la imagen aquí

Olvidé la contraseña del usuario root

En el entorno de trabajo diario, a veces olvidamos la contraseña de root. En este momento, podemos ingresar al modo de emergencia, cargar la imagen y luego restablecer la contraseña.

#进入急救模式,加载系统镜像,切换到系统根环境
sh-4.2#chroot / mnt/ sysimage
#重设root用户密码
bash-4.2#passwd root

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_51614581/article/details/110175509
Recomendado
Clasificación