: 사용자가 컴퓨터 시스템을 켤 때 운영체제를 시작하는 부트스트래핑 프로세스
: 컴퓨터를 처음 켰을 때 운영되는 소프트웨어 코드
일반적으로 리눅스는 기본 부투로더가 포함되어있는 마스터 부트 레코드에서 부팅된다.
LILO (_LI_nux _LO_ader)
: 특정 파일 시스템에 의존하지 않으며, 하드디스크 및 플로피에서 부트 가능,
커널 이미지 파일 또는 구상파일이 변경되면 LILO를 변경해야한다. (etc/lilo.conf)
커널 매개변수는 loli.conf에 지정할 수 있다.
"root=device" -> 파일시스템을 루트로 마운트 하도록 설정
"ro", "rw" -> 루트 ㅏㅍ일 시스템을 읽기전용, 읽기쓰기로 마운트
"nfsroot=server" -> 네트워크 파일 시스템을 루트로 사용
"init=program" -> 커널이 실행할 첫번째 프로그램의 이름
LILO의 에러
GRUB(_GR_and _U_nified _B_ootloader)
운영체제 독립 부팅
GNU의 멀티부팅 소프트웨어 패킷, 유연한 커맨드라인 인터페이스, 파일시스템 액세스, 다중 실행 가능 형식 지원, 디스크 없는 시스템 지원
-GRUB 수정 방식
1) "/etc/deffault/grub"(커스터마이징) -> 수정
2) "/etc/grub.d/(메뉴 및 OS 부팅용 스크립트) -> 수정(40_custom 스크립트 파일)
3) "update-grub" 명령어 수행
* "/boot/grub/grub.cfg"(부팅 시 사용) 을 직접 수정해서는 안된다.
: 커널은 OS의 중심부분이다.
커널이 가장 먼저 하는 일은 "init" 프로그램을 실행하는 것이다.
init은 리눅스 내 모든 프로세스의 조상이다.
init 프로세스는 리눅스 시스템을 Runlevel에 따라 특정 시스템 상태로 부팅한다.
Runlevel : 일반적으로 0~6번까지 번호가 매겨진 7개의 런레벨이 있다.
-필수 런레벨 : 0 = 정지, 6=재부팅, 1=싱글 유저
(나머지 2~5 런레벨은 사용자 정의)
0 : "정지", 종료에 사용됨
1 : 루트 사용자만 로그인 할 수 있는 단일 사용자(복구모드)
2 : 우분투의 기본 런레벨
3~5 : 우분투에서 사용되지 않음
6 : 시스템 재부팅
n 런레벨에 관련된 모든 초기 서비스는 "/etc/rcn.d"에 저장
"runlevel" : 현재의 런레벨 확인
"telinit" : 시스템 런레벨 변경
: 다중 사용자 컴퓨터 운영체제가 단일 슈퍼유저로 부팅되는 모드
ex) 네트워크 서버 환경의 유지보수 등
보안 목적으로도 사용 가능,
사용자나 루트의 암호를 잊어버렸을 경우, 리셋하는 방법
1) 단일 사용자로 bash를 시작하고 시스템 부팅
2) GRUB2 사용 및 단일 사용자 모드의 부팅 옵션을 편집
옵션 선택 후 "e"를 누르고, "rw init=/bin/bash"로 부팅이미지 설명을 바꾼 후 ctrl+x를 누른다.
종료 및 다시시작
시스템을 안전하게 종료하기 위해서는 루트로 "halt"명령을 수행한다.
시스템을 안전하게 재부팅 하려면 루트로 "reboot" 명령을 수행한다.
다른 재부팅 및 종료 방법
reboot 및 shutdown을 이용한다.
옵션
"-r" : 종료 후 재부팅
"-h" : 종료 후 중지 또는 전원 끄기
"now" : 지금 바로 수행
종료 예약 ex) shutdown -h 18:00 ->오후 6:00에 중지
shutdown -r +30 -> 30분 후에 종료 후 재부팅