디스크와 파티션

[DiskPart] 목록을 확인하고 작업할 대상을 선택하는 방법 (2) - List, Select

CApple 2012. 4. 12. 17:20
DiskPart 작업의 기초 - 작업 대상의 선택(포커스의 지정)

자 현재 시스템에 존재하는 디스크, 파티션, 볼륨, 가상 디스크의 목록을 List 명령을 통해 확인했습니다. 다시 묻죠. 왜 DiskPart 를 실행했나요? 왜 목록을 확인했나요? 디스크, 파티션, 볼륨, 가상 디스크에 필요한 어떠한 작업을 하려고 DiskPart 를 실행하고 목록도 확인했겠죠?

그럼 이제 실제로 필요한 작업을 진행하기 전에 뭘 해야 하나요? 그렇죠! 먼저 작업을 진행할 대상을 선택해줘야 합니다! 그걸 담당하는 명령이 바로 Select 명령입니다.

Select Disk=0

디스크 = Disk
파티션 = Partition
볼륨 = Volume
가상 디스크 = Vdisk



그럼 상황을 통해 Select 명령을 이해해보도록 하죠.


상황 1
"현재 내 시스템에 장착된 디스크들 중에 목록을 확인해봤거든! 보니까 디스크 1 이더라구. 그걸 깨끗하게 초기화하고 싶어!!!"

Select Disk=1
Clean


상황 2
"나는 디스크 번호와 파티션 번호를 미리 목록을 통해 확인했어. 확인해보니까 디스크 0 에 있는 파티션 2 더라구. 그걸 NTFS 로 빠른 포맷하고 싶어."

Select Disk=0
Select Partition=2

Format Fs=NTFS Quick


상황 3
"나는 어떤 파티션이 있는데 디스크랑 파티션 번호는 아직 모르겠고, 볼륨 목록으로 확인해보니까 볼륨 2 더라구. 아무튼 볼륨 2 에 해당하는 파티션을 활성화하고 싶어."

Select Volume=2
Active


상황 4
"나는 그 볼륨이 몇 번인지는 모르겠어. 근데 확실한 건 걔가 D: 드라이브라는거야. D: 드라이브 문자를 E: 로 바꾸고 싶어."

Select Volume=D
Assign Letter=E


Select Volume=D:
Assign Letter=E:


상황 5
"내가 예전에 만들어둔 VHD 가상 디스크가 있거든. 파일은 E:\Test.vhd 파일이고 이걸 시스템에 연결해서 사용하고 싶어."

Select Vdisk File="E:\Test.vhd"
Attach Vdisk



쉽죠? 나머지 명령들은 어차피 다 알아보게 될 것이니 우선은 그냥 개의치 마시구요. 일단은 이제 Select 명령에서 여러분들이 알아두셔야 할 것이 몇 가지 있는데 그 이야기를 해보도록 하죠.




DiskPart 포커스의 특성

딱 일곱 가지만 이야기하도록 하죠. 럭키 세븐 좋잖아요?

첫 째, 어떠한 대상을 선택했다는 것은 DiskPart 에서 해당 디스크, 파티션, 볼륨, 가상 디스크에 포커스를 지정했다, 또는 해당 대상으로 포커스를 이동했다고 표현합니다. 여기서 포커스라는 용어는 사진에서 이야기하는 그 포커스가 맞습니다. 의미도 대충 비슷하고요. 즉,

포커스 지정 = 대상 선택,
포커스 이동 = 해당 대상으로 선택이 변경,

을 의미하는 것입니다. DiskPart 와 관련된 모든 문서들에서(DiskPart 도움말에서도) 이 포커스라는 용어를 사용하니 꼭 알아두세요. 제 글 뿐만 아니라 다른 글들도 보시려면 말이죠. 아무튼 이하 설명에서는 포커스로 통일합니다.


둘 째, 선택된(포커스가 지정된) 대상은 목록에서 * 로 표시됩니다. 이를 통해 해당 대상에 현재 포커스가 지정되어 있음을 알 수 있습니다.



셋째, 파티션을 선택할 때를 예로 들죠. 파티션을 선택하기 위해선 디스크를 선택하고 파티션을 선택합니다.

Select Disk=0
Select Partition=1


이러면 현재 상태는 디스크 0파티션 1 둘 모두에 포커스가 지정되어 있는 상태입니다. 이상태에서 디스크에 관련된 명령을 내리면 디스크 0 에 작업이 이루어지고 파티션에 해당하는 명령을 내리면 파티션 1 에 작업이 이루어지는 것이죠.


넷 째, 파티션과 볼륨은 하나의 대상을 가르키는 경우가 많습니다. 이 말은 디스크 0 파티션 1 은 동시에 볼륨 0 일 수 있다는 것이죠. 이럴 때는 둘 중에 아무거에나 포커스를 지정해도 두 대상 모두에 동시에 포커스가 지정됩니다.

Volume 0 = Disk 0 Partition 1 이라면

Select Volume=0

= Select Disk=0
Select Partition=1


즉, 둘 중에 아무걸로나 해도 상관이 없다는 것이죠. Select Volume=0 으로 볼륨에 포커스를 지정하면 자동으로 Disk 0 과 Partition 1 에도 포커스가 지정되고 Select Disk=0, Select Partition=1 로 파티션에 포커스를 지정하면 자동으로 볼륨 0 에도 포커스가 지정된다는 소리입니다.


다섯 째, 드라이브 문자나 드라이브 경로로 지정할 수 있는 대상은 Volume 입니다. Partition 은 안 됩니다. 즉, Select Volume=C 는 되지만 Select Partition=C 는 안 된다는 소립니다.


여섯 째, 당신이 현재 알고 있는 정보를 최대한 활용해서 편하게 포커스를 지정하세요. 파티션을 예제로 들죠. 해당 파티션은 Disk 0 Partition 1 이고, 동시에 Volume 0 이며, 또한 동시에 C: 드라이브입니다. 앞의 이야기에서 알 수 있듯이 볼륨이나 파티션 어디에 포커스를 지정하든 상관 없죠. 근데 이 중에서 가장 먼저 알고 있을 확률이 높은 정보는 해당 파티션이 C: 드라이브라는 정보일 것입니다. 그럼 그걸로 지정하세요.

Select Volume=C

빙글빙글 돌아가지 마시구요. 단! 한 가지 꼭 알아두셔야 할 게 있습니다. 이 말이 List Volume 등을 통해 대상을 정확하게 확인할 필요없이 바로 대상을 지정해도 상관없다는 말은 아니라는 것입니다. 자신이 알고 있는 드라이브 문자가 확실할 때 그럴 때는 굳이 볼륨 번호나 파티션 번호를 반드시 확인하여 꼭 그걸로 사용할 필요는 없다는 의미죠.

저나 다른 분들이나 DiskPart 에 대해서 이야기할 땐 보통 이런 방식의 대상 선택에(포커스 지정에) 대해선 잘 이야기를 안 하죠? 왜 그러냐면 DiskPart 는 윈도우에서도 많이 사용되지만 윈도우 PE(윈도우 설치 DVD, 컴퓨터 복구) 로 부팅된 환경에서도 많이 이용되기 때문입니다.

이게 무엇을 의미하는 것이냐면 제가 굉장히 여러 번 이야기했는데요. 드라이브 문자는 가변적인 것이라 그렇습니다. 윈도우에선 C: 드라이브였는데 윈도우 7 설치 DVD 로 부팅했을 땐 C: 가 아닐 수 있단 말이죠. 역시나 이럴 땐 어쩔 수 없이 List Volume 등을 통해 목록을 한 번 확인해 봐야 합니다. 그러니까 윈도우에서 작업을 하는데 해당 드라이브 문자가 확실하다. 이런 전제가 중요하다는 겁니다.


일곱 째, 포커스는 자연스럽게 이동합니다. 하나의 예를 들어 디스크를 선택한 후 파티션을 생성하는 명령을 내렸다는 가정을 해보도록 하겠습니다. 그럼 새롭게 생성된 파티션에 자연스럽게 포커스가 지정되는 것이죠. 즉, 따로 다시 생성된 파티션에 포커스를 지정해 줄 필요가 없는 것입니다.

Select Disk=0
Create Partition Primary -> 명령 실행 후 자동으로 생성된 파티션에 포커스가 지정됨
Format Fs=NTFS Quick -> 그렇기에 따로 Select Partition 명령 없이도 바로 포맷 명령 가능
......


마지막으로 100% 확실하다는 확신이 안 선다면, 또는 상황이 그렇지 않다면, Select 명령을 통해 대상을 선택하기 전에 반드시 List 명령을 통해 대상을 먼저 확인하는 습관, 이것만 잊지 마세요. 그거 외엔 제가 더 할 말이 없네요. 잊지 마세요. 잘못된 대상 지정으로 인해 상황 뭣같이 꼬이는거 한 순간입니다.




마치며

제가 DiskPart 에 대해서 하고 싶었던 말의 90% 는 했군요. DiskPart 를 실행하고 목록을 확인하고 작업을 진행할 정확한 대상을 선택할 수 있으면 DiskPart 의 모든 걸 할 수 있습니다. 이후부터는 단순하게 필요한 명령을 알고 외워서 실제 작업에 응용만하면 되는 것이죠.

간단한 겁니다. 이만 줄이... 근데 이번 글에선 말만 했네? 흠... 몰라 그냥 끝!


모든 명령은 원래 형태로 작성하였습니다. Select Disk=0 은 Select Disk 0 과 같이 = 을 빼도 되고, Sel Dis 0 과 같이 축약할 수도 있습니다. 다만 원래의 정확한 명령을 알자는 의미에서 글에서는 되도록이면 원래의 명령을 사용하였고 앞으로도 그러도록 하겠습니다. (습관에 의해 불현듯이 축약형 명령이 나올 수도 있습니다. ^^;)