파티션(볼륨)의 크기를 확장하는 Extend 명령

1. 파티션 확장하기의 기초

기본 디스크에서 파티션을 확장하는 것에 대해서는 지난 디스크 관리 글에서 자세하게 설명을 드렸죠. 간단하게 또 요약해 드릴께요. 근데 우선 다음을 기억하세요. 파티션 확장이라지만 실제론 볼륨 확장이란 개념에 더 가깝습니다. 뭐 기본 디스크에선 볼륨이나 파티션이나 뭐 거의 그게 그거지만요. 이건 뒤에서 아주 간단하게 이야기드리죠. 그럼 요약 나갑니다.

기본 디스크에서의 파티션 확장

파티션 확장은 파티션의 마지막 섹터에서 인접한 할당되지 않은(사용 가능한 공간) 영역으로 확장되며 확장의 대상은 볼륨(주 파티션과 논리 드라이브)입니다.

- NTFS 로 포맷되었거나 아직 포맷되지 않은(RAW) 주 파티션과 논리 드라이브
- 파티션의 바로 뒤에 인접하여 할당되지 않은(사용 가능한 공간) 영역이 존재하는 파티션

확장하려는 파티션의 바로 뒤에 인접하여 할당되지 않음(사용 가능한 공간) 영역이 존재해야 함.



간단하죠? 이러한 파티션 확장은 부트 매니저가 설치된 시스템 파티션은 물론 윈도우가 설치된 부팅 파티션도 윈도우가 실행 중인 상태에서 바로 확장할 수 있습니다. 꼭 윈도우 PE 나 컴퓨터 복구로 부팅할 필요는 없다는 거죠. 이점 기억해 두세요. 그리고 FAT32 나 exFAT 으로 포맷된 파티션은 확장할 수 없다는 것도 기억하세요.



2. Extend 명령의 이해

다음으로 DiskPart 에서 파티션을 확장하는 명령은 Extend 입니다. 사용법은 역시나 간단합니다. 확장을 원하는 볼륨(파티션)을 선택한 후 Extend 명령을 내리면 되죠. 기본 디스크에서의 Extend 명령은 다음과 같은 형식으로 사용됩니다.

Select Volume=C [Select Disk=0, Select Partition=1]
Extend Size=10240


Size=[확장할 크기(MB)]


여기에서 Size 매개 변수의 이해가 굉장히 중요합니다. 까닥 잘못된 결과를 가져올 수 있거든요. Size 매개 변수는 해당 파티션에 추가할 용량을 의미합니다. 최종적인 파티션의 크기가 아니라요. 그러니까 간단하게 계산을 해보죠.

30GB(30720MB) 짜리 파티션이 있어요. 이 파티션을 40GB(40960MB) 로 만들고 싶어요. 그럼 Size 는 몇을 입력해야 할까요? 정답은 10GB(10240MB) 입니다. 즉, 추가적으로 더해줄 용량을 입력하는 것이죠. 간단하죠?

① 원래 크기 = 30720MB
② 원하는 크기 = 40960MB
Size(② - ①) = 10240MB



이제 Size 매개 변수를 생략하면 다음과 같은 의미가 됩니다.

Extend : 인접한 할당되지 않은 영역의 공간이 끝날 때까지 확장 [가능한 최대로 확장]


간단하죠?




파티션 확장하기

파티션(볼륨) 확장 과정의 요약

볼륨(파티션) 선택(Select) -> 파티션 확장(Extend)

이건 뭐 더 설명하고 뭐고 할게 없어요. 그러니 바로 예제로 들어가죠. 우리의 시간은 소중하니까요.


예제 1

현재 30GB 의 크기를 가지고 있는 C: 드라이브 파티션을 40GB 의 크기로 확장하는 예제입니다.

[작업 전]



[DiskPart 작업]
diskpart
select volume=c
extend size=10240


[작업 후]




예제 2

드라이브 문자가 할당되지 않은 디스크 0 파티션 2 파티션을 남은 할당되지 않은 영역 전체를 사용하여 최대 크기로 확장합니다. [파티션에 드라이브 문자가 지정되어 있지 않기 때문에 선택은 디스크와 파티션 번호로 하며(List 로 찾기 귀찮잖아요...), Size 매개 변수를 생략하는 것이 어떤 의미인지를 나타냅니다.]

[작업 전]



[DiskPart 작업]
diskpart
select disk=0
select partition=2
extend


[작업 후]



예제에서는 보이지 않지만 볼륨, 디스크, 파티션을 선택할 때는 윈도우 PE 나 컴퓨터 복구로 부팅하여 디스크 구성이 바뀔 수도 있는 상황과 같이 100% 확신할 수 없는 상황이라면 반드시 먼저 List 명령을 통해 정확한 디스크와 파티션 볼륨의 번호를 확인하는 것이 좋습니다. 잊지 마세요.




알송달송한 녀석들에 대한 이야기

1. 확장 파티션 - 그 어정쩡한 포지션

너는 파티션은 파티션인데 볼륨도 아니고... 반달이냐?



제가 처음에 Extend 는 파티션 확장이라지만 실제론 볼륨 확장이란 개념에 더 가깝다는 이야기를 했죠. 실제로 나중에 동적 볼륨에서 동일하게 Extend 로 단순 볼륨을 확장하고 스팬 볼륨을 구성하고 뭐 그렇거든요. 일단 이 이야기는 지금할게 아니고 지금 중요한 건 파티션이니까.

그러니까 확장 파티션은 뭔가요? 예전에도 이야기했지만 얘도 파티션이에요. 껍대기 파티션! 그래서 볼륨은 아니에요. 왜? 저장 공간이 아니니까! 뭔 말인지는 깊이 생각하지 마시고~ 그래서 얘 자체로는 확장이 안 되요.



일단 확장 파티션은 여기까지...



2. 논리 드라이브와 사용 가능한 공간 그리고 할당되지 않은 영역

확장 파티션 내에 논리 드라이브는 볼륨이죠. 이건 주 파티션과 마찬가지로 명백하게 볼륨이에요. 그래서 확장 가능하죠. 그런데 논리 드라이브는 확장 파티션 안에서만 노는 존재에요. 확장 파티션을 벗어날 수 없어요. 그래서 Create Partition 명령에서도 Size 를 생략하고 Create Partition Logical 이렇게 논리 드라이브를 생성하면 확장 파티션의 사용 가능한 공간만을 사용하여 논리 드라이브가 생성된단 말이에요. 뭐 뒤로 더 튀어나가거나 그러질 않아요. 이건 상식이잖아요?

그럼 제가 한 가지 상황을 던져 드리죠.


문제 - D: 드라이브 파티션에 30GB 를 더해 최종 60GB 로 확장하려고 하면 어떻게 될까?


일단 논리 드라이브는 확장 파티션 내의 사용 가능한 공간만을 활용하기 때문에 남은 사용 가능한 공간이 10GB 뿐이라 명령이 실패할 것 같은 기분이 팍팍 들죠. 뭔가 안 될 것 같잖아요? 근데 사용 가능한 공간 바로 뒤에 할당되지 않은 영역이 떠억하니 붙어있단 말이죠. 결론을 말씀 드릴까요?

명령 실패 안 해요. 그리고 정확하게 확장되죠. 부족한 만큼 뒤의 할당되지 않은 영역을 사용하여 확장 파티션을 같이 늘려 버리거든요.

diskpart
select volume=d
extended size=30720




확장 파티션은 확장 안 된다며? 제가 언제요? 전 걔 자체로는 확장을 할 수 없다고 했지 아예 안 된다고 한 적은 없거든요? 아무튼 그래서 확장 파티션 내에 포함된 논리 드라이브를 확장할 때 남은 사용 가능한 공간이 없더라도 해당 논리 드라이브의 바로 뒤에 할당되지 않은 영역이 존재한다면 확장할 수 있다는 것 기억하시구요. 그로 인해 이러한 상황에서 논리 드라이브를 확장할 때 Size 매개 변수를 생략하면 원하지 않게 뒤로 아주 쭉쭉~ 확장될 수 있다는 사실도 기억을 하세요.

그리고 이건 아주 약간의 사소한 문제인데요. 한 번 크기가 늘어난 확장 파티션은 줄일 수가 없어요. 다음 글에서 배워볼 Shrink 명령도 마찬가지로 볼륨에서 작동하는거라 확장 파티션을 축소할 수 없고 또 이렇게 확장 파티션이 늘어난 상태에서 안의 논리 드라이브를 삭제하거나 줄이더라도 확장 파티션은 늘어난 크기 그대로 남아 있거든요. 경우에 따라 사람에 따라 이게 뭣 같은 상황일 수도 있는거니까요. 뭐 흔하지는 않겠지만...



그래서 제가 마지막으로 하고 싶은 말은...

마이크로소프트 이 개념없는 XX들아 그냥 확장 파티션도 확장이랑 축소 가능하게 만들고 논리 드라이브는 Create Partition 명령에서와 똑같이 확장 파티션 안에서만 놀도록 만들던가? 물론~ 확장 파티션 먼저 확장하고 다시 논리 드라이브 확장해야 하는 불편이 생길 수 있어! 그래도 개념 정리는 명확하게 되잖아?

그게 더 불편해서 현재처럼 만들었다고 치자. 그럼 논리 드라이브를 확장하면 확장 파티션도 같이 확장되잖아? 어쨌든 확장 파티션도 확장은 가능하다는 거네? 그럼 지금 정책 유지하면서 확장 파티션 자체도 확장과 축소가 가능하게 만들어주는게 예의 아니냐? 아니 아무리 확장 파티션이 볼륨이 아니라지만 걔는 같은 식구 아니냐? 걔는 뭐 어디서 주워온 자식이냐?

하나만 더 이야기하자 그럼 위와 같은 상황에서 논리 드라이브를 정확하게 확장 파티션의 사용 가능한 공간 전체 만큼으로만 확장하려면 그 뒤의 할당되지 않은 공간에 우선 주 파티션 하나를 만들어서 막고 그 상태에서 최대 크기로 확장한 후 다시 주 파티션을 치워야 되잖아? 그치? 맞지? 이 %^&!*$ 내가 경찰 총장이냐? 파티션으로 산성 쌓냐? 썩을 Extend 명령에 매개 변수를 하나 더 추가해서 응? 사용 가능한 공간만 사용할 지 응? 아니면 뒤의 할당되지 않은 영역까지 포함하여 사용할 지 응? 선택할 수 있게 해주는게 맞지 않을까? 응? 응? 응? 물론 이런 상황이 흔치 않은 상황이란 걸 알어! 누군 평생가도 못 만나볼 수 있는 상황일 수도 있어! 그래도! 뭔가... 그렇게 해주면 좋잖아... ㅜ_ㅜ

내가 너희들에게 애정이 있어서 이런 소리하는거야! 난 애플한테는 군소리 안 해! 왜? 사용을 안 하니까! 그러니까 제발...


파티션 확장은 여기까지...



 

 

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

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -

댓글을 달아 주세요

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

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

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