Journey to Security/Windows OS

PC를 껐다 켜는 것과 재부팅하는 것은 뭐가 다를까: Windows Fast Startup과 커널 초기화

Cordilog 2026. 8. 17. 14:09

PC를 사용하다가 문제가 생겼을 때 가장 빠른 해결책으로 "그냥 껐다 켜"라고 많이 얘기한다. 그런데 사실은 "껐다가 다시 켜는" 것만으로는 문제가 해결이 되지 않을 가능성이 있다. "종료 후 시작"과 "재부팅" 두 동작은 표면적으로 동일하게 전원이 꺼졌다 켜지는 것처럼 보이지만 현대 운영체제에서 이 둘은 커널 상태 처리와 프로세스 초기화 측면에서 명확히 다르게 동작한다. 이번 글에서는 Windows의 Fast Startup을 중심으로, 종료(Shutdown)와 재시작(Restart)이 시스템 및 프로세스 오류 해소 관점에서 어떤 차이를 만드는지 알아보자.

1. 종료와 재부팅의 기본 개념

1️⃣ 두 동작의 정의

전원 관리 관점에서 두 동작은 다음과 같이 구분된다.

  • 종료(Shutdown) 후 시작: 시스템 전원을 완전히 내린 뒤, 사용자가 물리적으로 전원 버튼을 눌러 새로운 부팅 시퀀스를 시작하는 두 단계 동작이다.
  • 재시작(Restart / Reboot): 종료 과정과 다시 부팅하는 과정을 하나의 연속된 동작으로 수행한다. 전원이 완전히 차단되지 않고 즉시 재초기화로 이어진다.

과거 운영체제에서는 이 둘의 실질적 차이가 거의 없었다. 종료는 모든 것을 정지시키고 전원을 내렸으며, 시작은 전원 투입 후 처음부터 부팅했기 때문이다. 그러나 Windows 8 이후 도입된 Fast Startup(빠른 시작) 기능이 이 관계를 근본적으로 바꿨다.

2️⃣ 두 동작의 핵심 차이

핵심은 "종료 시 커널과 시스템 세션이 어떻게 처리되는가"에 있다. Fast Startup이 활성화된 환경에서 종료는 완전한 초기화가 아니며, 오히려 재부팅이 더 철저한 초기화를 수행한다. 이 역설적 관계가 문제 해결 시 재부팅이 권장되는 근본 이유다.

2. Windows Fast Startup의 동작 원리

1️⃣ 하이브리드 종료(Hybrid Shutdown)

Fast Startup은 완전 종료(S5)최대 절전 모드(Hibernate, S4)를 결합한 하이브리드 방식으로 동작한다. 일반적인 종료 절차는 다음 두 계층으로 구성된다.

  • 사용자 세션(User Session): 로그인한 사용자의 모든 프로세스와 애플리케이션이 종료되는 계층이다.
  • 커널 세션(Kernel Session): 커널, 로드된 드라이버, 시스템 상태가 유지되는 계층이다.

🔵 일반 종료(레거시)에서의 처리

두 세션을 모두 종료하고 메모리를 완전히 비운 뒤 전원을 내린다. 다음 부팅 시 커널부터 처음 로드한다.

🔵 Fast Startup 종료에서의 처리

사용자 세션은 정상적으로 종료하지만, 커널 세션은 종료하지 않고 그 상태를 hiberfil.sys 파일에 저장한 뒤 전원을 내린다. 다음 시작 시 커널을 처음부터 로드하지 않고 저장된 이미지를 메모리로 복원하여 부팅 시간을 단축한다.

2️⃣ 종료와 시작의 실제 상태 흐름

Fast Startup 환경에서 "종료 후 시작"이 처리하는 상태는 다음과 같다.

주목할 점은 커널 세션이 이전 상태를 그대로 이어받는다는 것이다. 커널 메모리 누수, 손상된 드라이버 상태, 비정상 시스템 리소스가 종료 후 시작으로는 해소되지 않고 그대로 복원된다.

3️⃣ 재부팅에서의 상태 흐름

반면 재시작은 Fast Startup의 적용을 받지 않는다. 커널 세션을 저장하지 않고 완전히 파기한 뒤 부팅 시퀀스를 처음부터 다시 수행한다. 결과적으로 커널, 드라이버, 시스템 상태가 전부 새로 초기화된다.

4️⃣ 두 동작의 커널 상태 처리 비교

종료 후 시작과 재시작이 커널 상태를 어떻게 다르게 처리하는지 시퀀스로 비교하면 다음과 같다. 위쪽은 커널 세션을 hiberfil.sys에 저장했다가 복원하는 흐름이고, 아래쪽은 커널을 파기하고 전체를 다시 로드하는 흐름이다.

두 흐름의 결정적 차이는 커널 세션 라인에 있다. 위쪽은 이전 커널 상태를 그대로 복원하지만, 아래쪽은 커널 전체를 파기하고 처음부터 다시 로드한다.

3. 시스템 및 프로세스 오류 관점의 차이

1️⃣ 커널 및 드라이버 상태 오류

드라이버 로드 실패, 커널 모드 리소스 누수, 시스템 핸들 고갈 같은 문제는 커널 세션에 누적된다.

  • 종료 후 시작: 커널 세션이 복원되므로 이러한 상태가 그대로 이어진다. 문제가 해소되지 않는다.
  • 재시작: 커널이 완전히 재초기화되므로 누적된 상태가 제거된다. 문제가 해소된다.

이것이 Windows Update 적용 후 재부팅이 요구되는 이유이기도 하다. 커널 및 시스템 파일 교체는 커널 세션의 완전한 재구성을 전제로 하며, Fast Startup 종료로는 이를 보장할 수 없다.

2️⃣ 사용자 프로세스 오류

메모리 누수가 발생한 애플리케이션, 좀비 프로세스, 잠금이 걸린 파일 핸들 등 사용자 공간의 오류는 사정이 다르다.

  • 사용자 세션은 종료와 재시작 모두에서 완전히 종료된다.
  • 따라서 순수하게 사용자 프로세스 수준의 문제라면 종료 후 시작만으로도 해소된다.

즉, 종료 후 시작으로 해결되지 않고 재부팅으로만 해결되는 문제는 대부분 커널·드라이버·시스템 서비스 계층에 원인이 있다.

3️⃣ 정리 - 비교표

구분 종료 후 시작 (Fast Startup) 재시작(재부팅)
사용자 세션 완전 종료 후 새로 생성 완전 종료 후 새로 생성
커널 세션 저장 후 복원 (상태 유지) 파기 후 전체 재로드
사용자 프로세스 오류 해소됨 해소됨
커널/드라이버 오류 해소되지 않음 해소됨
시스템 업데이트 적용 불완전할 수 있음 완전 적용
부팅 속도 빠름 상대적으로 느림

4. 운영체제별 차이

1️⃣ Windows

앞서 설명한 Fast Startup이 기본 활성화되어 있어 종료와 재시작의 차이가 가장 크게 나타난다. 제어판 > 전원 옵션 > 전원 단추 작동 설정에서 "빠른 시작 켜기"를 해제하면 종료가 레거시 방식으로 동작하여 재시작과 동등한 초기화를 수행한다. 또는 명령으로 완전 종료를 강제할 수 있다.

shutdown /s /f /t 0

 

hibernate를 비활성화한 상태에서는 종료가 커널 세션을 저장하지 않고 완전 종료로 동작한다.

powercfg /h off

2️⃣ Linux

Linux는 기본적으로 하이브리드 종료 개념이 없다. poweroff와 reboot 모두 커널을 완전히 종료하며, 커널 상태를 파일로 저장해 복원하는 방식을 기본값으로 사용하지 않는다.

# 완전 종료
systemctl poweroff

# 재부팅 (커널 재초기화)
systemctl reboot

따라서 Linux에서는 종료 후 시작과 재부팅의 시스템 초기화 결과가 실질적으로 동일하다. 다만 kexec를 이용하면 펌웨어·부트로더 단계를 건너뛰고 새 커널로 직접 전환하는데, 이는 별개의 메커니즘이다.

3️⃣ macOS

macOS 역시 종료와 재시작이 커널을 완전히 초기화한다. 별도의 안전 부팅(Safe Boot) 모드가 있어, 커널 확장(kext) 검증과 캐시 재구성이 필요한 경우 이를 활용한다. 일반적인 종료·재시작 간 커널 상태 처리 차이는 Windows만큼 크지 않다.

5. 정리

Fast Startup이 활성화된 Windows 환경에서 종료 후 시작은 사용자 세션만 초기화하고 커널 세션은 유지하는 반면, 재시작은 커널을 포함한 전체 시스템을 처음부터 재초기화한다. 이 차이 때문에 커널·드라이버·시스템 서비스 계층의 오류는 종료 후 시작으로 해소되지 않고 재부팅으로만 해결된다. 반대로 순수한 사용자 애플리케이션 수준의 문제는 두 동작 모두로 해결된다. Linux와 macOS는 하이브리드 종료를 기본으로 사용하지 않으므로 두 동작의 초기화 결과 차이가 크지 않다.