Infra & DevOps/Linux

[Linux] ์‹œ์Šคํ…œ ๋ถ€ํŒ… ๊ณผ์ •

hyeyeonismm 2025. 1. 16. 21:42
๊ณผ์ • ์š”์•ฝ: ์ „์› ON → BIOS/UEFI → ๋ถ€ํŠธ๋กœ๋” ์‹คํ–‰ → Linux Kernel → init/systemd → GUI/CLI ์‹คํ–‰

 

BIOS/UEFI ์‹คํ–‰

CPU๋Š” ์ปดํ“จํ„ฐ ์ „์›์ด ์ผœ์ง€๋ฉด Reset Vector์— ๋”ฐ๋ผ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ฝ๋Š”๋‹ค. ์ด Reset Vector์€ CPU๊ฐ€ ๋ฐ˜๋“œ์‹œ ์ฒ˜์Œ ์ฝ๋Š” ์ฃผ์†Œ๋กœ, ํŽŒ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ๋”ฐ๋ผ์„œ CPU๋Š” ์ „์›์ด ์ผœ์ง€๋ฉด ๊ฐ€์žฅ ๋จผ์ € ๋ฉ”์ธ๋ณด๋“œ์— ๋ฐ•ํ˜€์žˆ๋Š” BIOS/UEFI๋ฅผ ์ฝ๊ฒŒ ๋œ๋‹ค.

 

ํŽŒ์›จ์–ด
ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋™์ž‘ํ•˜๋„๋ก ํ•ด์ฃผ๋Š” ํ•˜๋“œ์›จ์–ด์— ๋‚ด์žฅ๋œ ์ž‘์€ ์†Œํ”„ํŠธ์›จ์–ด. BIOS/UEFI๋Š” ๋ฉ”์ธ๋ณด๋“œ ์นฉ์— ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค.

 

Power On Self Test ์‹คํ–‰

BIOS/UEFI๋Š” ์ž๊ธฐ ์ฝ”๋“œ ์•ˆ์—์„œ POST๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ํŽŒ์›จ์–ด(BIOS/UEFI)๋Š” ์‹คํ–‰๋˜์ž๋งˆ์ž ๋‚ด๋ถ€์ ์œผ๋กœ POST๋ฅผ ์‹คํ–‰ํ•ด ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ ํ•˜๋“œ์›จ์–ด๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ POST๋ž€ Power-on-self-test๋กœ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒ€์‚ฌ๋“ค์ด ์ด๋ค„์ง„๋‹ค.

  • CPU๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€
  • RAM์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์žฅ์ฐฉ๋˜๊ณ  ์ฝ๊ธฐ/์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€
  • ๋ฉ”์ธ๋ณด๋“œ ์นฉ์…‹์ด ์˜ค๋ฅ˜์—†์ด ์ž‘๋™ํ•˜๋Š”์ง€
  • ํ‚ค๋ณด๋“œ, ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ ๋“ฑ ๊ธฐ๋ณธ ์žฅ์น˜๋“ค์ด ๋ฌธ์ œ ์—†๋Š”์ง€
  • BIOS ์ž์ฒด ์ฝ”๋“œ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ

์ด ๊ณผ์ •์„ ํ†ตํ•ด BIOS/UEFI๋Š” ์šด์˜์ฒด์ œ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ค€๋น„๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ตœ์†Œํ•œ์˜ ํ•˜๋“œ์›จ์–ด ํ™˜๊ฒฝ์„ ๊ฒ€์‚ฌํ•œ๋‹ค.

 

๋ถ€ํŒ… ๋””๋ฐ”์ด์Šค ํƒ์ƒ‰

POST ๊ฒ€์‚ฌ๊ฐ€ ๋๋‚˜๋ฉด BIOS/UEFI๋Š” OS๋ฅผ ์‹คํ–‰ํ•  ๋ถ€ํŒ… ๋””๋ฐ”์ด์Šค๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ๋ถ€ํŒ… ๋””๋ฐ”์ด์Šค์—๋Š” SSD, HDD, USB ๋ฉ”๋ชจ๋ฆฌ, DVD, CD-ROM ๋“ฑ์ด ์žˆ๋‹ค.


BIOS/UEFI ์•ˆ์— ์ด๋Ÿฐ ๋ถ€ํŒ… ์ˆœ์„œ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด ์ˆœ์„œ๋Œ€๋กœ ์žฅ์น˜๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฒ€์‚ฌํ•˜๋ฉด์„œ ๋ถ€ํŒ…ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

 

๋ถ€ํŒ… ๊ฐ€๋Šฅํ•œ ์žฅ์น˜๋ž€?
BIOS์šฉ์ด๋ผ๋ฉด ์œ ํšจํ•œ MBR, ๋ถ€ํŠธ ์ฝ”๋“œ๊ฐ€ ์žˆ๊ณ  UEFI์šฉ์ด๋ผ๋ฉด EFI System Partition, .efi ๋ถ€ํŠธ๋กœ๋” ํŒŒ์ผ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค. ๊ทธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด OS ์ปค๋„๊นŒ์ง€ ์ด์–ด์ง€๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
USB์— OS๋ฅผ ์„ค์น˜ํ•  ๋•Œ Rufus๋ฅผ ์“ฐ๋Š” ์ด์œ ๊ฐ€ ๋ฐ”๋กœ ์ด์™€ ๊ฐ™๋‹ค..!
Rufus๋Š” USB์— MBR/GPT ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๊ณ  EFI ํŒŒํ‹ฐ์…˜์„ ์ƒ์„ฑํ•˜๊ณ  ๋ถ€ํŠธ๋กœ๋” ํŒŒ์ผ์„ ๋„ฃ๊ณ  OS ์„ค์น˜ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•œ๋‹ค.. ์ฆ‰ USB๋ฅผ OS๋กœ ๋ถ€ํŒ… ๊ฐ€๋Šฅํ•œ ์žฅ์น˜๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ž‘์—…์„ ํ•ด์ค€๋‹ค.

 

๋ถ€ํŠธ๋กœ๋” ์‹คํ–‰

๋ถ€ํŒ… ๊ฐ€๋Šฅํ•œ ์žฅ์น˜๋ฅผ ์ฐพ์•˜์œผ๋ฉด, BIOS/UEFI๋Š” ํ•ด๋‹น ์žฅ์น˜ ์•ˆ์— ์žˆ๋Š” ๋ถ€ํŠธ๋กœ๋”๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ๋ถ€ํŠธ๋กœ๋”๋Š” ์šด์˜์ฒด์ œ๋ฅผ ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•œ ์ค€๋น„ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ, ๋””์Šคํฌ ์•ˆ์— ์žˆ๋Š” ๋ถ€ํŒ…์šฉ ์ฝ”๋“œ ๋˜๋Š” ์‹คํ–‰ ํŒŒ์ผ์˜ ํ˜•ํƒœ๋กœ ์กด์žฌํ•œ๋‹ค.
์ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์šด์˜์ฒด์ œ๊ฐ€ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์ปค๋„์˜ ์œ„์น˜๋ฅผ ์ฐพ๊ณ  ๋กœ๋“œํ•  ์ค€๋น„๋ฅผ ํ•œ๋‹ค.

ํŽŒ์›จ์–ด(BIOS/UEFI)์˜ ๋ชฉ์ ์ด ๋ถ€ํŒ… ๊ฐ€๋Šฅํ•œ ์žฅ์น˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด๋ผ๋ฉด, ๋ถ€ํŠธ๋กœ๋”์˜ ๋ชฉ์ ์€ ์šด์˜์ฒด์ œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ปค๋„์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ์ด๋‹ค.

 

GRUB (GRand Unified Bootloader)

GRUB์€ Linux ๊ณ„์—ด ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€ํŠธ๋กœ๋”์˜ ์ด๋ฆ„์ด๋‹ค. (Windows๋Š” Windows Boot Manager, macOS๋Š” ์ž์ฒด ๋ถ€ํŠธ๋กœ๋”๋ฅผ ์‚ฌ์šฉํ•จ)
GRUB์ด ํ•˜๋Š” ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์ปค๋„ ํŒŒ์ผ ์ฐพ๊ธฐ: /boot/vmlinuz-*... ๊ณผ ๊ฐ™์€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ์ฐพ๋Š”๋‹ค.
  • initramfs ๋กœ๋“œ: ์ดˆ๊ธฐ ๋ถ€ํŒ…์— ํ•„์š”ํ•œ ๋“œ๋ผ์ด๋ฒ„/ํŒŒ์ผ์‹œ์Šคํ…œ ๋ชจ๋“ˆ์„ ๋‹ด์€ ์ž„์‹œ ๋ฃจํŠธ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ RAM์— ์˜ฌ๋ฆฐ๋‹ค.
  • ์ปค๋„ ๋กœ๋“œ & ์ œ์–ด ๋„˜๊น€: GRUB์€ ์ปค๋„ ๋ฐ”์ด๋„ˆ๋ฆฌ์ธ vmlinuz ํŒŒ์ผ์„ ๋””์Šคํฌ์—์„œ ์ฝ์–ด RAM์— ์˜ฌ๋ฆฌ๊ณ  CPU ์ œ์–ด๊ถŒ์„ ์ปค๋„์—๊ฒŒ ๋„˜๊ธด๋‹ค. ์ดํ›„๋ถ€ํ„ฐ ์‹ค์ œ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์ด ๋ถ€ํŒ…์„ ์‹œ์ž‘ํ•˜๋ฉฐ ํ•˜๋“œ์›จ์–ด ์ดˆ๊ธฐํ™”, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„ ๋กœ๋”ฉ, ํŒŒ์ผ ์‹œ์Šคํ…œ ๋งˆ์šดํŠธ, systemd ์‹คํ–‰(PID 1) ๋“ฑ์„ ์ง„ํ–‰ํ•œ๋‹ค.

์‹ค์ œ๋กœ boot ํด๋”์— ๋“ค์–ด๊ฐ€๋ฉด ํ•ด๋‹น ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ๋“ค์ด ์กด์žฌํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

๋กœ๋“œ๋œ ์ปค๋„ ์‹คํ–‰

GRUB์ด ์ปค๋„ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ RAM์— ์ ์žฌํ•˜๊ณ  ์ œ์–ด๊ถŒ์„ ๋„˜๊ธฐ๋ฉด, ๋ฆฌ๋ˆ…์Šค ์ปค๋„์ด ์ง์ ‘ ๋ถ€ํŒ… ๊ณผ์ •์„ ์ง„ํ–‰ํ•œ๋‹ค.
์ปค๋„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์‹œ์Šคํ…œ์„ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.

  • ์ปค๋„ ์ฝ”๋“œ ์‹คํ–‰
    ๋กœ๋“œ๋œ ์ปค๋„ ํŒŒ์ผ์ด ์‹คํ–‰๋˜๋ฉด ์ปค๋„์€ ๊ฐ€์žฅ ๋จผ์ € ์ž์ฒด ์ดˆ๊ธฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด ์‹œ์ ๋ถ€ํ„ฐ ๋ถ€ํŒ… ๋ฉ”์‹œ์ง€๋“ค์ด ์ฝ˜์†”์— ์ถœ๋ ฅ๋˜๋ฉฐ, dmesg ๋ฒ„ํผ์—๋„ ๊ธฐ๋ก๋œ๋‹ค.
  • ํ•˜๋“œ์›จ์–ด ๊ฐ์ง€ ๋ฐ ๋กœ๊ทธ ์ถœ๋ ฅ
    ์ปค๋„์€ ์‹œ์Šคํ…œ์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ(CPU, ๋ฉ”๋ชจ๋ฆฌ ์ •๋ณด/ PCI Bus, ๊ฐ์ง€๋œ ์žฅ์น˜ ์ดˆ๊ธฐํ™” ๋“ฑ)๋ฅผ ํ™•์ธํ•˜๋ฉฐ ์ด ๋ชจ๋“  ๊ณผ์ •์€ dmesg ๋ช…๋ น์–ด๋กœ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • swapper ํ”„๋กœ์„ธ์Šค (PID 0) ์ƒ์„ฑ
    PID 0์€ ์ปค๋„ ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค์— ์กด์žฌํ•˜๋Š” ํŠน์ˆ˜ ํƒœ์Šคํฌ์ด๋‹ค. 
  • Root File System์„ ์ฐพ์•„ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๋งˆ์šดํŠธํ•˜์—ฌ ๋กœ๋“œ
  • Root File System์„ RW ๋ชจ๋“œ๋กœ ์žฌ๋งˆ์šดํŠธ
  • Init ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ (PID 1)

 

systemd ์ดˆ๊ธฐํ™” ๋ฐ ์„œ๋น„์Šค ์‹œ์ž‘

systemd (PID 1 ํ”„๋กœ์„ธ์Šค)๊ฐ€ ์‹คํ–‰๋˜์–ด ๊ธฐ๋ณธ ์„œ๋น„์Šค๋ฅผ ๋กœ๋“œํ•œ๋‹ค.
์ด ๊ณผ์ •์ด ์™„๋ฃŒ๋˜๋ฉด CLI ํ˜น์€ GUI๊ฐ€ ์‹คํ–‰๋˜์–ด ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์ด ๋‚˜ํƒ€๋‚œ๋‹ค.