Was ist der Startvorgang des CentOS-Systems?
Wenn wir den Netzschalter drücken, verstehen wir dann das Geheimnis hinter dem System? Hier werde ich Sie mitnehmen, um die Geheimnisse hinter dem Booten des Linux-Systems zu erkunden.
1. Selbsttest beim Einschalten
Nach dem Einschalten des Motherboards verwendet das System zunächst das POST-Programm Überprüfen Sie die verschiedenen internen Geräte. Wenn während der Selbstprüfung ein Fehler festgestellt wird, wird dieser in zwei Situationen behandelt: Bei schwerwiegenden Fehlern (schwerwiegende Fehler) wird er zu diesem Zeitpunkt heruntergefahren, da verschiedene Initialisierungsvorgänge nicht durchgeführt wurden Wenn ein schwerwiegender Fehler auftritt, ertönt eine Aufforderung oder ein akustisches Alarmsignal, das auf die Behebung durch den Benutzer wartet.
2. BIOS-Startphase
Suchen Sie nach dem Bestehen des Selbsttests nacheinander. Das erste Gerät mit einem Startprogramm ist das Startziel. verwendete Ausrüstung. Im Allgemeinen gelangen Computer durch Drücken der Taste „F2“ oder „Entf“ in das BIOS, wo wir die Startreihenfolge der Festplatte anpassen können.
Nachdem das erste Gerät mit einem Bootloader gefunden wurde, findet das BIOS den MBR im Gerät und liest den Bootloader
3.GRUP-Bootphase
Zu diesem Zeitpunkt können Sie Sehen Sie sich unser Centos-System an, aber im Allgemeinen ist keine Bedienung erforderlich und das System startet automatisch. Tatsächlich können wir das System auch manuell selbst starten
3.1 Manuelles Starten des Systems über die Grub-Befehlszeilenschnittstelle:
grub> root (hd#,#) grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE grub> initrd /initramfs-VERSION-RELEASE.img grub> boot
3.2 Grub-Befehlszeilenschnittstelle:
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 Konfiguration Datei: /boot/grub/grub.conf
Konfigurationselemente:
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. Laden der Kernelphase
Der Kernel initialisiert sich selbst:
Erkennung ist möglich. Alle gefundenen Hardware-Geräte.
Hardware-Treiber laden. (Der Treiber kann mithilfe der Ramdisk geladen werden.) >
Führen Sie die erste Anwendung im Benutzerbereich aus:5.init-Initialisierungsphase /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
Jede Zeile definiert eine Aktion und den entsprechenden Prozess/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
Das obige ist der detaillierte Inhalt vonWas ist der Startvorgang des CentOS-Systems?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!