컴퓨터를 켜면 정확히 어떤 일이 발생합니까?

컴퓨터의 전원을 켜면 “부트업” 과정을 거칩니다. 이는 “부트스트랩”이라는 단어에서 파생된 용어입니다. Windows PC, Mac 또는 Linux 시스템을 사용 중인지 여부에 관계없이 백그라운드에서 발생하는 작업은 다음과 같습니다.

하드웨어 전원이 켜짐

전원 버튼을 누르면 컴퓨터는 마더보드, CPU, 하드 디스크, 솔리드 스테이트 드라이브, 그래픽 프로세서 및 컴퓨터의 기타 모든 구성 요소에 전원을 공급합니다.

전원을 공급하는 하드웨어를 “전원 공급 장치”라고 합니다. 일반적인 데스크탑 PC의 경우 케이스 모서리에 있는 상자 모양(위 사진의 노란색 부분)으로 AC 전원 코드를 연결하는 곳입니다.

CPU가 UEFI 또는 BIOS를 로드합니다.

이제 전력이 공급되었으므로 CPU는 자체적으로 초기화하고 일반적으로 마더보드의 칩에 저장된 작은 프로그램을 찾습니다.

과거 PC는 BIOS(Basic Input/Output System)라는 것을 로드했습니다. 최신 PC에서는 CPU가 대신 UEFI(Unified Extensible Firmware Interface) 펌웨어를 로드합니다. 이것은 구식 BIOS를 현대적으로 대체합니다. 그러나 더 혼란스럽게 만들기 위해 일부 PC 제조업체는 여전히 UEFI 소프트웨어를 “BIOS”라고 부릅니다.

UEFI 또는 BIOS가 하드웨어를 테스트하고 초기화합니다.

BIOS 또는 UEFI 펌웨어는 마더보드의 특정 위치에서 구성 설정을 로드합니다. 일반적으로 이것은 CMOS 배터리로 백업되는 메모리에 있었습니다. BIOS 또는 UEFI 설정 화면에서 일부 하위 수준 설정을 변경하면 여기에 사용자 지정 설정이 저장됩니다.

CPU는 CPU 자체를 포함하여 시스템 하드웨어를 테스트하고 초기화하는 UEFI 또는 BIOS를 실행합니다. 예를 들어 컴퓨터에 RAM이 없으면 경고음이 울리고 오류가 표시되어 부팅 프로세스가 중지됩니다. 이를 POST(Power On Self Test) 프로세스라고 합니다.

이 과정에서 PC 제조업체 로고가 화면에 표시되는 것을 볼 수 있으며, 종종 버튼을 눌러 여기에서 BIOS 또는 UEFI 설정 화면에 액세스할 수 있습니다. 그러나 많은 최신 PC는 이 프로세스를 너무 빨리 통과하여 로고를 표시하지 않고 Windows 부팅 옵션 메뉴에서 UEFI 설정 화면에 액세스해야 합니다.

  Ubuntu: 커널 버전 확인 [Guide]

UEFI는 하드웨어를 초기화하는 것 이상을 수행할 수 있습니다. 정말 작은 운영 체제입니다. 예를 들어 Intel CPU에는 Intel 관리 엔진이 있습니다. 이것은 비즈니스 PC의 원격 관리를 가능하게 하는 인텔의 액티브 관리 기술을 포함하여 다양한 기능을 제공합니다.

UEFI 또는 BIOS가 부팅 장치로 전달

하드웨어 테스트 및 초기화가 완료되면 UEFI 또는 BIOS가 PC 부팅에 대한 책임을 운영 체제의 부트 로더로 넘깁니다.

UEFI 또는 BIOS는 운영 체제를 부팅할 “부팅 장치”를 찾습니다. 이것은 일반적으로 컴퓨터의 하드 디스크 또는 솔리드 스테이트 드라이브이지만 CD, DVD, USB 드라이브 또는 네트워크 위치일 수도 있습니다. 부팅 장치는 UEFI 또는 BIOS 설정 화면에서 구성할 수 있습니다. 여러 부팅 장치가 있는 경우 UEFI 또는 BIOS는 나열된 순서대로 시작 프로세스를 장치에 전달하려고 시도합니다. 예를 들어, 광학 드라이브에 부팅 가능한 DVD가 있는 경우 시스템은 하드 드라이브에서 시작하기 전에 DVD부터 시작하려고 할 수 있습니다.

전통적으로 BIOS는 디스크 시작 부분에 있는 특수 부트 섹터인 MBR(마스터 부트 레코드)을 살펴보았습니다. MBR에는 “부트로더”라고 하는 나머지 운영 체제를 로드하는 코드가 포함되어 있습니다. BIOS는 부트로더를 실행하며, 부트로더는 부트로더에서 가져와 실제 운영 체제(예: Windows 또는 Linux) 부팅을 시작합니다.

UEFI가 있는 컴퓨터는 여전히 이 구식 MBR 부팅 방법을 사용하여 운영 체제를 부팅할 수 있지만 일반적으로 대신 EFI 실행 파일이라는 것을 사용합니다. 디스크 시작 부분에 저장할 필요는 없습니다. 대신 “EFI 시스템 파티션”이라는 곳에 저장됩니다.

어느 쪽이든 원칙은 동일합니다. BIOS 또는 UEFI는 시스템의 저장 장치를 검사하여 MBR 또는 EFI 시스템 파티션에서 작은 프로그램을 찾고 실행합니다. 부팅 가능한 부팅 장치가 없으면 부팅 프로세스가 실패하고 디스플레이에 오류 메시지가 표시됩니다.

최신 PC에서 UEFI 펌웨어는 일반적으로 “보안 부팅”으로 구성됩니다. 이렇게 하면 시작하는 운영 체제가 변경되지 않았으며 낮은 수준의 맬웨어가 로드되지 않습니다. 보안 부팅이 활성화된 경우 UEFI는 부트로더를 시작하기 전에 부트로더가 제대로 서명되었는지 확인합니다.

  인터넷이 만우절을 죽인 방법(그리고 중단해야 하는 이유)

부트로더는 전체 OS를 로드합니다.

부트로더는 나머지 운영 체제를 부팅하는 큰 작업을 수행하는 작은 프로그램입니다. Windows는 Windows Boot Manager(Bootmgr.exe)라는 부트로더를 사용하고 대부분의 Linux 시스템은 GRUB를 사용하며 Mac은 boot.efi라는 것을 사용합니다.

부트로더에 문제가 있는 경우(예: 디스크에서 파일이 손상된 경우) 부트로더 오류 메시지가 표시되고 부팅 프로세스가 중지됩니다.

부트로더는 하나의 작은 프로그램일 뿐이며 자체적으로 부트 프로세스를 처리하지 않습니다. Windows에서 Windows 부팅 관리자는 Windows OS 로더. OS 로더는 Windows 운영 체제의 핵심 부분인 커널을 실행하는 데 필요한 필수 하드웨어 드라이버를 로드한 다음 커널을 실행합니다. 그런 다음 커널은 시스템 레지스트리를 메모리에 로드하고 “BOOT_START”로 표시된 추가 하드웨어 드라이버도 로드합니다. 이는 부팅 시 로드되어야 함을 의미합니다. 그런 다음 Windows 커널은 시스템 세션을 시작하고 추가 드라이버를 로드하는 세션 관리자 프로세스(Smss.exe)를 시작합니다. 이 프로세스는 계속되고 Windows는 로그인할 수 있는 시작 화면과 백그라운드 서비스를 로드합니다.

Linux에서 GRUB 부트 로더는 Linux 커널을 로드합니다. 커널은 또한 대부분의 최신 Linux 배포판에서 시스템화된 init 시스템을 시작합니다. init 시스템은 로그인 프롬프트로 이어지는 서비스 및 기타 사용자 프로세스 시작을 처리합니다.

이 관련된 프로세스는 올바른 순서로 작업을 수행하여 모든 것이 올바르게 로드되도록 하는 방법일 뿐입니다.

그건 그렇고, 소위 “시작 프로그램”은 실제로 시스템이 부팅될 때가 아니라 사용자 계정에 로그인할 때 로드됩니다. 그러나 일부 백그라운드 서비스(Windows) 또는 데몬(Linux 및 macOS)은 시스템이 부팅될 때 백그라운드에서 시작됩니다.

종료 프로세스도 꽤 관련되어 있습니다. 다음은 Windows PC를 종료하거나 로그아웃할 때 일어나는 일입니다.

이미지 크레디트: 수완 웬로르/Shutterstock.com, DR 이미지/Shutterstock.com,