이 글은 지난 글인 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 어째 내용이 초급, 중급, 고급을 마구 넘나드는 기분이 들지만 무시하죠. 그런거 따지면서 글 쓰다간 글을 완성시키지 못 할 듯 하니까요.

 

 

신고
캐플 블로그에 공개된 글은 반드시 원본 글의 링크를 포함시키는 조건으로 자유롭게 이용하실 수 있습니다.
하지만 블로그의 발전을 위하여 되도록이면 링크로 글을 소개해주시길 부탁드립니다. ^^

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -
  1. 이중재 2012.02.14 13:59 신고  댓글주소  수정/삭제  댓글쓰기
    정말 대단한 정리노트 입니다.
    감탄합니다.
  2. 나그네 2012.08.06 19:10 신고  댓글주소  수정/삭제  댓글쓰기
    정리를 참 잘하시는 듯 !!! 감사합니다
  3. 차분히공부 2012.12.12 16:22 신고  댓글주소  수정/삭제  댓글쓰기
    대단한 열정 감사합니다. 너무나 세심한 배려에 감동합니다.
  4. Supremacist 2014.01.16 17:47 신고  댓글주소  수정/삭제  댓글쓰기
    덕분에 잘 정리됬습니다! 컴터에 무뇌한인 저도 이해할 수 있게 쉽게 써주신 노고에 감사드립니다!
  5. 꼬부기 2015.04.14 13:56 신고  댓글주소  수정/삭제  댓글쓰기
    안녕하세요 캐플님 캐플님은 이방대한 지식들을 어디서 배우셧나요? 존경스럽습니당
  6. 이시우 2015.04.17 02:59 신고  댓글주소  수정/삭제  댓글쓰기
    설명 자체가 좀 어렵네요 활성이 어디에 사용되는가 무엇때문에 활성을 걸어주는가 거기에 대한 이해없이

    다른지식이 필요한 기반으로 작성된 글이라 어렵습니다

    여기에 와서 배우시는 분들은 active 가 뭔가를 알고싶어 글을 보는 분들인데 그 이상의 기반지식을

    필요로 하는 글을보면 당연히 이해하기 어렵다고 봅니다

    무엇인가를 모르면 그것을 모르기 때문에 그 이상의 생각을 할수없게 됩니다

    숫자를 배우기 이전에 + - 등의 개념을 이해할수 없다는 것이구요

    그런데 글을보면 숫자 의 개념을 알리는데 + - 를 응용해서 설명한듯한 블로그 글등은

    보다 지칩니다

    저도 다른분야에 30년을 공부해서 가르치는 입장인데 무엇을 설명해줄때는 절대 그 이상의

    개념이 필요한 부분을 응용해서 설명하지 않습니다

    시간낭비고 상대의 머리만 복잡해 진다는걸 더욱더 잘 알기 때문이죠

    오히려 독이 됩니다 애들 가르치는데 애들이 지쳐버립니다

    active 의 개념을 이해하러 왔다가 다른지식이 필요하여 글 중간중간 다른사이트로

    이동해서 글을 보다가 그 글에서도 다른이해가 필요하여 글 중간중간에 포함된 사이트로 이동

    하나도 이해를 못하고 블로그를 헤매다 지쳐버리는 상황이 지속됩니다

    active 를 모르는 사람이 와서 글을 본다고 할경우 파티션의 대략적 개념만 이해할 가능성이

    높죠 그런속에서 mbr 나오고 섹터 나오고 복잡해서 개념잡는 글인지 개념을 읽어 버리는 글인지

    답답할 뿐 입니다

    간단하게 active 는 어떤상황에서 사용되는지 걸어주는 이유가 무엇인지 이런것들을

    간략하게 설명해 놓은것이 오히려 그 글을 보러온 사람들을 배려한 글이라고 보입니다

    이 글만이 아니라 케플님의 블로그 의 대부분의 글이 많은 지식은 포함되어 있지만

    이해의 기반이 벌써 알만큼 아는 사람이 와서 보고 이해하는 수준이라 그게 문제입니다

    알만큼 아는 사람이 와서 보겠습니까?

    모르는 사람이 알려고 와서 보는곳에서 아는 사람이 와서 봐야 이해하는 수준의 글을

    써 놓으면 블로그를 해매고 머리만 복잡해지고 갈수가 있습니다

    순서대로 배우지 않으면 제대로 배우기 어렵습니다

    지식이 상당하신건 알겠습니다 그러나 활용성 에 대한부분을 좀더 글 앞부분 에 추가를 해주시고

    글을 작성해주시면 뜨내기가 와서 보더라도 무엇인가 얻어가는것은 있을것 같습니다

    무엇때문에 이 명령어 를 사용하는가 무엇때문에 active 를 걸어주는가 무엇때문에 어떤종류의

    파티션을 만드는것 인가 파티션 종류도 수없이 많죠

    그런데 글들을 보면 파티션 종류는 많아도 그 종류가 다른 파티션을 뭣때문에 만드는지 초기

    이해의 과정없이 파티션종류 만 설명한 경우가 허다 합니다

    이해의 개념이 필요해서 글중간 해당사이트로 이동을 해도 풀리지 않는 경우가 허다하구요

    어차피 좋은 블로그 남기시고 여러사람한테 지식을 전달하는 좋은 글을 작성하시는 뜻은

    좋게 생각합니다

    그러나 이왕이면 지식이 부족한 사람이 와서 보고 배우기 쉬운 입장에서 글을 작성해주시면

    배우는 사람 입장을 생각하고 작성한 글이라는게 마음에 와 닫게 되겠죠

    고마움을 느낄겁니다

    그러나 글을보고 글 중간중간 다른사이트로 이동해 이해하기 위해 글을 보다보면

    짜증나는 경우가 허다 합니다

    좋은뜻으로 블로그 만드신것은 알겠지만 그 좋은뜻에 적합한 내용이었으면 하는것도

    블로그를 찾는 사람의 바램이라 이 블로그를 자주 들러보고 느낀점을 적습니다

    좋은뜻으로 블로그를 만드셨을텐데 그 속에서 글을 보면서 짜증나는 자신이 좀 이상하게도

    생각 됩니다

    그러한 부분들이 있고 블로그의 글을 통해 서로 소통하는 곳이라 생각하기에 태클아닌

    느낀점을 적었습니다

    감사합니다 덕분에 잘 이해했습니다 << 이런답변은 기본매너라 생각하지만 블로그를 작성

    하시는분께 정보를 주는데는 부족해서 솔찍하게 느낀점을 적었습니다

    블로그를 운영하시는데 도움이 되셨으면 합니다.





    • 지나가다 2015.10.26 09:08 신고  댓글주소  수정/삭제
      지나가다 이건 아무리봐도 아닌것 같아서 글 남겨 봅니다. 오지랖이 도를넘고 남을 가르치려는 드는 행태가 꼰대같아 보이는 댓글이네요. 활성 파티션 심화 글에서 부가적인 설명에 대해 짜증이 난다는 표현을 슬그머니 하지 않나 아주 가관입니다. 앞으로 블로그 댓글 달때는 글을 천천히 잘 읽어 보시고 남들에 비해 이해력이 모자란 것에 대해 글쓴이를 타박하기 보다는 분발하려는 마음가짐을 가지기 바랍니다. 저의 솔찍한 느낌을 적어봤습니다. 블로그 댓글 다시는데 도움이 되셨으면 합니다.
  7. 김용성 2016.06.07 12:06 신고  댓글주소  수정/삭제  댓글쓰기
    유익한 글 감사합니다. 한가지 질문이 있습니다. HDD 의 파티션을 3개로 나눈다고 가정했을때, Drive letter 는 C,D,E, 가 되겠지요. 물론 Window8.1 등을 설치시에는 Reserved 파티션포함 4개로 되겠는데, 이때 실제적으로 부트섹터 (MBR) 의 위치는 C: drive 에 위치 하는지 reserved 파티션에 에치하게되는지 아니면 파티션분할에서는 항상 제외되는지 알고 싶습니다.
    만일 Active 볼륨을 C: 에서 D: 나 E: 등으로 옮겼을때, MBR 의 존재하는 파티션의 실제위치는 C: 라고 하면 BIOS 는 MBR 을 참조하기하기위하여 C: 드라이브의 MBR 을 먼저 참조후 Active 된 D: 나 E: 로 이동하게 되는지요.
    만일 항상 C: 에 위치한다면 C: 를 format 이나 Unallocated 로 하였을때, MBR 이 제거 되어 부팅이 불가 상태로 되는지요?

댓글을 달아 주세요

- 댓글에선 예의를 지켜주시기 바라며, 블로그지기는 댓글에서 따로 활동하지 않습니다.

* 티스토리 사용자는 여기를 클릭하시면 로그인 됩니다.

BBCode 안내   굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드-Imgur.com