이 문서는 Windows에서 PC의 시작(부팅) 및 종료 기록을 확인하는 세 가지 대표적인 방법을 단계별로 설명합니다. 시스템 관리자이거나 가족·공유 사용자들이 언제 컴퓨터를 사용했는지 확인해야 하는 경우 유용합니다. 또한 각 방법의 장단점, 대체 방법, 점검 체크리스트, 테스트 기준과 간단한 명령어 스니펫을 함께 제공합니다.
목차
- TL;DR (요약)
- 이벤트 뷰어로 확인하기
- 명령 프롬프트로 확인하기 (wevtutil)
- 타사 도구 사용하기 (TurnedOnTimesView)
- 빠른 체크리스트(관리자용)
- 대안 및 고급 방법 (PowerShell 예시)
- 실패 사례와 해결책
- 테스트 케이스 및 수락 기준
- 1줄 용어집
- 개인정보/보안 고려사항
- 요약
이벤트 뷰어로 확인하기
Windows 이벤트 뷰어(Event Viewer)는 시스템 운영 관련 로그(오류, 경고, 정보 등)를 보여주는 관리용 도구입니다. 각 애플리케이션이나 시스템 서비스는 시작·종료·오류 발생 시 이벤트 로그를 남깁니다. 시작/종료 관련으로 자주 확인하는 이벤트 ID는 다음과 같습니다.
- 이벤트 ID 41 — 시스템이 정상 종료되지 않고 재부팅될 때 기록됩니다(전원 강제 종료 등).
- 이벤트 ID 1074 — 시작 메뉴의 종료 명령이나 애플리케이션이 시스템을 재시작/종료할 때 기록됩니다.
- 이벤트 ID 6005 — 이벤트 로그 서비스가 시작될 때(시스템 부팅) 기록되며 ‘시스템 시작’을 의미합니다.
- 이벤트 ID 6006 — 정상적인 시스템 종료 시 기록됩니다.
- 이벤트 ID 6008 — 예기치 않은 종료가 발생했을 때 기록됩니다(충돌, 전원 차단 등).
다음은 이벤트 뷰어에서 해당 로그를 조회하는 단계입니다.
- Win + R을 눌러 실행 창을 엽니다.
- 실행 상자에 eventvwr 를 입력하고 Enter를 눌러 이벤트 뷰어를 실행합니다.
- 왼쪽 패널에서 Windows 로그 > 시스템을 선택합니다.
- 오른쪽(또는 왼쪽 패널의 작업 영역)에서 ‘현재 로그 필터링’(Filter current log)을 선택합니다.
- 포함/제외 이벤트 ID란(Include/Exclude Event IDs)에 조회할 이벤트 ID를 쉼표로 구분해 입력합니다. 예: 6005,6006
- 확인을 누르면 필터링된 결과에 부팅 및 정상 종료 이벤트만 표시됩니다.
중요: 이벤트 뷰어는 가장 포괄적인 방법 중 하나지만 로그가 오래되었거나 수동으로 정리된 경우 일부 항목이 없을 수 있습니다. 또한 읽기 권한이 필요합니다(관리자 권한 권장).
명령 프롬프트로 확인하기 (wevtutil)
이벤트 뷰어의 GUI 탐색이 번거롭다면 wevtutil 명령을 사용해 빠르게 조회할 수 있습니다. 명령 프롬프트에서 이벤트 로그를 쿼리해 텍스트로 출력하거나 파이프라인으로 추가 필터링할 수 있습니다.
- Win + R을 눌러 실행 창을 엽니다.
- 실행 상자에 cmd 를 입력한 뒤 Ctrl + Shift + Enter를 눌러 관리자 권한으로 명령 프롬프트를 실행합니다.
다음 예제는 이벤트 ID 6006(정상 종료)을 최근 항목 하나만 텍스트 형식으로 출력합니다:
wevtutil qe system "/q:*[System [(EventID=6006)]]" /rd:true /f:text /c:1
만약 출력에서 날짜와 시간만 빠르게 확인하고 싶다면 findstr(또는 find)를 사용해 ‘Date’ 문자열을 검색합니다:
wevtutil qe system "/q:*[System [(EventID=6006)]]" /rd:true /f:text /c:1 | findstr /i "date"
참고: wevtutil은 매우 강력하지만 출력 포맷이 길 수 있으므로 /f:xml 등을 사용해 XML로 받아 PowerShell이나 다른 도구로 파싱하는 것이 좋습니다.
타사 도구 사용하기 (TurnedOnTimesView)
GUI에서 간단하게 결과를 보고 싶다면 NirSoft의 TurnedOnTimesView 같은 경량 도구를 사용할 수 있습니다. 이 도구는 각 부팅과 종료의 시간, 유형(정상/강제 등)을 정리해서 표 형태로 보여주며, 로컬뿐 아니라 원격 컴퓨터의 기록도 가져올 수 있습니다.
- TurnedOnTimesView 다운로드 페이지를 방문해 프로그램을 다운로드합니다(페이지 내 다운로드 링크를 찾아야 할 수 있습니다).
- 다운로드한 파일을 압축 해제합니다.
- 실행 파일을 실행합니다(관리자 권한 권장).
- Options 탭에서 Advanced Options를 선택해 데이터 소스를 지정할 수 있습니다.
원격 컴퓨터를 선택하면 컴퓨터 이름을 입력해 원격의 부팅/종료 기록을 조회할 수 있습니다.
장점: 빠른 가시성, CSV/HTML로 내보내기 가능. 단점: 타사 도구이므로 사용 전에 조직 보안 정책과 신뢰성을 검토하세요.
빠른 관리자 체크리스트
- 관리자 권한으로 로그에 접근했는가?
- 필터에 올바른 이벤트 ID(6005,6006,6008,1074,41)를 사용했는가?
- 로그 보존 정책(자동 정리 등)으로 기록이 삭제되지 않았는가?
- 원격 로그를 확인해야 하는 경우 네트워크 권한/방화벽 설정을 검토했는가?
- 타사 도구를 사용할 때 실행 파일의 출처와 무결성을 확인했는가?
대안 및 고급 방법
- PowerShell Get-WinEvent 예시:
# 최근 50개 시스템 이벤트에서 부팅/종료 관련 필터
Get-WinEvent -FilterHashtable @{LogName='System'; Id=@(41,1074,6005,6006,6008)} -MaxEvents 50 | Select-Object TimeCreated, Id, LevelDisplayName, Message | Format-Table -AutoSize
PowerShell은 필터링과 포맷팅, 원격 컴퓨터 쿼리(WinRM)까지 지원하므로 스크립트로 자동화된 감사 보고서를 생성할 때 유용합니다.
- 원격 감사 팁: 원격 컴퓨터의 로그를 보려면 관리자 자격 증명과 원격 관리(WinRM, RPC) 허용이 필요합니다. 방화벽과 그룹 정책(GPO)을 확인하세요.
실패 사례와 해결책
- 로그에 항목이 없다: 이벤트 로그가 정리되었거나 제한된 보존 정책 때문일 수 있습니다. 이벤트 로그의 최대 크기 및 보존 정책을 확인하고 필요한 경우 로그를 백업하도록 정책을 변경하세요.
- 권한 오류: 로그 읽기 권한이 없는 계정으로 접근하면 결과가 표시되지 않습니다. 로컬 관리자 또는 적절한 권한을 가진 계정으로 재시도하세요.
- 잘못된 타임스탬프: BIOS/UEFI 시간이나 시스템 시간대(Time Zone)가 잘못 설정되면 기록된 시간이 실제와 다를 수 있습니다. 시간 동기화(NTP)를 확인하세요.
테스트 케이스 및 수락 기준
다음은 조직에서 자동화된 점검 스크립트나 수동 점검 시 사용할 수 있는 간단한 테스트 항목입니다.
케이스 1: 정상 종료 기록 확인
- 절차: 시스템에서 정상 종료를 수행한 뒤 이벤트 뷰어 또는 wevtutil로 이벤트 ID 6006이 최근에 기록되었는지 확인
- 수락 기준: 최근 5분 내에 6006 이벤트가 존재
케이스 2: 비정상 종료 기록 확인
- 절차: 전원 버튼으로 강제 종료한 뒤 이벤트 ID 6008 또는 41이 기록되었는지 확인
- 수락 기준: 관련 이벤트가 존재하고 메시지에 비정상 종료 원인(예: 전원 차단)이 포함
케이스 3: 원격 컴퓨터 검사
- 절차: 관리 계정으로 원격 컴퓨터의 시스템 로그에서 6005/6006 조회
- 수락 기준: 원격 접근이 가능하고 로그가 정상적으로 반환
1줄 용어집
- 이벤트 뷰어: Windows 로그(시스템/응용 프로그램/보안 등)를 GUI로 볼 수 있는 도구.
- wevtutil: Windows 이벤트 로그를 쿼리/관리하는 명령줄 도구.
- TurnedOnTimesView: 부팅/종료 기록을 테이블 형태로 보여주는 타사 유틸리티.
- 이벤트 ID: 이벤트 유형을 식별하는 고유 숫자(예: 6005 = 이벤트 로그 서비스 시작).
개인정보 및 보안 고려사항
- 로그에는 사용자 계정, 서비스 이름 등이 포함될 수 있습니다. 로그를 외부로 전달하거나 저장할 때는 내부 개인정보 보호 정책과 관련 법규(예: GDPR)를 준수하세요.
- 타사 도구를 사용할 경우 실행 파일의 출처를 확인하고, 가능한 경우 오프라인 검사(해시 비교, 바이러스스캔)를 수행하세요.
- 원격 로그 수집 시 전송 채널의 보안(WinRM 암호화, 방화벽 규칙)을 확인하세요.
요약
시스템의 시작 및 종료 기록은 이벤트 뷰어, wevtutil(또는 PowerShell), 그리고 TurnedOnTimesView 같은 타사 도구로 확인할 수 있습니다. 이벤트 ID(6005, 6006, 6008, 1074, 41)를 알고 있으면 원하는 항목을 빠르게 필터링해 감사와 트러블슈팅에 활용할 수 있습니다. 로그 보존 정책, 권한, 시간 동기화 같은 환경적 요소를 함께 점검하면 결과의 신뢰도를 높일 수 있습니다.
Important: 로그는 영구적으로 저장되지 않을 수 있으므로 감사가 중요한 환경에서는 로그 백업 및 중앙 집중식 수집(SIEM) 도입을 고려하세요.
끝으로, 아래는 자주 쓰이는 명령과 스크립트 요약입니다.
빠른 명령(치트시트)
- 이벤트 뷰어: eventvwr
- 관리자 명령 프롬프트: wevtutil qe system “/q:*[System [(EventID=6006)]]” /rd:true /f:text /c:1
- 날짜만 추출: wevtutil … | findstr /i “date”
- PowerShell(요약): Get-WinEvent -FilterHashtable @{LogName=’System’; Id=@(41,1074,6005,6006,6008)} -MaxEvents 50