Maison > Opération et maintenance > CentOS > Quel est le processus de démarrage du système CentOS ?

Quel est le processus de démarrage du système CentOS ?

WJ
Libérer: 2020-06-03 15:29:49
original
1889 Les gens l'ont consulté

Quel est le processus de démarrage du système CentOS ?

Quel est le processus de démarrage du système CentOS ?

Lorsque nous appuyons sur le bouton d'alimentation, comprenons-nous le secret qui se cache derrière le système ? Ici, je vais vous emmener explorer les secrets du démarrage du système Linux.

Quel est le processus de démarrage du système CentOS ?

1. Auto-test à la mise sous tension

Une fois la carte mère allumée, le système utilise d'abord le programme POST pour vérifier les différents dispositifs internes. Vérifier, si une erreur est détectée lors de l'auto-vérification, elle sera traitée dans deux situations : en cas de défauts graves (défauts fatals), elle s'arrêtera à ce moment-là, car diverses opérations d'initialisation n'ont pas été effectuées. terminé, aucune invite ou signal ne peut être émis ; en cas de défaut grave, une invite ou un signal d'alarme sonore sera émis, en attendant que l'utilisateur le gère.

2. Étape de démarrage du BIOS

Après avoir réussi l'auto-test, recherchez chaque périphérique de démarrage dans l'ordre. Le premier périphérique doté d'un programme de démarrage est la cible de démarrage. matériel utilisé. Généralement, les ordinateurs sont entrés dans le BIOS en appuyant sur la touche « F2 » ou « Suppr », où nous pouvons ajuster la séquence de démarrage du disque dur.

Après avoir trouvé le premier périphérique avec un chargeur de démarrage, le BIOS trouvera le MBR dans le périphérique et lira le chargeur de démarrage

Phase de démarrage 3.GRUP

À ce moment, vous pouvez consultez notre système Centos, mais généralement aucune opération n'est requise et le système démarrera automatiquement. En fait, nous pouvons également démarrer manuellement le système nous-mêmes

3.1 Démarrer manuellement le système via l'interface de ligne de commande grub :

    grub> root (hd#,#)
  grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE 
  grub> initrd /initramfs-VERSION-RELEASE.img
   grub> boot
Copier après la connexion

3.2 Interface de ligne de commande grub :

  e: 编辑模式,用于编辑菜单;
 c: 命令模式,交互式接口;
help: 获取帮助列表
help KEYWORD: 详细帮助信息
find (hd#,#)/PATH/TO/SOMEFILE:
root (hd#,#) 设定grup的根设备
kernel /PATH/TO/KERNEL_FILE: 设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数;
例如:init=/path/to/init, selinux=0
initrd /PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk;
boot: 引导启动选定的内核;
Copier après la connexion

3.3 Configuration fichier : /boot/grub/grub.conf

Éléments de configuration :

default=#: 设定默认启动的菜单项;落单项(title)编号从0开始;
timeout=#:指定菜单项等待选项选择的时长;
splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径;
hiddenmenu:隐藏菜单;
password [--md5] STRING: 菜单编辑认证;
title TITLE:定义菜单项“标题”, 可出现多次;用来引导多个内核或者操作系统
    root (hd#,#):grub查找stage2及kernel文件所在设备分区;为grub的“根”; 
kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核
initrd /PATH/TO/INITRAMFS_FILE: 内核匹配的ramfs文件;
password [--md5] STRING: 启动选定的内核或操作系统时进行认证
Copier après la connexion

4. Chargement de la phase du noyau

Le noyau s'initialisera :

La détection est identifiable Tous les périphériques matériels trouvés ;

Charger les pilotes matériels (le pilote peut être chargé à l'aide du disque virtuel)

Monter le système de fichiers racine en mode lecture seule ; >

Exécuter la première application dans l'espace utilisateur :

/sbin/init

Phase d'initialisation 5.init

Une fois le noyau chargé, le programme init sera exécuté après le démarrage du processus d'initialisation. , le contrôle du démarrage du système est transféré au processus init

/sbin/init est le processus parent de tous les processus. Lorsque init démarre, il lira d'abord le fichier de configuration /etc/inittab et effectuera les opérations suivantes. work:

1.执行系统初始化脚本(/etc/rc.d/rc.sysinit),对系统进行基本的配置,以读写方式挂载根文件系统及其它文件系统,到此系统基本算运行起来了,后面需要进行运行级别的确定及相应服务的启动;
2.确定启动后进入的运行级别;
3.执行/etc/rc.d/rc,该文件定义了服务启动的顺序是先K后S,而具体的每个运行级别的服务状态是放在/etc/rc.d/rcn.d(n=0~6)目录下,所有的文件均链接至/etc/init.d下的相应文件。
4.有关key sequence的设置
5.有关UPS的脚本定义
6.启动虚拟终端/sbin/mingetty 
7.在运行级别5上运行X
Copier après la connexion

Fichier de configuration :

/etc/inittab

Chaque ligne définit une action et son processus correspondant

id:runlevels:action:process 
id:一个任务的标识符;
runlevels:在哪些级别启动此任务;#,###,可以为空,表示所有级别;
action:在什么条件下启动此任务;
process:任务;(脚本或程序)
Copier après la connexion
action:
wait:等待切换至此任务所在的级别时执行一次;
respawn:一旦此任务终止,就自动重新启动之;
initdefault:设定默认运行级别;此时,process省略;
sysinit:设定系统初始化方式,此处一般为指定/etc/rc.d/rc.sysinit脚本;
Copier après la connexion

K* : le service à arrêter K##* , priorité, plus le nombre est petit, mieux c'est Il est arrêté en premier ; les services dépendants sont arrêtés en premier, puis les services dépendants sont arrêtés

S* : le service à démarrer ; #*, la priorité, plus le nombre est petit, la priorité de démarrage ; les dépendants Le service démarre en premier, et les services dépendants démarrent plus tard

commande chkconfig : contrôle l'état de démarrage ou d'arrêt de chaque script de service ; dans /etc/init.d/ à chaque niveau ;

查看:chkconfig  --list   [name]
添加:chkconfig  --add  name
删除:chkconfig  --del  name
Copier après la connexion

modification Type de lien spécifié :

chkconfig  [--level  LEVELS]  name  <on|off|reset>
--level LEVELS:指定要控制的级别;默认为2345;
init命令:
级别切换:init #
级别查看:who -r
Copier après la connexion
Références associées :

tutoriel centOS

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal