[Sistema operativo] Proceso de inicio del sistema

Proceso de inicio del sistema (Linux)

1. BIOS 加电自检
2. 把 MBR 加载到内存
3. 加载 grub 引导程序
4. Kernel 自身初始化
5. 启动第一个程序 systemd

BIOS

  1. Inicializar el hardware
  2. encontrar dispositivo de arranque
1 - CD-DVD - 光驱启动
2 - PXE - 网络启动
3 - USB - USB启动
4 - HDD (硬盘启动 - Hard Disk) MBR - 主引导记录

MBR

1 - 446B BootLoader:安装GRUB的stage1 或 GRUB2的 boot.img
2 - 64B partition table 主分区表:四个主分区
3 - 2B magic number AAH 55H 标识

Arranque de arranque GRUB2

1 - boot.img  唯一作用是在系统启动时装载 core.img ,即装载内核
2 - core.img	是GRUB2的核心映像文件
3 - *.mod	可以动态加载的模块
4 - grub.cfg	
	如果 /boot 在独立分区,则:/grub2/grub.cfg
	如果 /boot 不在独立分区,则: /boot/grub2/grub.cfg

arranque del núcleo

1 - /boot/vmlinuz	Linux内核映像及内核参数传递
2 - /boot/initramfs 
	首先:在内存中释放供内核使用的根文件系统(/boot/initramfs)
	然后,挂载真正的根文件系统,然后执行 /usr/lib/systemd/systemd

sistemad

1 - 读取 /etc/systemd/system
2 - default.target  - 链接文件
3 - graphical.target - 图形界面
4 - 启动 图形界面用户登录 进程

Firmware y BIOS

En los primeros días, el BIOS se quemaba en la placa base;
el BIOS en la placa base de la computadora se llamaba anteriormente firmware
[pantalla azul, problema de hardware]

clasificación de BIOS

1 - legado

El modo de arranque heredado es actualmente el modo de arranque BIOS más utilizado, lea la tabla de registro de arranque MBR

2 - uefi

Traducción de la interfaz de firmware extensible unificada
: interfaz de firmware extensible unificada

  • Es un nuevo tipo de BIOS
  • Compatible con los métodos de inicio heredados tradicionales

sobre el legado

Introducción a MBR

Uso de la tabla de particiones MBR (registro de arranque principal, registro de arranque maestro de traducción)

Partición de arranque principal: un total de 512 bytes ( 1 Byte = 8 bit), dividido en tres partes

1 - 主引导程序 446B  - 主引导程序所在位置
2 - 磁盘分区表 DPT 64B - 读取分区表
	分区一 16B:
		第1个字节:0x80 表示激活 - 激活的分区拥有控制权,四个分区只有一个是激活的
		第2-4字节:分区第一个扇区的物理位置
		第5个字节:主分区类型
		第6-8字节:分区最后一个扇区的物理位置
		第9-12字节:分区已用完的扇区数
		第13-16字节:分区扇区总数
			4 字节,32 位
			一个主分区的扇区总数不超过:2^32个
			每个扇区大小为 512 字节
			单个分区最大空间为:2^32 * 512 = 2T
	分区二 16B:
	分区三 16B:
	分区四 16B:
3 - 结束标志 2B 分区结束

limitaciones de MBR

1 - hasta cuatro particiones primarias, o hasta 3 particiones primarias + una partición extendida
2 - máximo 2T por partición

Acerca de UEFI

kylin OS:
存在一个 ESP 分区(EFI系统分区)

uefi的引导程序是以后缀名为 .efi 的文件存放在 ESP 分区中,ESP 分区采用 fat32 文件系统

kylinos将 ESP 分区挂载到 /boot/efi ,直接用文件夹浏览器进去就可以查看到 .efi 文件

GPT

Adopte la traducción de la tabla de particiones GPT (tabla de particiones GUID)
: tabla de particiones de disco de identificador único global

Ventaja

  • El tamaño puede soportar hasta 128 particiones
  • El tamaño de cada partición puede ser 2^64 *512
  • tolerancia a fallas, compatibilidad

gestor de arranque gestor de arranque

Después de que la computadora lea el código de máquina 446B frente al MBR, entregará el control al cargador de arranque.

El Bootloader bajo Linux tiene:

  • comida
  • grub2
  • usar
  • disco spf

La función principal de BootLoader

1 - 提供菜单
	用户可以选择不同的启动项
2 - 加载内核文件
	直接指向可启动的程序区段来开始操作系统
3 - 转交给其他 Loader
	将引导装载功能转交给其他Loader负责

inicialización del núcleo

El archivo del kernel es muy pequeño, solo se conservan los módulos más básicos y se almacenan en el disco duro como un archivo comprimido.

Los archivos del kernel se colocan en /bootel directorio.

BIOS - gestor de arranque - núcleo

inserte la descripción de la imagen aquí
initrd - archivo espejo

systemd - proceso demonio

  • systemd es una herramienta del sistema Linux utilizada para iniciar demonios y se ha convertido en estándar en la mayoría de las distribuciones
  • systemd reemplaza a initd y se convierte en el primer proceso del sistema (PID=1), y otros procesos son sus procesos secundarios
  • systemd, puede ser concurrente, puede desencadenar grupos de procesos
  • systemd - no un comando, sino un conjunto de comandos
  • systemd - ubicado en /etc/systemd/system
kylinos采用过多种启动方式
1 - Sysvinit
2 - upstart
3 - system
4 - systemd
1 - systemd 执行的第一个目标是: default.target;实际上,图形化系统的default.target是指向graphical.target的软链接 (.target 是一组命令)

El objetivo comúnmente utilizado corresponde al nivel de ejecución de Sysvinit

nivel de ejecución nivel de ejecución nombre describir
objetivo.básico Inicie el sistema base, que contiene indirectamente todas las unidades de puntos de montaje locales y otras unidades de inicialización del sistema necesarias.
destino predeterminado El destino de inicio predeterminado, generalmente apunta a multi-user.target o graphical.target
5 gráfico.objetivo Una unidad de destino dedicada a iniciar una interfaz gráfica de inicio de sesión, que contiene la unidad multi-user.target
0 detener.objetivo Unidad dedicada para arrancar cuando el sistema está apagado pero no encendido
0 poweroff.objetivo Detener el sistema y cortar la alimentación.
local-fs.objetivo Unidad de destino dedicada a agregar puntos de montaje del sistema de archivos local
3 objetivo multiusuario Para unidades dedicadas a multiusuario e iniciadas en modo de línea de comandos, la sección [instalar] debe agregar el comando WantedBy=multi-user.target
1 rescate.objetivo Una unidad que debe iniciarse para iniciar el sistema base y abrir un shell de rescate
objetivo.de.emergencia Modo de usuario único , no se ejecutan programas de servicio y el sistema de archivos no está montado. Este es el nivel de ejecución más básico, que proporciona solo un shell en la consola principal para la interacción del usuario con el sistema.
local-fs-pre.objetivo Esta unidad de destino se ordena automáticamente antes que cualquier punto de montaje del sistema de archivos local que requiera montaje automático. Se puede usar para garantizar que ciertas unidades se inicien antes de que se monte el sistema de archivos local.
6 reiniciar.objetivo Reinicie el sistema, dedicado a las unidades que deben iniciarse cuando se reinicia el sistema

Después de montar el sistema de archivos, ejecute cada destino por turno y, finalmente, ejecute el destino vinculado a default.target (el valor predeterminado es grapgical.target y multi-user.target), para que el usuario pueda iniciar sesión en el sistema a través del gráficos o el terminal de control

Arranque del sistema completo

Resumir

1 - 计算机加电到完成启动,包含多个进程;
2- 系统启动需要固件支持。legacy 采用的时 MBR分区表,MBR分区表的结构决定了它支持的分区数量和大小;
3 - 当主机存在多个操作系统时,需要bootloader管理和启动系统;
4 - kylinos V10 目前采用的初始化进程是 systemd
5 - 当systemd作为启动进程进行时,它将初始化系统,也就是启动并维护各种用户空间的服务

Supongo que te gusta

Origin blog.csdn.net/Sanayeah/article/details/126813097
Recomendado
Clasificación