부팅과 멀티 부팅

활성 파티션에 대한 좀 더 자세한 이야기 - 활성 파티션의 개념과 특성 정리 -

CApple 2012. 1. 4. 09:00
이 글은 지난 글인 PC 에서 운영체제의 부팅은 어떻게 이루어지는가? - BIOS 의 부팅 구조 -MBR 과 활성 파티션 단락의 내용을 보충하는 내용입니다.


활성 파티션이란 해당 디스크에 존재하는 파티션들 중 MBR 의 파티션 테이블에서 부팅용으로 사용하기로 설정된(Active 로 마크된) 파티션을 의미한다는 것을 지난 글에서 이야기 드렸습니다. 그리고 활성 파티션의 의미가 그러하듯 부팅에서는 빼놓을 수 없는 존재이기도 합니다.(윈도우에서는 특히나 더)



그럼 오늘 포스팅에서는 이 활성 파티션에 대해서 조금 더 자세하게 알아보는 시간을 가져보도록 하겠습니다.


1. 활성 파티션은 오직 주 파티션만이 사용됩니다.



왜 주 파티션만 활성 파티션으로써 활용이 되느냐?

일단 활성 파티션이란 것 자체가 MBR 의 파티션 테이블 안에서 설정되는 것이고 고로 활성 파티션이 되기 위해선 MBR 의 파티션 테이블에서 생성되는 파티션이어야 한다는 전제가 필요합니다. 주 파티션은 MBR 의 파티션 테이블에서 생성되는(기록되는, 포함되는) 파티션이죠. 그래서 활성 파티션이 될 수 있고 활성 파티션으로 활용 됩니다. 그럼 주 파티션 외의 확장 파티션과 논리 드라이브 파티션은 어떨까요?

우선 확장 파티션이 주 파티션과 마찬가지로 MBR 의 파티션 테이블에서 생성되는 파티션인 것은 맞습니다. 그러나 확장 파티션이란 것은 주 파티션처럼 실제로 데이터를 담는 공간이 아니라 그저 논리 드라이브를 담기 위한 빈 껍데기에 불과한 파티션입니다. 이는 확장 파티션 자체로는 아무 것도 할 수 없음을 의미합니다.(데이터고 뭐고 부팅이고 뭐고 아무 것도!) 그리하여 확장 파티션은 MBR 에서 생성되는 파티션이지만 활성 파티션으로 사용되지 않습니다.(디스크 관리 도구들에서 지원을 하지 않고 설정 자체를 못하게 막아버립니다.)

다음으로 논리 드라이브는 MBR 에서 생성되는 파티션이 아닙니다. 논리 드라이브는 확장 파티션 내에서 자체적인 EBR 을 가지고 EBR 을 통해 생성이 되는 파티션이기 때문에 MBR 과는 관련이 없고 그리하여 구조적으로 애초에 활성 파티션이 될 수 없습니다.

이러한 이유로 확장 파티션과 논리 드라이브는 활성 파티션에서 제외되고 오직 주 파티션만 활성 파티션으로써 활용이 되는 것입니다. 이를 그냥 단순하게 표현하면 오직 주 파티션만이 활성 파티션으로 사용된다고 할 수 있습니다. 그리고 오직 주 파티션만 활성 파티션으로 설정할 수 있다고 표현해도 사실 크게 무리가 없습니다. 아무튼 이를 좀 더 자세하게 알고 싶으시면 다음의 글을 참고하세요.

MBR 의 구조와 활성 파티션, 활성 파티션은 어떻게 설정 되는가?



2. 활성 파티션은 주 파티션 -> 논리 드라이브와 같은 파티션 자체의 구조적인 변화를 동반하는 것이 아니라 파티션 테이블에서 설정하는 간단한 마크이기 때문에 언제든지 사용자가 원할 때면 다른 주 파티션으로 활성 파티션을 변경할 수 있습니다.



이처럼 활성 파티션은 해당 디스크에 다른 마크할 수 있는 주 파티션이 존재하고 있다면 언제든지 다른 주 파티션으로 바꾸는 것이 가능합니다. 물론 그에 따라 새룹게 설정된 활성 파티션의 부트 섹터도 맞춰서 기록해주고 부트 매니저도 옮겨야 부팅이 정상적으로 진행이 되겠지만 말입니다.



3. 활성 파티션은 주 파티션, 확장 파티션, 논리 드라이브와 같은 디스크 레벨의 개념입니다. 그렇기 때문에 모든 디스크는 각자 활성 파티션을 가질 수 있습니다.

이처럼 활성 파티션은 디스크 레벨의 개념(디스크에 속한 개념)이기 때문에 시스템에 장착된 모든 디스크가 각자 저마다의 활성 파티션을 가질 수 있습니다.



이처럼 활성 파티션을 디스크마다 모두 가질 수 있습니다. 하지만 이렇게 각각의 디스크가 모두 활성 파티션을 가지고 있다 할 지라도 실제로 부팅 과정에서 활용되는 활성 파티션은 하나이죠. 이건 조금 뒤에서 이야기를 하도록 하죠.


우선 여기에선 활성 파티션이 디스크 레벨의 개념이라는 것이 굉장히 중요합니다. 윈도우에서 활성 파티션에 대해 이야기를 하다보면 빠질 수 없이 등장하는 파티션의 개념 중 하나가 시스템 파티션이라는 것입니다. 나중에 이야기하겠지만 이러한 시스템 파티션은 디스크 레벨이 아닌 윈도우 레벨의 개념이기 때문에 이를 정확하게 분리해서 이해를 해야만 합니다. 다음의 글은 이것에 대해 자세하게 이야기를 하고 있습니다.

활성 파티션, 시스템 파티션, 부팅 파티션의 정확한 개념 정리



4. 활성 파티션은 해당 디스크에서 하나만 존재해야 합니다.

헷갈리지 마셔야 할 것이 시스템에 장착된 각 디스크마다 모두 활성 파티션을 가질 수 있습니다. 그런데 디스크 하나 하나 살펴보자면 하나의 디스크에는 하나의 활성 파티션만 존재해야 한다는 것입니다. 이는 활성 파티션이 왜 존재하는지 그 의미를 생각해보시면 이해가 빠르실 겁니다.

활성 파티션은 현재 디스크에 존재하는 많은 파티션들 중 어떤게 부팅에 사용되는 파티션인지 그것을 알려주는 역할과 의미를 가지고 있습니다. 그런데 이게 두 개 세 개가 존재하면? 당연히 혼란이 발생할 수 밖에 없죠. 그래서 대다수의 디스크 관리 유틸리티들은 하나의 디스크에 하나의 활성 파티션만 존재하도록 자동으로 처리를 하는 것이 보통입니다.

디스크 관리 유틸리티들이 활성 파티션을 어떻게 다루는지에 대한 것은 다음의 글을 참고해 보시길 바랍니다.

활성 파티션은 반드시 하나만 존재할 수 있는가?



5. 디스크마다 각자의 활성 파티션을 가지고 있을 수 있지만 실제로 부팅 과정에서 사용되는 활성 파티션은 CMOS 에서 첫 번째로 설정된 디스크에 존재하는 활성 파티션뿐입니다.

이는 제가 미리 정리해드린 바이오스 기반 PC 의 부팅 구조 중 3 ~ 4 의 과정 때문에 그렇습니다.

3. 바이오스는 시스템에 장착된 디스크들 중 CMOS 에 첫 번째 하드 디스크로 설정된 디스크를 확인합니다. 첫 번째로 설정된 디스크를 확인했으면 해당 디스크의 첫 번째 섹터를(Logical Sector 0, CHS 0:0:1) 읽어들입니다. 이 때 디스크의 첫 번째 섹터는 MBR 입니다.(즉, 바이오스는 첫 번째 디스크의 MBR 을 읽습니다.)

4. 디스크의 MBR 에는 코드 영역파티션 테이블이란 곳이 존재하고 있습니다. 코드 영역은 디스크로 부팅을 시작하기 위한 작은 프로그램이 기록되어 있는 공간입니다. 파티션 테이블은 디스크에 존재하는 파티션에 대한 정보가 기록되어 있는 공간입니다. 바이오스는 MBR 의 코드 영역에 기록된 프로그램을 실행합니다.

코드 영역에 기록된 프로그램은 기본적으로 파티션 테이블 영역을 검색하여 현재 디스크에 존재하는 파티션들 중 활성으로 마크된 파티션을 찾고(활성 파티션) 찾았다면 해당 파티션의 부트 섹터를 읽어들이라고 프로그래밍 되어 있습니다.



바이오스가 CMOS 에서 첫 번째 디스크로 설정된 디스크를 부팅용 디스크로 판단하고 해당 디스크의 MBR 을 읽어들이기 때문에 시스템에 장착된 각각의 디스크마다 모두 활성 파티션을 가지고 있다 하더라도 첫 번째 디스크에 존재하는 활성 파티션만 부팅 과정에서 실제로 사용이 되는 것이죠.

이게 기본입니다. 일단 이걸 잊어버리지 마시고! 다음의 글을 차례대로 읽어보세요.

부팅에서 첫 번째 디스크란 정확하게 무엇을 의미하는가?
메인보드 펌웨어의 진화! 부팅은 이루어져야 한다?



이상으로 활성 파티션에 대해서 짚어보았습니다. 이를 정리하자면 아래와 같습니다.

1. 활성 파티션은 오직 주 파티션만이 사용됩니다.

2. 활성 파티션은 주 파티션 -> 논리 드라이브와 같은 파티션 자체의 구조적인 변화를 동반하는 것이 아니라 파티션 테이블에서 설정하는 간단한 마크이기 때문에 언제든지 사용자가 원할 때면 다른 주 파티션으로 활성 파티션을 변경할 수 있습니다.

3. 활성 파티션은 주 파티션, 확장 파티션, 논리 드라이브와 같은 디스크 레벨의 개념입니다. 그렇기 때문에 모든 디스크는 각자 활성 파티션을 가질 수 있습니다.

4. 활성 파티션은 해당 디스크에서 하나만 존재해야 합니다.

5. 디스크마다 각자의 활성 파티션을 가지고 있을 수 있지만 실제로 부팅 과정에서 사용되는 활성 파티션은 CMOS 에서 첫 번째로 설정된 디스크에 존재하는 활성 파티션뿐입니다.



간단하죠? 윈도우의 부팅에서 활성 파티션과 관련된 내용들을 빼고 이야기할 순 없습니다. 파고들면 파고들수록 사실 간단한 것이지만 이게 정립이 안 되면 나중에 분명 헤메일 공산이 매우 큽니다. 아무튼 활성 파티션에 대해 충분히 숙지하시길 바랍니다. 그럼 다음 글에서 뵙죠.


p.s 어째 내용이 초급, 중급, 고급을 마구 넘나드는 기분이 들지만 무시하죠. 그런거 따지면서 글 쓰다간 글을 완성시키지 못 할 듯 하니까요.