Proceso de arranque y control de servicios de 'Linux'

1. Descripción general del proceso de arranque

El proceso de arranque del sistema operativo Linux

inserte la descripción de la imagen aquí
El proceso de arranque del sistema operativo Linux ( 面试题):

  • (1) Autoprueba de encendido:
    verifique el dispositivo de hardware y detecte el primer dispositivo que pueda iniciar el sistema, como un disco duro o una unidad óptica

  • (2) MBR Arranque:
    Ejecute el gestor de arranque GRUB ubicado en el sector MBR

  • (3) GRUBMenú de arranque:
    el gestor de arranque de GRUB lee el archivo de configuración de GRUB /boot/grb2/grub.cg para obtener la configuración y las ubicaciones de las rutas de los sistemas de archivo de imágenes y kernel, y muestra el menú de grub en la pantalla.

  • (4) Cargue Linuxel kernel :
    cargue el kernel y el sistema de archivos de imagen en la memoria

  • (5) inicialización del proceso de inicio:
    agregue el controlador de hardware y el kernel carga el proceso de inicio en la memoria para ejecutarlo

2. Proceso de inicialización del sistema

2.1, 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 el proceso padre de todos los procesos.
  • El número de PID (etiqueta de proceso) del proceso de inicio siempre es 1
输入 pstree
以树状式显示系统进程

inserte la descripción de la imagen aquí

2.2.Systemd

Systemd es un software de inicio del sistema operativo Linux. CentOS7 utiliza un nuevo método de inicio de Systemd para reemplazar el
SysVinit tradicional
. El primer proceso de inicio que se ejecuta en CentOS7 es /lib/systemd/systemd

inserte la descripción de la imagen aquí

systemd es el proceso padre de todos los procesos
使用
pstree -p
查看进程号,systemd的进程号是为1

inserte la descripción de la imagen aquí

La gestión tradicional de procesos de imit es ejecutar el script Shell1 para iniciar el servicio, que es propenso a bloquearse, lo que resulta en una baja eficiencia y una velocidad de inicio del sistema lenta. systemd puede iniciar más
procesos de servicio en paralelo y tiene la capacidad de iniciar servicios a pedido. , por lo que se inician menos procesos, mejorando así la velocidad de inicio del sistema.

2.3 Tipos de unidades de systemd
tipo de unidad nombre de extensión nombre de extensión
Service .servicio2 Describir un servicio del sistema
Enchufe .enchufe Describe un socket para la comunicación entre procesos.
Dispositivo .dispositivo Describe un archivo de dispositivo reconocido por el núcleo
Montar .montar .Describe un punto de montaje del sistema de archivos
Automount .automontaje Describe un punto de montaje automático para un sistema de archivos.
Intercambio .intercambio Describir un dispositivo de intercambio de memoria o un archivo de intercambio
Camino camino Describir un archivo o directorio en un sistema de archivos
Temporizador .Temporizador Describir un temporizador (utilizado para implementar tareas de programación similares a cron)
Instantánea .instantánea Se utiliza para guardar el estado de un svstemd
Alcance .alcance Cree procesos externos mediante programación utilizando la interfaz de bus de systemd
Rebanada .rebanada Describe un conjunto de procesos del sistema de gestión organizados jerárquicamente en un Caroup
Target .objetivo Describe un conjunto de unidades systemd
2.4 Objetivos de Systemd correspondientes a los niveles de ejecución
nivel de carrera objetivo de systemd ilustrar
0 poweroff.target 关机El estado que usa este nivel se cerrará
1 rescate.objetivo 单用户El modo no requiere una contraseña para iniciar sesión en el sistema para el mantenimiento de múltiples sistemas
2 objetivo multiusuario Niveles de ejecución definidos por el usuario/específicos de la ciudad. El valor predeterminado es igual a 3 (la red no está habilitada en CentOS6)
3 objetivo multiusuario interfaz de personajecompletoMulti usuariomodo, la mayoría de los servidores se ejecutan en este nivel
4 objetivo multiusuario Niveles de ejecución definidos por el usuario/específicos del dominio. El valor predeterminado es igual a 3
5 gráfico.objetivo interfaz gráficadeMulti usuariomodo, que proporciona un entorno operativo gráficamente realista
6 reiniciar.objetivo 重新启动, usar este nivel reiniciará el host
preguntas de entrevista
init 3 
切换单用户字符界面
init 5
切换多用户图形界面
inicial 0 systemct1isolatepoweroff.objetivo systemctlisolatereboot .objetivo apagado cerrar
inicio 1 systemct1isolatepoweroff.objetivo ninguno ninguno Alternar modo de usuario único
inicio 3 systemct1isolatepoweroff.objetivo ninguno ninguno Cambiar el modo multiusuario de la interfaz de caracteres
inicio 5 systemct1isolatepoweroff.objetivo ninguno ninguno Alternar el modo multiusuario de GUI
inicio 6 systemctlisolatereboot .objetivo reinicio systemctIl reiniciar reiniciar
2.5 Obtener el nivel de ejecución actual
runlevel
2.6 Obtener el nivel operativo predeterminado del sistema
systemctl get-default
2.7 Establecer el nivel operativo predeterminado del sistema (comenzando a ingresar el nivel operativo establecido)
systemctl set-default multi-user.target
 
或者以更改软链接方式
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
ln -s创建软链接 -f强制

El principio de establecer el nivel de operación mediante un enlace suave es cambiar el archivo al que apunta el enlace suave /etc/systemd/system/default.target al nivel de operación correspondiente que debe configurarse.

inserte la descripción de la imagen aquí

3. Reparación MBRde fallas en el sector

(1) Causa de la falla

  • Daños causados ​​por virus, troyanos, etc.
  • Operación incorrecta de la partición, operación incorrecta de lectura y escritura del disco

(2) Fenómeno de falla

  • Bootloader no encontrado, arranque interrumpido
  • No se puede cargar el sistema operativo, pantalla negra después de arrancar

(3) Soluciones

  • Los archivos de respaldo deben prepararse con anticipación
  • Arranque en modo de rescate con el disco de instalación
  • Restaurar desde archivo de copia de seguridad

MBR se encuentra en el primer sector físico del primer disco duro (/dev/sda), con un total de 512 bytes
1.1, copia de seguridad de datos de zona horaria MBR en otros discos dañados (/dev/sdb1)

fdisk /dev/sdb  创建分区,设置扇区大小
mkfs -t xfs /dev/sdb1 格式化磁盘分区
mkdir /backup  创建挂载文件
mount /dev/sdb1 /backup
dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1
#直接复制磁盘sda的前512byte,而不是sda1(第一个分区)

1.2 Simular la destrucción del sector de arranque MBR

dd if=/dev/zero of=/dev/sda bs=512 count=1
复制0数据到sda的前512字节(MBR引导)

1.3 La interfaz de arranque ingresa al modo de emergencia y restaura los datos del sector MBR desde el archivo de copia de seguridad

Haga clic en la configuración de la máquina virtual para conectar el CD

inserte la descripción de la imagen aquí

Esta interfaz se muestra después de volver a suspender el disco virtual

inserte la descripción de la imagen aquí

cargar el modo de emergencia

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Ingrese al modo de primeros auxilios y configúrelo, y volverá a la normalidad después de reiniciar

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

4. Repare la falla de arranque de GRUB

(1) Causa de la falla

  • El cargador de arranque GRUB en el MBR está dañado
  • Falta el archivo grub.cfg y la configuración de arranque es incorrecta

(2) Fenómeno de falla

  • El sistema se inicia atascado en el indicador "grub>"

(3) Soluciones

  • Intente ingresar los comandos de arranque manualmente
    Ingrese al modo de rescate, reescriba o restaure grub.conf desde la copia de seguridad
  • Reconstruir el programa grub para el sector MBR
Método 1 (entrada manual, no recomendado)
grub> insmod xfs                   //加载指定的模块到内核
grub> linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=UUID=8fd74986-ae66-4ffd-b7d8-a19f2eca7b6f ro rhgb quiet LANG=zh_CN.UTF-8                                      //内核的名字及位置等信息
grub> initrd16 /initramfs-3.10.0-693.el7.x86_64.img            //镜像系统文件
grub> boot                          //引导boot
ll /boot                          //查看内核文件名
fdisk -l                          //查看分区UUID
Método 2: ingrese al modo de emergencia y restaure el cargador de arranque GRUB
MBR位于第一块硬盘 (/dev/sda)的第一个物理扇区处,总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中
.mkdir /bak
mount /dev/sdb1 /bak
dd if=/dev/sda of=/bak/grub.bak bs=446 count=1          //模拟对MRB中的GRUB引导程序的破坏,但并不破坏分区表

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

//引导界面进入急救模式,从备份文件中恢复GRUB引导程序
sh-4.2# mkdir /backupdir
sh-4.2# mount /dev/sdb1 /backupdir
sh-4.2# dd if=/backupdir/qrub.bak of=/dev/sda
sh-4.2# exit

Método 3: Inicie la interfaz en modo de emergencia y reconstruya el archivo de configuración del menú de GRUB

Simular archivos de configuración de grub dañados

rm -rf /boot/grub2/grub.cfg

重启后就出现以下情况
inserte la descripción de la imagen aquí
进入急救模式,加载光盘镜像,切换到系统根环境
Presione ESC mientras comienza a ingresar a la interfaz de arranque, seleccione la opción CDROM
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Primero use el comando exit para salir de bash-4, 2
y luego reinicie con reinicio
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Wanghwei17/article/details/130369268
Recomendado
Clasificación