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.
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
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: 引导启动选定的内核;
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: 启动选定的内核或操作系统时进行认证
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
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
/etc/inittab
id:runlevels:action:process id:一个任务的标识符; runlevels:在哪些级别启动此任务;#,###,可以为空,表示所有级别; action:在什么条件下启动此任务; process:任务;(脚本或程序)
action: wait:等待切换至此任务所在的级别时执行一次; respawn:一旦此任务终止,就自动重新启动之; initdefault:设定默认运行级别;此时,process省略; sysinit:设定系统初始化方式,此处一般为指定/etc/rc.d/rc.sysinit脚本;
查看:chkconfig --list [name] 添加:chkconfig --add name 删除:chkconfig --del name
chkconfig [--level LEVELS] name <on|off|reset> --level LEVELS:指定要控制的级别;默认为2345; init命令: 级别切换:init # 级别查看:who -r
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!