_posts/2025-04-22-OS_Process_API.md _posts/2025-04-19-OS.mdβ layout: post comments: true sitemap: changefreq: priority:
title: β[LINUX] λΆνΈλ‘λ grubμ λν μ€λͺ κ³Ό μ€νλ 벨 μ€λͺ β excerpt: β리λ μ€ λΆνΈλ‘λ - λΆνΈλ‘λμΈ LILO, GRUBβ
date: 2022-02-18 last_modified_at: 2024-12-27
categories: [LINUX] tags: [LINUX] β
λΆνΈλ‘λ
- μ μ: 컀λμ΄ μ¬λ°λ₯΄κ² λΆν λκΈ° μν΄ νμν μμ μ μννκ³ μ΅μ’ μ μΌλ‘ μ΄μ체μ λ₯Ό λΆν μν€λ μν λ΄λΉ
- μ’
λ₯
- LILO: MBRμ΄λ νν°μ μ μλμΉν° μμ(λ§) μμΉ. /etc/lilo.conf
- GRUB: 리λ μ€μ κΈ°λ³Έ λΆνΈλ‘λ. GNUμμ λ§λ λΆνΈλ‘λ. LILOλ³΄λ€ κ°νλ νν.
GRUB νΉμ§
- LILOμ λΉν΄ μ€μ λ° μ¬μ©μ νΈλ¦¬μ±
- λΆνΈ μ λ³΄κ° μ¬λ°λ₯΄μ§ μλλΌλ λΆν μ μ΄λ₯Ό λ°λ‘ μμ ν΄ λΆν κ°λ₯
- μλμ° κ³μ΄ λ° κΈ°ν OSλ₯Ό μ§μν΄ λ©ν° λΆν κ°λ₯
- λ©λ΄ μΈν°νμ΄μ€ νκ²½μ μ§μν΄ λνν λͺ¨λλ‘ λΆνΈ μ 보λ₯Ό μ€μ κ°λ₯
- λ€νΈμν¬ μμμ λΆνΈλ‘λμ μ€μ μμ κ°λ₯
- 컀λμ 물리μ μμΉλ₯Ό κΈ°λ‘νμ§ μκ³ λ 컀λ νμΌλͺ κ³Ό 컀λμ΄ μμΉνκ³ μλ νν°μ μ μμΉλ§ μκ³ μμΌλ©΄ μμ€ν λΆν κ°λ₯.
GRUB μ₯μΉ λͺ λͺ
GRUBμ μ₯μΉ μ΄λ¦μ λΈλ‘ λλ°μ΄μ€ νκΈ°λ²κ³Ό λ€λ₯΄κ² νν°μ
μμλ₯Ό μλ°λ²³μ΄ μλ μ«μλ‘ νκΈ°
ex) hda, hdb⦠-> hd0, hd1
(hd0, 0) -> 첫 λ²μ§Έ νλ λμ€ν¬μ 첫 λ²μ§Έ νν°μ
GRUB νκ²½μ€μ νμΌ(grub.conf)
- default: λ©ν°λΆν μΌ κ²½μ° κΈ°λ³ΈμΌλ‘ λΆν ν OSμ λ μ΄λΈ λ²νΈ(0λΆν° μμ)
- timeout: μ ν΄μ§ μκ°μ΄ κ²½κ³Ό ν defaultμ μ€μ λ OSλ‘ λΆν
- splashimage: λ°°κ²½κ·Έλ¦Ό κ²½λ‘ μ€μ
- title: GRUBμ λνλλ OS μ΄λ¦ μ€μ
- boot: λΆν ν OSκ° μ€μΉλ νν°μ μ μ€μ
- kernal: OS λΆν μ μ½μ΄μ¬ 컀λ νμΌ μ§μ
- initrd: μ΄κΈ° λ¨ λμ€ν¬; λΆν μ μ΄κΈ°νμ νμν λ£¨νΈ λμ€ν¬μ μ΄λ―Έμ§ νμΌμ μ§μ
GRUB νκ²½μ€μ νμΌ - λͺ λ Ήμ΄
- boot: μ§μ ν μ₯μΉμ 컀λ λͺ λ Ήμ΄λ‘ λΆν .
- cat file_name: νμΌμ λ΄μ©μ νμΈ.
- clear: νλ©΄μ ν΄λ¦¬μ΄
- displaymem: λ©λͺ¨λ¦¬ μ 보λ₯Ό μΆλ ₯
- find file_name: μ§μ νμΌμ΄ μμΉνλ μ₯μΉλͺ κ²μ
- kernal (kernal_file_name): λΆν μ μ¬μ©ν 컀λ μ΄λ―Έμ§ νμΌμ κ²½λ‘λ₯Ό μ§μ
- makeactive: 루νΈλμ€ν¬μ μ‘΄μ¬νλ GRUBμ λ£¨νΈ λλ°μ΄μ€λ₯Ό λΆν κ°λ₯ν νν°μ μΌλ‘ μ§μ
- root (device_name): μ§μ ν μ₯μΉλ₯Ό λΆνΈ νν°μ μΌλ‘ μ§μ
- rootnoverify (device_name): rootμ λΉμ·νλ νν°μ μ λ§μ΄νΈ νμ§ μμ. μ£Όλ‘ grub μμ μ§μνμ§ μλ νμΌ μμ€ν λΆν μ μ¬μ©.
- Setup (device_name): μ§μ μ₯μΉλ‘ grub μλ μ€μΉ
GRUB λΆνΈ λμ€ν¬λ₯Ό μ΄μ©ν OSλ³ λΆν μμ
- μλμ°λ‘ λΆν
rootnoverify (hd0, 0) makeactive chainloader+l boot
- 리λ
μ€λ‘ λΆν
root (hd0, 1) kernal /boot/vmlinuz-version ro root=/dev/hda2 boot
linux μ€νλ 벨(runlevel)
cat /etc/inittab
systemctl get-default
- halt
- Single user mode
- multiusr, without nfs(no network)
- full multiuser mode *
- unused
- X11(graphic user) *
- reboot
grubμ ide νλλμ€ν¬λ₯Ό μ₯μ°©ν μμλλ‘ μΈμνλ€.
9κ°. 리λ μ€ μμ€ν μ’ λ£λ₯Ό μν λͺ λ Ήμ΄
-
κΈ°λ³Έ λͺ λ Ήμ΄ - λλ ν 리 κ΄λ ¨λͺ λ Ή: 리λ μ€ μμ€ν μ’ λ£ λ° μ¬μλμ μν λͺ λ Ήλ¨Έ λ° λλ ν 리 μ‘°μμ μν λͺ λ Ή νμ΅
- μμ€ν
μ’
λ£μ μ¬λΆν
-
- shutdown (opt)(time)(msg): μμ€ν μ μ’ λ£νκ±°λ μ¬λΆν ν λ μ¬μ©
- μ΅μ -r: μμ€ν μ¬λΆν -f: λ€μ λΆν μ νμΌ μμ€ν κ²μ¬λ₯Ό νμ§ μμ. -h: μ §λ€μ΄ μ halt μμ μ€ν -c: μμ½λμ΄ μλ shutdown μμ μ·¨μ -t n: κ²½κ³ λ©μμ§ λ³΄λΈ ν nμ΄ νμ kill μκ·Έλ μ μ‘ shutdown -r now
-
- halt (opt): μμ€ν μ μ’ λ£ν λ μ¬μ©
- μ΅μ -f: κ°μ μ’ λ£ -d: /var/log/wtmp νμΌμ κΈ°λ‘μ λ¨κΈ°μ§ μμ.
-
- reboot: μ¬λΆν reboot λͺ λ Ήμ΄μ μν κ³Όμ
- νμΌ μμ€ν μ μΈλ§μ΄νΈν¨
- μμ€ν μ shutdownν¨
- μμ€ν
μ€ν μμ€(run level)μ 3μΌλ‘ λ³κ²½μν΄.(multiusr, without nfs(no network))
-
- init (n): μ’ λ£/μ¬λΆν λ°λ 벨λ²νΈ
-
-
- λλ ν 리(directory)
-
- /(root) λλ ν 리: μμ€ν κ·Όκ°μ΄ λλ κ°μ₯ μ€μν λλ ν λ¦¬λ‘ λ°λμ μ‘΄μ¬ν΄μΌ ν¨. λͺ¨λ νν°μ , λλ ν 리λ λ£¨νΈ λλ ν 리 μλμ μμΉ.
-
-
- /μ μ£Όμ μλΈ λλ ν 리 /bin (binary μ€ννμΌ μ μ₯): 리λ μ€ κΈ°λ³Έ λͺ λ Ήμ΄κ° μ μ₯λμ΄ μλ κ³΅κ° /dev (device): 리λ μ€ μμ€ν μ λͺ¨λ μ₯μΉλ€μ΄ νμΌλ‘ νμλμ΄ μμ. μ£Όμ λλ°μ΄μ€ νμ ex /dev/nda: Master IDE νλλμ€ν¬ /dev/ndb: Slave IDE νλλμ€ν¬ /dev/sda: 첫 λ²μ§Έ SCSI νΉμ S-ATA νλλμ€ν¬ /dev/cdrom: cdrom λλΌμ΄λΈ /dev/tty0: 첫 λ²μ§Έ κ°μ μ½μ /boot (컀λ λΆνΈ μ΄λ―Έμ§ νν°μ ): μμ€ν μ΄ λΆν λ λ λΆν κ°λ₯ν 컀λ μ΄λ―Έμ§ νμΌμ λ΄κ³ μλ λλ ν 리 /home (μ¬μ©μ κ³μ νν°μ ): μ¬μ©μ κ³μ μ΄ μμΉνλ νν°μ μΌλ‘, μ΅λͺ ftp μλΉμ€λ₯Ό ν λ νΉμ μΉ νΈμ€ν μλΉμ€λ₯Ό νκ³ μ νλ κ²½μ°μλ νν°μ μ©λμ ν¬κ² μ€μ /etc: μμ€ν νκ²½μ€μ νμΌ λ° λΆν κ΄λ ¨ μ€ν¬λ¦½νΈ, μ¬μ©μ κ³μ μ λ³΄κ° μ μ₯. μ¬μ©μ κ³μ μΆκ°ν λλ μ¬μ©. /lib (library): μμ€ν μ΄μμ νμν 곡μ λΌμ΄λΈλ¬λ¦¬ μ΄λ―Έμ§μ νλ‘κ·Έλ¨ κ³΅μ μ½λ λΆλΆμ μ μ₯. /usr (user, λλΆλΆμ νλ‘κ·Έλ¨μ΄ μ€μΉλ νν°μ ): 리λ μ€ λλ ν 리 μ€ κ°μ₯ λ§μ μ©λμ μ°¨μ§νλ κ³³μΌλ‘ μ¬μ©μμ λν λλΆλΆ νλ‘κ·Έλ¨ μ€μΉ(μμ© νλ‘κ·Έλ¨). /usr/local: μλ‘μ΄ νλ‘κ·Έλ¨μ΄ μ€μΉλλ κ³³ /usr/src: νλ‘κ·Έλ¨μ μμ€κ° μ μ₯ /usr/include: c/c++ νλ‘κ·Έλ¨μ ν€λ νμΌμ΄ λ€μ΄μλ κ³³ /sbin (system binary): μμ€ν κ΄λ¦¬μ© νλ‘κ·Έλ¨ μ μ₯
-
- etc λλ ν 리μ ꡬ쑰 /etc/fstab: νμΌ μμ€ν κ΄λ¦¬ /etc/group: μ μ κ·Έλ£Ή κ΄λ¦¬ /etc/inittab: init νλ‘μΈμ€ κ΄λ¦¬ /etc/passwd: μ μ κ΄λ¦¬ μ¬μ©μ κ³μ λͺ : ν¨μ€μλ: μ¬μ©μ κ³μ uid: μ¬μ©μ κ³μ group id:μ¬μ©μ μ 보: μ¬μ©μ κ³μ ν λλ ν 리: μ¬μ©μ κ³μ λ‘κ·ΈμΈ μ
cat etc/shadow ν¨μ€μλκ° μνΈνλμ μ μ₯
-
- proc λλ ν 리μ ꡬ쑰 /proc/cpuinfo: cpuμ μ 보 /proc/devices: νμ¬ μ»€λμ μ€μ λμ΄ μλ μ₯μΉμ λͺ©λ‘ νμ /proc/filesystems: νμ¬ μ»€λμ μ€μ λμ΄ μλ νμΌ μμ€ν λͺ©λ‘ νμ /proc/interrups: νμ¬ μ¬μ© μ€μΈ μΈν°λ½νΈμ λν μ 보 νμ /proc/loadavg: μμ€ν μ νκ· λΆνλ νμ /proc/meminfo: λ©λͺ¨λ¦¬ μ 보 νμ /proc/stat: μμ€ν μν νμ
-
- usr λλ ν 리μ ꡬ쑰 /usr/bin: μμ© νλ‘κ·Έλ¨μ μ€ν νμΌμ΄ μ‘΄μ¬ /usr/include: cμΈμ΄μ ν€λνμΌ μ‘΄μ¬ /usr/lib: μ€ν νμΌλ€μ μν λΌμ΄λΈλ¬λ¦¬ μ μ₯ /usr/local: μΌλ°μ νλ‘κ·Έλ¨ μ€μΉ /usr/src: rpm, μμ€ νμΌλ€μ μ μ₯ν΄ μ¬μ©