Windows 11/10/8/7에서 작업 관리자를 수시로 확인하다 보면 가끔 VSSVC.exe 프로세스가 실행 중인 것을 발견할 수 있습니다. 마우스를 프로세스 위에 올리면 'Windows 볼륨 섀도 복사본 서비스'라고 표시됩니다. 이 서비스는 항상 실행되는 것이 아니라 특정 이벤트에 의해 트리거되어, 사용 중인 디스크 수에 따라 하나 또는 여러 세트로 전체 하드 디스크의 복사본을 생성합니다. 이 글에서는 Windows의 Microsoft 볼륨 섀도 복사본 서비스(VSS)가 무엇인지 최대한 자세히 살펴보겠습니다.

하드 디스크 백업 vs 하드 디스크 이미징
대부분의 사람들은 XCOPY 같은 MS-DOS 명령어나 타사 프로그램을 사용해 정기적으로 데이터 파일을 백업합니다. 백업의 주된 목적은 중요한 데이터 파일의 최신 복사본을 만들어 보관하는 것입니다. 즉, 하드 디스크 백업은 주로 데이터 파일과 관련이 있습니다.
반면, 디스크 이미징은 운영체제가 손상되었을 때를 대비해 전체 하드 디스크 또는 최소한 시스템 드라이브의 이미지를 만드는 것입니다. 운영체제를 수동으로 재설치하고 사용하는 모든 애플리케이션을 일일이 설치하고 설정하는 데 많은 시간과 노력이 들기 때문입니다. 시스템 드라이브의 이미지가 있다면 이미지가 저장된 장치로 부팅하여 시스템 드라이브를 복원하기만 하면 다시 사용할 수 있습니다. 따라서 디스크 이미징은 사용자 데이터보다는 시스템 파일과 속성을 백업하는 것에 가깝습니다.
간단히 정리하면, 데이터 파일은 백업하고, 시스템 드라이브(프로그램 파일/설정)는 이미지로 만듭니다. 백업 데이터로 복원하면 마지막으로 백업한 시점의 데이터 파일을 되돌려 받는 것이고, 이미지로 컴퓨터를 복원하면 프로그램 파일, OS 상태와 속성(Windows 레지스트리 및 운영체제와 관련된 기타 데이터베이스/파일 포함)을 그대로 되돌리는 것입니다.
즉, 데이터 백업과 디스크 이미지 생성에는 분명한 차이가 있습니다.
Windows의 볼륨 섀도 복사본 서비스는 바로 이 디스크 이미징과 관련이 있습니다. 이 서비스는 컴퓨터(전체 드라이브 또는 특정 폴더)를 이전 상태로 복원하는 데 사용됩니다.
Windows 11/10에서의 볼륨 섀도 복사본
Windows에서 폴더를 우클릭하면 '이전 버전'이라는 옵션을 볼 수 있습니다. 폴더 설정이나 내용을 이전 상태로 복원할 때 이 옵션을 사용해 본 경험이 있을 것입니다. 마찬가지로 시스템 복원을 사용하면 컴퓨터 전체를 이전 상태로 되돌릴 수 있습니다. 물론 최근에 설치한 일부 프로그램과 변경 사항은 사라지지만, 모든 것을 수동으로 다시 복구하는 번거로움에 비하면 복원이 훨씬 간편합니다.
VSS 서비스는 언제든지 디스크 이미지를 생성할 수 있도록 타사 프로그램에서도 활용됩니다. VSS는 자체적으로 특정 트리거에 의해 시작되어 시스템 드라이브와 해당 컴퓨터에 연결된 다른 디스크/드라이브의 이미지를 생성합니다. 모든 드라이브 유형이 동일하다면(즉, NTFS) 단일 스냅샷을 찍습니다. 드라이브 유형이 다르거나 제조사·모델이 다른 경우에는 각 드라이브 유형별로 일련의 스냅샷을 찍습니다. 단일 스냅샷이든 스냅샷 세트든, 시스템 드라이브의 잘 보호되는 영역에 저장되며 고유 ID(날짜-시간 스탬프)가 할당됩니다. 이 ID를 통해 전체 시스템 드라이브 또는 그 안의 폴더를 이전 상태로 복원할 수 있습니다.
VSS가 작동하려면 시스템 드라이브가 NTFS 형식이어야 한다는 점을 기억하세요. FAT32를 계속 사용 중이라면 작동하지 않습니다. 다행히 Windows XP 이후부터는 시스템 드라이브가 항상 NTFS였기 때문에 VSS가 문제없이 작동합니다.
Microsoft는 VSS를 다음과 같이 정의합니다:
'볼륨 섀도 복사본 서비스(VSS)는 시스템의 애플리케이션이 계속해서 볼륨에 쓰기를 수행하는 동안에도 볼륨 백업을 수행할 수 있는 프레임워크를 구현하는 COM 인터페이스 집합입니다.'
이 정의가 강조하는 핵심은, 다른 프로그램들이 백업이나 이미징을 위해 몇 시간씩 기다리게 하는 동안 VSS는 몇 초(최대 60초) 만에 시스템 드라이브의 이미지를 생성한다는 점입니다. 또한 VSS가 실행되는 동안에도 다른 애플리케이션을 계속 사용할 수 있다는 점도 명시하고 있습니다. 반면 타사 프로그램으로 드라이브를 백업하거나 이미징할 경우, 백업 중인 하드 디스크에 데이터가 기록되는 것을 막기 위해 작업이 완료될 때까지 기다려야 합니다.
참고: Vssadmin 명령줄 도구를 사용하면 VSS를 관리할 수 있습니다.
VSS의 작동 방식
VSS가 스냅샷을 생성하기 위해 호출하는 세 가지 핵심 함수는 다음과 같습니다:
- Freeze(고정): 잠시 동안 하드 디스크를 읽기 전용으로 표시하여 새로운 데이터가 기록되지 않도록 합니다.
- Snap(스냅): 나중에 필요할 때마다 해당 스냅샷을 재구성하는 데 필요한 매개변수와 함께 드라이브를 이미징합니다.
- Unfreeze(고정 해제): 하드 디스크를 해제하여 새 데이터를 기록할 수 있게 합니다. VSS가 작동하는 동안에도 계속 작업할 수 있으므로, Snap 과정이 끝날 때까지 입력 내용이 메모리의 어딘가에 임시로 보관될 수 있습니다.
전체 과정이 매우 빠르기 때문에 작업을 멈출 필요가 없습니다. 스냅샷 하나 또는 일련의 스냅샷을 생성하는 데 드라이브 유형과 제조사에 따라 최대 1분밖에 걸리지 않습니다.
Windows의 볼륨 섀도 복사본 서비스는 두 가지 주요 기능을 제공합니다:
- 사용자 애플리케이션을 방해하거나 막지 않으면서 기존의 작동 중인 볼륨과 공존합니다.
- 타사 프로그램이 이미지를 생성하고, 볼륨 또는 그 일부를 스냅샷 또는 스냅샷 세트로 저장된 이전 상태로 복원할 수 있는 API를 제공합니다.
즉, 하드 디스크 이미징에 사용하는 대부분의 타사 프로그램이 VSS 서비스를 활용한다는 뜻입니다. 동시에 VSS 서비스가 중지되면 일부 타사 프로그램이 디스크 이미지를 생성하지 못하게 된다는 의미이기도 합니다.
ShadowExplorer를 사용하면 섀도 복사본에 접근하고 복원할 수도 있습니다.
팁: VSSVC.exe의 디스크 사용량이 비정상적으로 높은 문제가 발생하면 관련 가이드를 참고하면 도움이 됩니다.
Windows 8부터 Microsoft는 파일 히스토리(File History)라는 기능을 도입했습니다. 파일 히스토리는 라이브러리, 바탕 화면, 즐겨찾기, 연락처의 복사본을 저장하여 분실되거나 손상되었을 때 언제든지 되돌릴 수 있게 해줍니다. 시스템 복원이 컴퓨터 전체를 이전 상태로 완전히 복원하는 기능이라면, 파일 히스토리는 파일과 데이터만 이전 시점으로 복원할 수 있게 해주는 더 가벼운 기능입니다.
함께 읽기: 유휴 시간 초과(idle timeout)로 인해 VSS 서비스가 종료되는 문제 해결 방법.
