오픈 소스 운영 체제인 Linux의 다양한 단계에 대해 궁금한 적이 있습니까? 전체 부팅 프로세스를 알면 특히 관리자인 경우 문제를 해결하는 데 도움이 될 수 있습니다.
장치의 전원을 켜면 뒤에서 어떤 일이 발생합니까? 계속 읽으십시오.
BIOS
BIOS(Basic Input/Output System)는 컴퓨터 마더보드의 작은 메모리 칩에 저장된 저수준 펌웨어입니다. 이 펌웨어는 시작 프로세스를 지원하고 컴퓨터와 마우스, 프린터 및 비디오 어댑터와 같은 기타 연결된 장치 간의 데이터 흐름을 관리합니다.
위에 표시된 BIOS의 주요 기능은 POST(Power-On Self Test)를 실행하는 것입니다. 이 테스트는 시스템 하드웨어의 작동 가능성을 확인하고 나머지 프로세스에 필요한 소프트웨어가 포함된 부트 섹터를 찾습니다. POST가 성공하면 BIOS는 다음 단계인 Stage One Boot Loader를 시스템의 RAM으로 로드합니다.
POST가 성공하지 못하면 BIOS에서 문제 해결에 사용할 수 있는 코드를 반환합니다.
1단계 부트 로더
MBR(Master Boot Record) 또는 GPT(Guided Partition Table)라고 하는 부트 로더의 첫 번째 단계는 프로그램을 온라인으로 전환하도록 설계되었습니다.
MBR은 파일 시스템에 대한 기본 제공 이해가 없는 단순한 소프트웨어입니다. 결과적으로 MBR과 하드 드라이브의 첫 번째 파티션 사이에 2단계 부트 로더를 항상 저장해야 합니다.
MBR이 2단계 부트 로더를 감지하면 제어권을 넘겨줍니다.
2단계 부트 로더
2단계 부트로더의 역할은 커널을 찾아 메모리에 로드하는 것입니다.
대부분의 Linux 부서는 GRUB, GRUB2 또는 LIL의 세 가지 부트 로더 중 하나를 사용합니다. 최신 버전이므로 아래에 설명된 GRUB2를 볼 가능성이 큽니다.
부트 로더가 커널을 찾아 RAM에 로드하면 제어권이 넘어갑니다. 또한 커널이 모듈을 찾는 데 사용할 수 있는 장치의 파일 시스템 이미지를 보냅니다.
커널
모든 커널은 하드 드라이브 공간을 절약하기 위해 압축된 형식으로 존재하기 때문에 일단 제어가 주어지면 가장 먼저 할 일은 자체 추출입니다. 그런 다음 부트 로더에서 받은 파일 시스템의 이미지 버전을 마운트합니다.
커널은 시스템의 하드웨어를 감지하고 이미지를 디스크의 루트 파일로 교체합니다.
초기화(시스템)
다음으로 커널은 부팅 프로세스에 필요한 모든 프로세스를 생성하는 첫 번째 프로세스인 초기화(init) 시스템을 시작합니다. 대부분의 시스템에서 이것은 시스템화됩니다.
Systemd의 주요 기능은 시스템을 실행하는 데 필요한 모든 데몬(백그라운드 프로세스 및 서비스)을 시작하는 것입니다. 이러한 서비스는 초기화 후에도 계속 실행되며 다양한 시스템 메시지 로깅, 장치 추적, 파일 시스템이 시스템 메모리와 동기화되도록 하는 것과 같은 필수 시스템 프로세스를 관리합니다.
systemd가 어떤 서비스를 실행하고 있는지 궁금하다면 systemctl
명령 자체는 전체 목록을 반환합니다.
systemctl 명령어와 시작하려는 서비스의 조합을 사용하여 부팅 시 systemd를 사용하여 다른 서비스를 시작할 수도 있습니다. 예를 들어 시스템에서 NFS 상태를 확인하도록 하려면 systemctl status nfs-server.service
를 입력합니다. . start
할 수도 있습니다. , stop
, enable
또는 disable
systemctl과 이러한 명령 중 하나를 조합한 서비스입니다.
런레벨
실행 수준은 INIT 상태이며 시스템은 실행 중인 서비스를 정의합니다. 표준 Linux 커널은 7가지 실행 수준을 지원합니다.
- 0: 시스템 정지, 전원을 끌 준비가 되었습니다.
- 1 :단일 사용자 모드
- 2: 다중 사용자 모드, 네트워크 파일 시스템 없음
- 3: 그래픽 사용자 인터페이스 대신 명령 라이프 인터페이스를 사용하는 다중 사용자 모드
- 4: 사용자 정의
- 5: 대부분의 Linux 시스템이 기본적으로 부팅되는 그래픽 사용자 인터페이스를 사용하는 다중 사용자 모드
- 6: 재부팅
어떤 이유로든 런레벨을 변경해야 하는 경우 INIT는 telinit
를 사용하여 런레벨을 변경할 책임이 있습니다. 위에 표시된 명령.
부팅 프로세스 분석
이 분석은 Linux 부팅 프로세스에 대한 개요일 뿐이며 세부 사항 중 일부는 생략합니다. 그러나 직면할 수 있는 문제를 해결하는 데 필요한 정보를 제공해야 합니다.