윈도우 비스타에는 기존의 윈도우 XP 까지는 존재하지 않던 비트락커(BitLocker)라는 기능이 새롭게 추가되었습니다. 그렇다면 비트락커란 무엇이냐?
비트락커란 메인보드에 장착된 TPM 1.2 보안 칩과 연계하여 드라이브를 암호화하여 해당 컴퓨터가 아닌 다른 컴퓨터에서는 드라이브의 데이터에 접근할 수 없게 하는 보안 기능입니다. 윈도우 비스타부터 새롭게 제공되고 있습니다.
TPM 1.2 보안 칩에는 EK(Endorsement key) 와 SRK(Storage Root Key) 라는 고유의 키가 저장되어 있습니다. 이러한 키의 값은 다른 TPM 보안 칩들과 중복되지 않은 유일한 키이며 고도의 암호화 기술로 보호되고 있습니다. 그리하여 이러한 키들은 다른 TPM 보안 칩들과 중복되지 않는 '유일성' 그리고 암호화 기술로 보호되어 칩의 외부에서 강제적으로 키를 알아낼 수 없는 '신뢰성' 을 가지게 됩니다.
비트락커는 이러한 TPM 1.2 보안 칩에 내장된 SRK 키의 '유일성' 과 '신뢰성' 을 바탕으로 이와 연계하여 드라이브의 데이터를 암호화하고 또 반대로 해독하게 됩니다. 그리하여 드라이브를 암호화 했던 TPM 1.2 보안 칩이 없는 컴퓨터에서는 드라이브의 데이터를 해독할 수 없게 되고 이로써 침입자로부터 하드 디스크를 강탈당하는 공격을 당하더라도 데이터를 안전하게 지킬 수 있습니다.
자세한 내용은 이 글이 비트락커를 위한 글이 아니기 때문에 이쯤에서 생략합니다.
즉, 비트락커는 드라이브(파티션/볼륨) 단위로 데이터를 암호화하는 보안 관련 기능입니다. 이러한 비트락커는 데이터 드라이브와 이동식 드라이브 뿐만 아니라 윈도우가 설치되어 있는 운영체제 드라이브(부팅 파티션)까지 암호화 할 수 있습니다. 허나 운영체제 드라이브를 암호화하기 위해선 하드 디스크가 다음의 구성을 충족해야 합니다.[파티션과 드라이브는 동일한 의미로 해석]
최소 두 개의 파티션. 컴퓨터를 시작하고 부팅이 진행되는 시스템 파티션과 윈도우가 들어 있는 운영체제 파티션(부팅 파티션). 운영체제 파티션은 암호화되지만 컴퓨터를 시작하고 윈도우로 부팅할 수 있도록 해주는 시스템 파티션은 암호화되지 않고 유지되어야 합니다.
즉, 반드시 시스템 파티션과 부팅 파티션이 분리되어야 한다는 것 입니다. 왜냐하면
바이오스에는 부팅의 진행을 운영체제로 넘기기 위해 마지막에 Starting Point 즉, 시작 지점으로(CHS 0:0:1) 이동하는 명령이 포함되어 있습니다. 이 시작 지점에는 MBR 이 위치하고 있는데 MBR 의 Master Boot Code 라는 곳에는 부팅을 진행하는 프로그램이 설치되어 있죠. 해당 프로그램은 Master Partition Table 에서 Active 된 파티션을(활성 파티션/시스템 파티션) 찾은 후 해당 파티션의 첫 번째 섹터인 부트 섹터로 이동하게끔 합니다. 윈도우 7 을 설치한 경우 자신의 부트 매니저인 Bootmgr 을 찾게 되어 있습니다. 부트 매니저를 찾으면 부팅의 제어권은 바이오스에서 해당 부트 매니저로 넘어갑니다. 즉, 바이오스에서 운영체제로 부팅의 제어권이 넘어가는 것 입니다.
그런데 이 시스템 파티션(활성 파티션)이 암호화 되어 있으면 부트 섹터를 읽을 수 없고 그로인해 부트 매니저를 읽을 수 없기 때문에 바이오스에서 운영체제로 부팅의 제어권이 넘어가지 못하고 부팅은 실패하게 됩니다. 또한 윈도우로 부팅의 제어권이 넘어온 상태에서 비트락커가 TPM 의 SRK 키 또는 USB 키와 같은 시작 키를 통해 드라이브의 암호화를 해독할 수 있도록 준비해야 하는데 부팅의 제어권 자체가 넘어오지 않았기 때문에 당연하게도 해당 과정은 진행할 수 없습니다. 그래서 시스템 파티션은 암호화되지 않은 상태로 유지되어야 하는 겁니다.
윈도우 비스타까지 윈도우의 기본적인 파티션 구성은 시스템 파티션과 부팅 파티션이 분리되지 않은 단일 로드 구성이었습니다.
즉, 자신이 직접 어떠한 목적을 가지고 파티션 구성의 계획을 세우지 않은 이상 사용자는 언제나 윈도우를 시스템의 첫 번째 파티션에[보통 해당 파티션이 활성 파티션] 설치를 했고 그에 따라 부트 매니저와 윈도우는 하나의 파티션에 설치가 되었습니다. 즉, 시스템 파티션과 부팅 파티션이 동일한 게 아주 일반적인 모습이었습니다.
근데 윈도우 비스타부터 비트락커라는 기능이 새롭게 추가 되었죠. 비트락커를 통해 운영체제 드라이브를 암호화하기 위해선 위에서 설명한 것과 같이 시스템 파티션과 부팅 파티션이 반드시 분리되어 있어야 합니다. 즉, 시스템 파티션과 부팅 파티션이 분리되어 있는 분할 로드(split-Load) 구성이 갖추어져 있어야 하는 것 입니다. 그러나 사용자들은 이런 파티션 구성을 굳이 사용하지 않고 있었습니다.
그래서 비스타는 사용자가 직접 알아서 윈도우 설치 때 부터 파티션을 분리하여 구성하거나 비트락커 드라이브 준비 도구라는 것을 업데이트 받아서 비트락커를 사용하기 전 적용하여 파티션을 분리하라고 했습니다. 그래서 불편했습니다.
그리하여 윈도우 7 에 이르러서 마이크로소프트는 다른 선택을 하게 됩니다. 애초에 윈도우 7 설치 프로그램을 통해 파티션을 나누면 시스템 파티션과 부팅 파티션을 분리해 버리도록 만든 것이지요. 이 때 생성되는 시스템 파티션이 바로 시스템 예약 파티션 입니다.
허나 마이크로소프트가 시스템 예약 파티션을 자동으로 생성하게 하면서 한 가지 생각하지 않은 게 있습니다. 그것은! "내가 비트락커를 사용할 지 말 지! 아니 내가 비트락커를 사용할 수 있을 지 없을 지!" 는 생각하지 않고 그냥 무조건 파티션만 나누려고 하면 시스템 예약 파티션을 생성해 버린다는 것 입니다. 아무리 좋고 훌륭한 기능이라도 내가 사용할 일이 없으면 필요없는 것 입니다.
나한테는 그딴 거 필요 없어!
근데 왜! 윈도우 7 설치 프로그램은 내 의사나 내 상황 따위는 고려하지도 않고 강제적으로 시스템 예약 파티션을 만드려고 하느냐는 말 입니다. 아래의 표를 보시죠.
아무튼 결론은 내려야겠죠? 윈도우 7 의 시스템 예약 파티션은 윈도우의 부트 매니저가 설치 된 부팅 관련 업무를 담당하는 시스템 파티션으로 굳이 따로 존재할 필요는 없지만 비트락커를 통해 운영체제 드라이브를 암호화 할 때를 대비하여 부팅 파티션과 분리 해 놓은 것 입니다. 그리하여 현재까지 비트락커를 사용할 일이 없다면 반드시 필요한 파티션은 아닙니다.
※ 시스템 예약 파티션을 생성한 상태로 윈도우 7 을 사용하던 분들이 이 글을 보고 시스템 예약 파티션이 반드시 필요한 것은 아니라는 문구를 보시고는 지워버리시면!!! 님... 그러지 마세요... 부팅 못 해요. ㅡㅡ;