1. 개요
Microsoft Windows 운영체제의 기능 중 하나. Windows Me부터 도입되었으며[1] 시스템 파일, 레지스트리 키, 설치된 프로그램 등을 이전 시점으로 되돌리는 기능이다.Windows Server 계열에는 없으며, 대신 Windows Server 백업이라는 기능이 있다.
2. 상세
쉽게 말해서 지금이 1월 4일인데 갑자기 컴퓨터가 먹통이 됐는데 도저히 원인과 해결책을 못 찾겠다... 그럼 복원 지점인 1월 1일로 컴퓨터 상황을 돌리면 어떨까? 하고 실행하면 1월 1일 상황으로 컴퓨터를 되돌려준다. 이 때 복원되는 것은 OS, 드라이버, 설치된 프로그램으로 사용자의 문서, 파일 등은 그대로 놔둔다. 즉 시스템 상황만 이전으로 되돌리는 것이다. [2]이 때 복원 지점은 윈도우 인스톨러, 패키지 설치 프로그램과 같이 시스템 복원이 인지하는 설치 프로그램을 사용하여 소프트웨어를 설치할 때 만들어진다. 윈도 업데이트가 새로운 업데이트를 윈도에 설치할 때 만들어지고 제어판에서 따로 설정도 가능하다.
하드웨어의 문제가 아닌 이상 대부분 소프트웨어의 문제는 업데이트나 새로운 소프트웨어 설치 등에서 레지스트리가 꼬이거나 내부 파일이 꼬여서 일어나는 문제가 많다. 갑자기 코덱이 말을 듣지 않는다거나 이상하게 시스템 다운이 잦다거나 특정 프로그램을 깔고 깔고 또 깔았는데도 먹통이다 싶으면 포맷보다는 일단 시스템 복원부터 시도해보는 게 편의성 측면에서 낫다. 포맷하고 OS 새로 깔고 프로그램 전부 다시 까는 것 보다 훨씬 편한데다 시간도 적게 걸린다. 단 PC 상황에 따라서 한 시간 이상 걸리는 경우도 있으므로 끝날 때까지 여유를 가지고 기다리는 것이 좋다. 경고! 다음 단계로 안 넘어간다고 성급하게 컴퓨터를 강제 종료하면 더 심각한 문제가 나타날 수도 있다.
시스템 복원 지점은 시스템이 지점 저장이 필요하다고 판단될 때 자동으로 만들어지며 특정 프로그램 설치/제거 시에 자동으로 복원 지점을 만든다.[3] Windows 7 기준 시스템 > 시스템 보호로 들어가면 시스템 복원에 사용될 디스크 용량을 설정할 수 있고 사용자 임의로 현재 복원 지점을 만들거나 모든 복원 지점을 삭제할 수 있다.
다만 성능 저하나 공간 낭비를 걱정하는 사용자들은 시스템 복원을 완전히 끄는 경향이 있는데 실제로 XP 시절에는 하드웨어 팁으로 잘 안 쓰는 시스템 복원은 성능 향상을 위해서 끈다라고 알려질 정도였으나... 이건 자기 컴퓨터가 구세대 펜티엄 3, 펜티엄4(...) 에다 램 용량은 512MB 이하[4]라서 도저히 시스템 성능을 뽑아낼 상황이 안 될 경우를 말하고 아무리 똥컴이라도 3GHz대 듀얼코어 프로세서과 4GB 이상의 램을 탑재하고 있는 현재 시점에서는 대부분의 하드웨어 성능은 이거 켜놓는다고 절대 성능이 떨어진다거나 그러지 않으니 안심해도 된다.
물론 이런 사소한 것에도 민감한 유저라면 꺼버리기도 하지만... 시스템에 문제가 생겼을 때 자신이 직접 레지스트리를 뜯어고칠 정도의 능력자가 아니라면 그냥 켜두자. 포맷보다는 확실히 편한 방법이니.
알고 쓰면 포맷보다 훨씬 간단하게 시스템 문제를 해결할 수 있다는 장점이 있어서, 실제로 과거 Windows XP( 2003/R2) 시절에는 인지도가 꽤 있는 기능이었으나 제어판과 설정 앱이 분리되기 시작한 Windows 8( 2012)부터는 접근성이 떨어지기 시작했고 Windows 7( 2008 R2)의 이전 버전 기능[5]이 강화되어 파일 히스토리로 신설되는 데다가 SFC, DISM 등의 명령어로 복구 기능[6]들이 강화되면서 현재에는 소수만 쓰는 기능으로 전락했다.
시스템 복원이 감시하지 않는 볼륨에 저장된 파일들은 백업하거나 복원하지 않으며 복원되는 요소는 다음과 같다. 시스템 복원이 관여하는 곳에 있는 파일들은 시스템 복원에 영향을 받는다.
시스템 복원에 사용되는 파일들은 다음 폴더에 저장된다. 참고로 파일 시스템이 NTFS일 경우에는 소유자와 권한 항목에 SYSTEM 계정에만 단독으로 할당되어 있기 때문에[7] 사용자 계정으로 바꾸는 작업을 하지 않는 이상은 이 파일들에 접근할 수 없다. 단, NTFS를 애초부터 지원하지 않는 9x 계열의 Me는 제외한다.
- Windows Me: %SystemDrive%\\_restore[환경변수]
- Windows XP/ Server 2003/R2 이상 Windows 11/ Server 2022 이하 : %SystemDrive%\\System Volume Information[환경변수]
Me 부터의 일반 사용자용 윈도우에는 시스템 복원이 있지만 2003을 비롯한 NT 계열의 서버용 윈도우에는 없다. 대신 Windows Server 백업이라는 기능이 있다.[10]
3. 실행 방법
Windows 10( 2016~ 2022) 기준 실행 방법은 다음과 같다.- 제어판을 연다[11]
- '시스템 및 보안'을 선택한 뒤 '시스템'을 누른다
- '컴퓨터에 대한 기본 정보 보기' 창이 나왔다면 좌측 메뉴들 중 '시스템 보호'를 선택한다
- '시스템 복원'을 누른 뒤 복원할 지점을 고른다
Windows 8부터는 파일 히스토리가 생겨 원하는 파일만 따로 되돌릴 수도 있다. 복원은 Windows 7까지와[12] 호환되지만 파일 히스토리는 그렇지 않으니 주의.
- 설정을 연다
- '업데이트 복구'를 선택한 뒤 '복구'를 누른다
- '파일 히스토리'를 선택한다
4. 주의점
다만 아래와 같은 경우에는 시스템 복원을 사용해도 안 된다. 이런 경우에는 포맷 후 처음부터 재설치가 답이다.그리고 시스템 복원을 그냥 기본 세팅으로 놓고 사용할 경우 계속 디스크 용량을 잡아먹는 괴수로 변할 수 있다. 따라서 제대로 사용하고 싶다면 인터넷을 검색해서 시스템 복원을 제대로 사용하는 방법을 공부할 것이 요구된다.
시스템 복원시 그때 당시 기준으로 복구되기 때문에 일부 프로그램, 드라이버, 패치가 삭제되거나 지웠던 프로그램, 드라이버, 패치가 복구될 수 있다. 따라서 복원을 완료한 이후에는 프로그램, 드라이버, 패치를 점검해야 한다. 특히 백신의 경우 시스템 복원을 거치면 작동을 안 하는 경우가 있어서 재설치를 해야 할 수도 있다. 윈도우 7 이후 버전이라면 시스템 복원 메뉴에서 영향을 받는 프로그램 검색을 누르면 미리 확인할 수 있다.
만일 이게 귀찮다면 노턴 고스트 등의 복구 프로그램을 사용하는 것도 답이다. 앞서 언급한 시스템 복구의 문제점 중 저장 매체 이상을 빼고 나머지 경우에도 안전하게 사용이 가능하며 시간도 그렇게 오래 걸리지 않는다. 다만 이를 위해서는 평소 정상상황에서 해당 드라이브 전체의 이미지를 본뜬 파일을 미리 작성한 후 해당 파일을 따로 안전한 곳에 보관해야 하므로 컴퓨터 관리에 평소 관심이 많아야 한다.
시스템 복원은 Windows Me부터 지원하는 기능이므로 MS-DOS와 그 이전의 윈도우를 사용하는 경우 사용할 수 없다. 물론 Windows 7( 2008 R2) 이상이 대부분인 지금은 아무런 의미가 없지만, 부득히 하게 가상머신 같은걸로 9x 계열이라면 98 SE 까지, 2000[13] 까지의 NT 계열의 윈도우를, 혹은 MS-DOS를 설치해야 하는 사용자들이라면 사용 할 수가 없는 기능이라는 점을 반드시 숙지해야 한다.
이외에 다른 여담으로 백신, 보안 프로그램이 켜진 상태에서 시스템 복원 지점을 저장해놨을 경우 나중에 그 지점으로 시스템 복원을 하고자 하면 실패할 확률이 매우 높다. 프로그램들끼리 서로 충돌을 일으키기 때문.
4.1. 컴퓨터 바이러스, 해킹 툴 같은 것에 감염되었을 경우
우선 이런 종류의 프로그램은 시스템 자체를 건드리는 경우가 많지만 이 프로그램의 감염 경로는 대부분 사용자 라이브러리에 위치한다. 즉 시스템 복원을 해도 시스템만 복원될 뿐 시스템을 바꾸게 만든 소스는 영향을 받지 않는다. 게다가 이런 종류의 프로그램을 만드는 사람은 절대 바보가 아니라서 해당 프로그램 본체뿐 아니라 복사본을 하드디스크나 SSD의 각 지역에 흩뿌려놓는다. 그래서 시스템 복원을 할 경우 바뀐 시스템만 원상복구될 뿐 원인이 되는 원본과 복사본은 그대로 존재하니 재감염은 시간문제가 된다. 즉 복원하나마나다.일부 랜섬웨어는 더 나아가서 시스템 복원 자체를 못 쓰게 만들어버리니 요주의. 사실, 따져보면 이정도는 약과고 최악의 경우는 아예 안전모드로의 접근 조차 하지 못하도록 만들어버리는 것들도 있다.
4.2. 파티션 이상
간단하게 말해서 내가 드라이브며 대강 크기가 어떻고 하는 정보를 담은 것이 파티션이다. 이게 망가지면 인식이 안 된다. 그렇지 않더라도 한번 정해진 파티션을 여러가지 프로그램을 이용해서 억지로 크기를 늘릴 경우 불안정한 경우가 발생하는데 이런 경우에는 시스템 복원이 의미가 없다. 시스템 복원을 하는 기반 자체가 망가졌는데 복원에 의미가 없는 것이다. 해결책은 파티션을 지우고 처음부터 다시 만든 다음에 포맷하고 재설치가 가장 깔끔하며 문제가 없다.비유하자면 집의 건물을 지지하는 지반이 불안정해져서 무너지게 될 상황이라고 보면 된다. 이런 경우 집을 리모델링해도 불안정한 지반 때문에 무너질 것이므로 아예 집을 헐어버린 후 지반을 튼튼하게 다지고 다시 지어야 한다. 마찬가지로 파티션이 불안정해지면 아예 지우고 다시 만든 다음 깔끔하게 재설치를 하는 것이다.
4.3. 저장 매체 이상
이건 하드디스크나 SSD, USB 메모리 등의 저장 매체 자체가 고장난 경우다. 당연히 복구 및 수리가 불가능하므로 새 제품으로 교체해야 한다. 그리고 이런 경우에 내부에 있는 각종 자료는 다 날아가므로 굳이 데이터를 살리고 싶다면 전문 복구 업체를 찾아가서 수십만 원 이상의 금액을 기본으로 지불하고 데이터만 따로 뽑아내서 DVD로 받으면 된다.4.4. 팩토리 리셋을 원할 경우
흔히 윈도우를 설치하자마자 윈도우에서 제공하는 시스템 백업을 해놓으면 모바일 기기처럼 원할때 간단히 원클릭 팩토리 리셋을 할 수 있을거라 생각하는 경우가 많다. 하지만 시스템 복원은 그냥 덮어쓰기일 뿐 지우기 작업은 하지 않는다. 즉 프로그램을 여러 개 깔고 나서 정리하려 하는데 하나하나 찾아서 삭제하기 귀찮다고 시스템 복원을 해봤자 프로그램 폴더에 가보면 그 프로그램들이 그대로 남아있다. 이런 경우 그냥 윈도우 재설치가 답이다.다만 Windows 8 이상은 팩토리 리셋을 OS가 직접 제공하므로 굳이 윈도우 재설치를 할 필요는 없다. 또한 삼성전자나 LG전자 등의 대기업들은 삼성 복원 솔루션과 같은 복원 프로그램을 제공하는 경우가 많기 때문에 윈도우 설치 CD가 없어도 윈도우 재설치가 가능하다.
[1]
Me보다 먼저 출시된 2000은 당연히 사용 자체가 불가능하다. 대신에, XP/Server 2003(R2) 까지 설치CD에 포함된 복구콘솔 기능으로 복구를 시도 해 볼 수는 있겠지만, 필요한 명령어들을 미리 외워놔야 하기 때문에 활용하기가 쉽지 않다. 무엇보다, 이 문서에서 서술하는 시스템 복원과는 당연히 다른 기능일 수 밖에 없기도 하고.
[2]
시스템 복원 마법사를 열고 다른 지점 검색을 한 뒤 "영향을 받는 프로그램"을 확인하면 설치되거나 제거되는 프로그램을 알려준다.
[3]
Windows Installer 패키지, InstallShield 설치 마법사 종류가 많이 만든다.
[4]
1GB 이상의 메모리를 탑재하면 괜찮아진다.
[5]
복원 지점에서 해당 파일의 이전 버전을 가져오는 기능이다. 복원과 달리 시스템 전체를 롤백시키지 않고 파일이나 폴더 하나만 되돌릴 수 있다.
[6]
각각 명령 프롬프트에서 sfc /scannow, dism /online /cleanup-image /restorehealth 로 실행시킬 수 있다. DISM은 관리자 권한이 필요. SFC 또한 비스타 이상의 윈도우에서 실행했을 때 제대로 실행되지 않는다면 관리자 권한으로 실행해야 하고, SFC가 처음 도입된 98을 제외한 NT 계열의 2000과 XP(2003/R2)는 일반 사용자 계정으로 로그온을 해서 실행하면 'Windows 실행에 필요한 파일이 알 수 없는 버전으로 교체되었습니다.' 라는 메시지가 떠야하는 상황에서도 메시지가 뜨지 않으므로 반드시 관리자 계정으로 로그온을 해서 실행해야 한다.
[7]
비스타(2008) 부터 11(2022)까지는 SYSTEM 계정보다 더 상위권한을 가지는 TrustedInstaller 계정에다가 소유권과 권한 항목에 할당하고 있다.
[환경변수]
SystemDrive는 Windows가 설치된 드라이브를 가리키는 환경 변수로, 사용자마다 윈도우가 설치된 드라이브의 문자가 다를 수 있으므로 환경 변수로 표시한다. XP(2003) 부터 11(2022) 까지의 윈도우들 역시 대체로 윈도우가 설치된 드라이브에 복원 지점을 생성하게 될 것이기에 환경 변수로 표시한다.
[환경변수]
[10]
다만, 비공식적으로 서버 2003에 한해 시스템 복원을 구성하는 파일들을 XP 설치 미디어에서 추출한 다음에 설치하는 방법이 알려져 있지만, 같은 2003이라도 업데이트가 적용된 버전에 따라 작동하는 방식이 다소 다를수도 있고, 서버 2003에는 애당초 들어있지 않은 기능이기 때문에 영문으로만 표시된다고 한다.
#
[11]
제어판이 안 보이는 경우 시작 메뉴 - Windows 시스템 - 제어판으로 접근할 수 있다. 그래도 못 찾겠다면 그냥 시작 메뉴의 검색 기능으로 검색해도 된다.
[12]
Windows Me~
Windows Vista,
Windows 7~
Windows 11이 호환된다.
[13]
서버 2003에 설치하는 방법 그대로 설치하고, 이후에 부팅하고 바탕화면이 뜰 때마다 프로시저 시작지점을 찾을 수 없다는 오류메시지만 보게되어 비공식적으로도 사용 자체가 불가능하다.