Ⅰ. 윈도우의 다섯 가지 파티션 상태

윈도우 7 에는 시스템, 부팅, 페이지 파일, 활성, 크래시 덤프라는 다섯 가지의 파티션 상태가 존재합니다.[윈도우 XP 도 윈도우 7 과 같은 파티션 상태들이 존재하지만 특별히 분리되어 있지 않는 한 시스템 파티션 하나로 표시됩니다. 하지만 분리될 경우 표시해 줍니다.]


다섯 가지의 파티션 상태


이러한 구분은 디스크 차원에서 나누어지는 주 파티션, 확장 파티션, 논리 드라이브와 같은 분류와는 달리 윈도우 차원에서 나누어지고 관리되는 분류 입니다.[단! 활성 파티션은 디스크 차원에서 관리 됨] 그렇다면 이러한 파티션들은 각각 무엇을 의미하는 것일까요? 이번 포스팅에서는 이러한 파티션들이 무엇을 의미하는지에 대해서 알아보도록 하겠습니다.

※ 이 포스팅에서 이야기하는 활성 파티션은 MBR 디스크 - 기본 디스크 상태를 기준으로 합니다.




Ⅱ. 활성 파티션(Active Partition)

활성 파티션은 나머지 네 종류의 파티션과 달리 윈도우 차원에서 관리되는 것이 아닌 디스크 차원에서 관리되는 파티션임을 알아두십시요. 활성 파티션은 시스템 파티션과 굉장히 밀접한 관련이 있습니다.


활성 파티션은 x-86 프로세서 기반 IBM PC 의[쉽게 우리가 일반적으로 사용하는 컴퓨터] 컴퓨터 부트에서 유래된 파티션 입니다. x-86 프로세서 기반 IBM PC 는 운영체제와 컴퓨터를 시작할 수 있도록 하나의 주 파티션을 컴퓨터의 부팅에 사용할 것이라고 알려 주어야 합니다. 즉, 반드시 하나의 주 파티션을 부팅용으로 명시해 주어야 하는 것 입니다. 이 때 이렇게 부팅용으로 정의된 주 파티션을 활성 파티션이라고 합니다.




1. 디스크가 활성 파티션을 정의하는 방법

디스크가 활성 파티션을 정의하는 방법은 MBR 의 파티션 테이블에서 해당 파티션의 상태를 Active 로 마킹하는 것 입니다. 지난 포스팅에서 살펴본 MBR 과 파티션 레코드(엔트리)의 구조를 다시 한 번 상기해 보도록 하겠습니다.

마스터 부트 레코드의 구조[Structure of a Master Boot Record]
주소 설명 크기
Bytes
16진수 8진수 10진수
0000 0000 0 코드 영역[code area] 440
(max. 446)
01B8 0670 440 디스크 서명[disk signature (optional)] 4
01BC 0674 444 비어 있음[Usually nulls; 0x0000] 2
01BE 0676 446 프라이머리 파티션 테이블
네 개의 16 Byte 엔트리
[Table of primary partitions
(Four 16-byte entries, IBM partition table scheme)]
64
01FE 0776 510 55h MBR 서명[MBR signature];
0xAA55
2
01FF 0777 511 AAh
MBR, 전체 크기: 446 + 64 + 2 = 512

16-Byte 로 된 파티션 레코드의 구조
오프셋 필드 길이 설명
0x00 1 Byte 파티션 상태 (0x80 = 시동 가능, 0x00 = 부팅불가, 기타 = 비정상)
0x01 3 Byte 파티션의 첫 번째 섹터의 실린더-헤드-섹터 주소
0x04 1 Byte 파티션 종류
0x05 3 Byte 파티션의 마지막 실린더-헤드-섹터 주소
0x08 4 Byte 파티션의 첫 번째 섹터의 LBA
0x0C 4 Byte 파티션의 크기 (단위: 섹터) [* 전체 섹터의 개수]


그럼 표를 살펴보죠. MBR 에서 파티션 테이블은 해당 섹터의 01BE 부터 시작해서 16 Byte 씩 4 개의 파티션 레코드(엔트리)를 가집니다. 즉 01BE~01FD 까지의 영역이 파티션 테이블 영역이라는 것이죠.[위의 표에 모두 나와 있는 내용입니다.]

다시 파티션 레코드에서 첫 번째 필드에(첫 번째 바이트에) 해당 파티션의 상태를 기록하게 되는데 파티션 상태는 총 세 가지의 값을 가지게 됩니다.[이 때의 파티션 상태는 윈도우가 관리하는 파티션 상태가 아닌 디스크가 관리하는 세 가지 파티션 상태를 의미합니다.]

  • 0x80 - 활성 파티션, Bootable, Active
  • 0x00 - 일반 파티션, Non-bootable
  • 기타 - 비정상, Invalid

활성 파티션은 이러한 파티션 엔트리에서 첫 번째 필드가 0x80 으로 마킹된 파티션을 의미합니다. 그럼 누가 이걸 마킹하느냐? 윈도우의 디스크 관리, 윈도우의 DiskPart, GDisk, 파티션 위자드와 같은 디스크 & 파티션 관리 프로그램들이 마킹하는 겁니다.


별로 쓰잘때기 없다고 생각되지만 한 번 실제로 살펴보도록 하죠. 디스크에 직접 접근하여 섹터의 내용을 살펴볼 수 있는 프로그램이 필요합니다. 저는 시만텍사의 디스크 & 파티션 관리 툴인 GDisk 를 사용하도록 하죠.[GDisk 의 사용법은 이 포스팅에서 이야기하지 않습니다.] 제 실제 시스템의 두 번째 디스크를 예제로 사용하도록 하겠습니다.


보시는 바와 같이 그냥 평범한 일반 파티션 입니다. 이 디스크의 MBR 영역의 내용을 살펴보도록 하죠. MBR 은 디스크의 첫 번째 섹터에 위치해 있습니다. 첫 번째 섹터의 주소는 논리적인 섹터 주소로 0 이고 물리적인 섹터 주소로는 CHS 0:0:1 입니다.[보실 분들은 사용하는 프로그램을 통해 해당 주소를 찾아보세요.] 내용을 보도록 하죠.

01BE ~ 01FD 까지의 파티션 테이블 영역


파티션 테이블 영역과 네 개의 파티션 레코드(엔트리)를 보기 편하게 표시해 본 것 입니다. 그 중 첫 번째 파티션의 첫 번째 필드의[1 Byte] 값이 00 임을 확인할 수 있습니다.[해당 디스크에 파티션이 하나라 나머지 파티션 레코드는 비어 있습니다.] 이것은 일반 파티션을 의미합니다. 이제 이 파티션을 활성 파티션으로 설정하고 다시 살펴보도록 하죠.

파티션을 활성 파티션으로 설정한 후 다시 살펴 본 모습


해당 파티션 레코드의 첫 번재 필드 값이 80 으로 변경된 것을 확인할 수 있죠. 이제 이 파티션은 활성 파티션이라는 의미입니다. 익숙한 디스크 관리를 통해 보죠.

파티션이 활성으로 설정된 모습


이제 디스크가 활성 파티션을 관리하는 방법에 대해서 확실히 이해하시겠죠?


하나의 디스크에는 하나의 활성 파티션만 존재하는 것이 정상입니다. 그래서 디스크 & 파티션 관리 프로그램들은 하나의 주 파티션을 활성으로 설정하면 해당 파티션 엔트리의 파티션 상태를 80 으로 마킹하고 기존에 다른 활성 파티션이 있었다면 해당 파티션 엔트리의 파티션 상태를 00 으로 마킹하여 기존 활성 파티션을 자동으로 풀어 줍니다. 간혹 프로그램에 따라 이 작업을 안 하고 하나의 디스크에 여러 개의 주 파티션을 활성으로 마킹할 수도 있지만 어디까지나 정상적인 것은 아닙니다.

그러니 여러분들도 그저 재미로 헥스 에디터 등을 통해 임의로 하나의 디스크에 활성 파티션을 여러 개로 만들어 두는 작업은 되도록 권장하지 않습니다. 이런 경우 첫 번째 활성 파티션을 자동으로 인식하여 큰 문제는 없지만 어떤 프로그램에서 문제를 일으키게 될 지 모르니까요.




2. IBM PC 의 부팅 구조

IBM PC 의 BIOS 는 컴퓨터의 부팅 과정에서 하드웨어의 체크를 모두 마친 후 첫 번째 디스크의 첫 번째 섹터로 이동을 합니다. 디스크의 첫 번째 섹터는 MBR 영역이죠. 이 MBR 영역에서 부팅용으로 정의된 주 파티션인 활성 파티션을 찾습니다. 활성 파티션을 찾으면 해당 파티션의 부트 섹터로 이동을 하여 부트 매니저를 찾고 부팅의 제어권을 운영체제에게 넘기는 것이죠.

이러한 IBM PC 의 부팅 과정으로 인해 시스템에 장착된 모든 디스크에 각각 활성 파티션을 설정할 수 있지만 실제로 부팅에 사용되는 활성 파티션은 오직 첫 번째 디스크의 활성 파티션 뿐 인 것 입니다.[그래서 다른 디스크의 활성 파티션으로 부팅을 하려면 해당 디스크를 CMOS 셋업에서 첫 번째 디스크로 설정해 주어야 하는 겁니다.] 이해하시겠죠?

디스크마다 활성 파티션을 설정할 수 있지만 IBM PC 의 부팅 구조상 실제로 사용되는 활성 파티션은 오직 첫 번째 디스크의 활성 파티션 뿐이다.


이러한 연유로 만약 첫 번째 디스크에 활성 파티션이 존재하지 않는다면? 컴퓨터는 부팅할 수 없습니다. 활성 파티션은 여기까지 입니다.






Ⅲ. 시스템 파티션

시스템 파티션이란 윈도우를 부팅시킬 수 있는 부트스트랩(부트 매니저) 파일을 가지고 있고 부팅을 진행하는 파티션을 의미합니다. 윈도우 7 의 부트스트랩 파일은 Bootmgr 파일과 BCD 이죠. 윈도우 XP 는 NTLDR, NTDETECT, Bootfont.bin Boot.ini 파일이구요. 이러한 해당 윈도우의 부트스트랩 파일이 위치한 파티션을 시스템 파티션이라고 합니다.

윈도우 7 의 부트스트랩(부트 매니저) 파일들


윈도우 XP 의 부트스트랩(부트 매니저) 파일들


그런데 윈도우의 이러한 부트스트랩 파일은 윈도우 설치 단계에서 반드시 첫 번째 디스크의 활성 파티션에 설치 됩니다. 그래서 윈도우에서 시스템 파티션은 무조건 활성 파티션인 것입니다. 만약 윈도우를 설치하고 난 후 사용자가 (첫 번째 디스크 내에서) 다른 파티션으로 활성 파티션을 변경하였다면 이러한 윈도우의 부트스크랩 파일들도 변경된 활성 파티션에 재설치 해 주어야만 윈도우가 정상적으로 부팅할 수 있습니다.


만약 윈도우 7 을 설치할 때 시스템 예약 파티션을 포함한 상태로 설치를 하였다면 윈도우 설치 프로그램은 시스템 예약 파티션을 활성 파티션으로 마킹하고 그로 인해 시스템 예약 파티션이 활성 파티션이자 시스템 파티션이 됩니다.

시스템 예약 파티션의 모습.







Ⅳ. 부팅 파티션

부팅 파티션이란 윈도우 시스템이 위치한 파티션을 의미합니다. 간단하게 윈도우 자체가[\Windows] 설치되어 있는 파티션이 바로 부팅 파티션이라고 생각하시면 됩니다. 이러한 부팅 파티션의 드라이브 문자는 제거하거나 변경할 수 없습니다.

쉽게 윈도우 폴더가 위치한 파티션을 부팅 파티션이라고 생각하면 된다.






Ⅴ. 페이지 파일 파티션

윈도우의 가상 메모리 파일인 페이징 파일이 위치한 파티션을 의미합니다.

페이징 파일의 모습


페이지 파일 파티션은 반드시 드라이브 문자가 할당되어 있어야 하며[안 그러면 설정 자체가 불가능] 부팅 파티션과 마찬가지로 페이지 파일 파티션은 드라이브의 문자를 제거하거나 변경할 수 없습니다. 만약 페이지 파일 파티션의 드라이브 문자를 변경하거나 제거하고자 한다면 먼저 윈도우의 가상 메모리 설정을 통해서 페이지 파일을 제거하고 윈도우를 재시작한 후 해야 합니다.

페이징 파일의 설정






Ⅵ. 크래시 덤프 파티션

윈도우가 치명적인 오류로 인해 정지되었을 때[공포의 블루 스크린] 멈춘 컴퓨터의 정보를 저장하게 되는데 이를 크래시 덤프(Crash Dump) 라고 합니다. 이 때 이 크래시 덤프 파일이 저장되는 파티션이 크래시 덤프 파티션입니다. 크래시 덤프는 %SystemRoot%\MEMORY.DMP(C:\Widnwos\MEMORY.DMP) 로 저장되며, 이 때문에 부팅 파티션이 크래시 덤프 파티션이 됩니다.

크래시 덤프의 설정


윈도우의 시작 및 복구 설정에서 시스템 오류시 디버깅 정보 쓰기를 (없음) 으로 설정하게 되면 C: 에 설정되어 있던 크래시 덤프는 해제 됩니다.

덤프 파일의 저장 위치를 다른 파티션으로 변경하여도 크래시 덤프 파티션의 위치는 변경되지 않는 것을 확인하였습니다. 강제로 블루 스크린에 빠지도록 만들어 덤프 파일을 새로 기록하게 되면 어떻게 될 지 모르겠으나 해당 상황을 강제로 연출할 방법이 마땅히 떠오르지 않아 실험은 해보지 못했습니다.



지금까지 디스크 관리에서 표시되는 디스크의 상태들이 무엇을 의미하는지 알아보았습니다. 다른 무엇보다 활성, 시스템, 부팅 파티션은 그 의미가 중요하기도 하거니와 혼동하기도 쉽기 때문에 정확하게 알아두시길 바랍니다. 또한 살펴 본 것과 같이 활성 파티션과 시스템 파티션은 윈도우의 부팅과 멀티 부팅 설정에 매우 밀접한 관련이 있습니다. 이러한 내용은 윈도우의 부팅에 대해서 다룰 때 불현듯이 튀어나올 수 있습니다. ^^; 이상입니다.




 

 

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

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -
  1. 돌산 2013.01.14 21:16 신고  댓글주소  수정/삭제  댓글쓰기
    활성,시스템,부팅,페이지 파일,크래쉬 덤프 파티션에 대해서 보기 좋게 잘 다루어 주셨네요.예전에 캐플님 블로그를 알기 전에는 "도대체 이게 뭔 말들이야?"했었는데 말입니다.ㅎㅎ

    그리고 하나 질문드릴께요.
    현재 amd시스템에 윈도우 7을 쓰고 있는데요.6월에 인텔 하스웰이 나오면 넘어갈까 하고 생각중입니다.
    그런데 현재 이벤트중인 윈8프로 업그레이드 구입행사를 통해 윈 8을 구매하고자 할 때에 현재의 시스템정보도 함께 전송이 되나요? 그래서 업그레이드판을 구매했을 때에 현재의 amd 시스템에만 설치할 수 있는 것인가요,아니면 현재의 시스템에서 인증키와 iso파일만 받아 놓고, 설치는 나중에 구매할 인텔 시스템에만 한다고 했을 때에 클린 설치할 수 있는가요?

    • BlogIcon CApple 2013.01.16 19:03 신고  댓글주소  수정/삭제
      윈도우 업그레이드 버전의 정확한 라이센스가 어떻게 되는지 모르겠네요. 일단 COEM(구 DSP) 버전과 라이센스가 같다면 컴퓨터가 바뀌면 윈도우도 새로 구매해야 하는 구조라서, 메인보드가 바뀌면 인증이 안 되는 게 기본입니다. 이건 좀 더 라이센스 정책을 찾아봐야 정확하게 알 수 있을 듯 하네요.

      이제 보통 완전히 처음 사용자용이 컴퓨터를 완전히 바꿔도 계속 인증하여 사용할 수 있는 라이센스인데, 문제는 윈도우 8 은 처음 사용자용은 출시하지 않고 COEM 버전만 출시한다는 이야기를 제가 들었고, 또 처음 사용자용이라고 이름 붙은 녀석이 현재까지도 보이질 않네요.
  2. BlogIcon shijeo 2013.02.10 11:13 신고  댓글주소  수정/삭제  댓글쓰기
    시스템엔지니어링을 공부하면서 컴퓨터 서비스를 하고 있습니다.
    캐플님의 잘 정리된 블로그를 보니 난삽한 제 블로그가 부끄부끄~~~
    2013에도 건강하고 행복하셔요!!!
    많은 도움이 되어 인사를 대신해 댓글로 올립니다 감사합니다.
    우리 매장을 방문하시면 감 사 드릴께요(단감/홍시/~~,원하시는 걸로다가...)
  3. 최창호 2014.07.22 21:37 신고  댓글주소  수정/삭제  댓글쓰기
    궁금한 내용을 검색하다가 제가 원하는 강의가 있어 글 남깁니다.(왕초보라 잘 이해가...)
    SSD에 OS용으로 윈7 64비트, 그리고 1테라 하드(주파티션 2개 나눔)를 데이터용으로 사용 중입니다.
    윈도우 업데이트를 한 후에 "부트매니저가 없어 부팅불가"라고 나오길래 바이오스(H87-Pro)에서 첫번째 부팅순서를 SSD로 지정하니까 부팅은 일단 정상적으로 되었습니다.

    하지만 다음날 컴을 켜니 똑같은 증상이 있었습니다. 컴 켤때마다 계속 이럴순 없고...... 그래서 디스크관리자에서 보니 SSD야 부팅 파티션이니 활성이 당연하지만 하드디스크의 첫번째 파티션도 활성 파티션으로 되어있네요.

    어떻게 왜 활성 파티션이 되었는지는 모르지만 부팅하곤 전혀 상관없는 이 쓸데 없는 하드디스크의 활성 파티션을 비활성 시키면 그 안의 데이터는 아무 문제없나요?

    읽어주셔서 감사드립니다!

댓글을 달아 주세요

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

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

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