CentOS 7 시스템 세부 전원 켜기 및 끄기 프로세스
bootup -
。 , BIOS/UEFI ,
/ / ( GRUB2), / ( Linux)。
Linux , ( ) initrd(initial RAM disk) ( dracut ),
"rdinit=" init ( systemd) 。
, "init=" init ( systemd) 。
init 、 、 , 。
,init 、 、( ) initrd , 。
"root=" , "init=" init ,
, " ": 、 、 , 。
systemd , "init " systemd ,
" " target ( ) , 。
, , , 。
,systemd default.target , , " "。
,default.target graphical.target( ) multi-user.target( ) 。
, target 。
target 。
, 。
local-fs-pre.target
|
v
( mounts ( swap (
fsck services) devices) devices) ( ( API
| | | services: udevd, mounts:
v v v tmpfiles, random mqueue, configfs,
local-fs.target swap.target cryptsetup.target seed, sysctl ...) debugfs ...)
| | | | |
\__________________|_________________ | ___________________|____________________/
\|/
v
sysinit.target
|
____________________________________/|\________________________________________
/ | | | \
| | | | |
v v | v v
( timers) ( paths) | ( sockets) rescue.service
| | | | |
v v | v v
timers.target paths.target | sockets.target rescue.target
| | | |
v \_________________ | ___________________/
. \|/
. . . . . . . . . . . . . . . . . . . v
basic.target
|
____________________________________/| emergency.service
/ | | |
| | | v
v v v emergency.target
display- ( ( )
manager.service ) |
| | v
| | multi-user.target
| | |
\_________________ | _________________/
\|/
v
graphical.target
。 :
(1) systemd.unit= ( systemd );(2) default.target 。
timers.target basic.target , timer basic.target 。
initrd
initrd , systemd init ( "rdinit=" ), initrd.target 。
initrd basic.target , 。
/sysroot , sysroot.mount , initrd-root-fs.target 。
initrd-parse-etc.service /sysroot/etc/fstab /usr ( ) x-initrd.mount 。
/sysroot , initrd-fs.target 。
initrd-cleanup.service
/usr/bin/systemctl --no-block isolate initrd-switch-root.target
initrd-switch-root.target 。 isolate ,
( )。
, initrd-switch-root.service , /sysroot 。
( )
:
v
basic.target
| emergency.service
______________________/| |
/ | v
| sysroot.mount emergency.target
| |
| v
| initrd-root-fs.target
| |
| v
v initrd-parse-etc.service
( |
initrd services) v
| (sysroot-usr.mount
| fstab x-initrd.mount
| )
| |
| v
| initrd-fs.target
\______________________ |
\|
v
initrd.target
|
v
initrd-cleanup.service
( isolates initrd-switch-root.target)
|
v
______________________/|
/ v
| initrd-udevadm-cleanup-db.service
v |
( |
initrd services) |
\______________________ |
\|
v
initrd-switch-root.target
|
v
initrd-switch-root.service
|
v
systemd , :
( ) ( mounts, swaps, cryptsetup devices )
| |
v v
shutdown.target umount.target
| |
\______________________ _____________/
\ /
v
( services)
|
v
final.target
|
_____________________________________/ \_________________________________
/ | | \
| | | |
v v v v
systemd-reboot.service systemd-poweroff.service systemd-halt.service systemd-kexec.service
| | | |
v v v v
reboot.target poweroff.target halt.target kexec.target
。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.