강좌 / 팁

윈 도 우 diskpart를 갖고 놀아봐요~

2012.05.06 21:14

윈도우찬양론자 조회:20552 추천:10

1. diskpart가 무엇이냐?

diskpart란, 윈도우의 '디스크 관리(diskmgmt.msc)'의 명령행 방식(CUI라고 합니다.) 프로그램입니다.
그럼, 좋은 GUI프로그램이 많은데 뭐하러 이런 CUI프로그램을 쓰냐?
물론 그럴 일은 별로 없지만 가끔 그럴 일이 생기게 됩니다.

바로 GUI환경이 사용 불가능할때(윈도우 7 설치 DVD의 PE와 같은)입니다.
그리고 배치 파일을 짤 때도 필요합니다.

저도 한번 컴터가 심각한 상황에 처했을때 써먹어 본 적이 있습니다. 그리고 요즘 배치파일을 공부하고 있는데 거기서도 쓰고 있습니다.

자....이제 잡담은 그만하고 본론으로 들어가겠습니다.

2. diskpart 사용법

먼저 diskpart를 사용하려면, CUI프로그램이니까 당연히 명령 프롬프트(cmd.exe)를 실행해야겠죠?
단 diskpart는 관리자 권한을 필요로 하므로, 관리자 권한으로 실행해야 합니다.

[관리자 권한으로 실행하는 법/]
Win(윈도우키)+R을 눌러서 '실행'창을 띄운 뒤 텍스트박스에 'cmd'를 입력한뒤 '확인'을 누릅니다.
[/관리자 권한으로 실행하는 법]

관리자 권한의 명령 프롬프트(이하 'cmd'라 합니다.)가 띄워졌으면 거기에 'diskpart'를 입력하고 엔터키를 눌러서 diskpart모드로 들어갑니다.
우리가 GUI에서 파티션 조정같은 작업을 할때 적절한 프로그램을 열듯이, CUI에서도 diskpart모드로 들어가는 겁니다.

자....diskpart 모드로 들어가면, c:\~~~>프롬프트 대신 DISKPART>프롬프트가 뜹니다.(뜨기까지는 10초 정도가 걸립니다)
이제 diskpart 모드로 들어가는 방법을 알았으면, 나오는 방법도 알아야겠죠?

나가는 방법은 들어오는 방법보다 명령어가 짧습니다. 'exit'을 치고 엔터를 누르면 다시 c:\~~~>프롬프트로 돌아옵니다.

이제 다시 diskpart모드로 들어와 주세요.
그리고 'help'를 입력하고 엔터를 누릅니다(이하 '엔터를 누릅니다.'라는 말은 빼겠습니다. 그냥 입력하라고 하면 입력후 엔터를 누르세요).
그러면 어쩌고저쩌고~ 사용 가능한 명령 목록들이 나옵니다.

help.png

여기에서 active, attach, create, detach, format, list, inactive, select, assign가, 일반적으로 가장 많이 사용하는 명령어인데(저만 그런가요?ㅠㅠ) 잘 기억해 두시기 바랍니다.
여기서 명령어들에 대한 설명을 간단하게 하겠습니다.

active : 디스크를 '활성'으로 표시합니다. 즉 부팅 가능하게 합니다.
attach : 가상 디스크 파일을 연결합니다(VHD에 관한 제 글을 참조하세요.).
create : 파티션, 볼륨, 가상 디스크(이하 'VHD')를 만듭니다.
detach : VHD를 연결 해제합니다.
format : 선택한 파티션을 해제합니다.
list : 존재하는 디스크, 파티션, 볼륨의 리스트를 출력합니다.
inactive : 디스크를 '비활성'으로 표시합니다. 즉 부팅 불가능하게 합니다.
select : 디스크, 볼륨 또는 파티션에 포커스를 위치합니다.
assign : 디스크 문자를 할당합니다.

위의 9개 명령어만 알아도 기본적인 기능은 다 쓸 수 있습니다.

먼저 다른 명령을 쓰려면 가장 기본이 되는, select명령부터 알아보겠습니다.


2.1 select
select명령은 말그대로 선택, 즉 포커스를 위치시키는 프로그램으로, 그러니까 예를 들어 C:를 포맷하고 싶다면(헉 이게 무슨짓이여;;;어차피 되지도 않겠지만ㅋㅋ) select 명령으로 C:에 포커스를 위치시킨 뒤 format명령을 내려주면 됩니다.

명령 형식 : select [disk | partition | volume | vdisk] [디스크번호 | 파티션 번호 | 볼륨 | file="VHD파일위치"]

즉, 첫번째 하드디스크에 포커스를 위치시키고 싶다면

select disk 0 (하드디스크 번호는 0번부터 시작합니다.)

이라고 하면 되는 것이고, 두번째 하드디스크의 첫번째 파티션에 포커스를 위치시키고 싶다면

select disk 1 (먼저 파티션이 위치하는 디스크를 선택해 주어야 합니다.)
select partition 1 (파티션 번호는 1번부터 시작합니다.)

와 같이 하는 겁니다.

기본적인 select사용방법은 여기서 알아보았으니, 앞으로의 예에서 더 잘 알아보시기 바랍니다.

추가 : select명령은 sel이라고 줄여도 됩니다. (sel dis 1과 같이)


2.2 list
list는 현재 시스템에 있는 디스크/파티션/볼륨(보통 '드라이브'라고 하는 것이 볼륨이라고 생각하시면 될 것 같습니다.)/VHD의 목록을 표시합니다.

명령 형식 : list [disk | partition | volume | vdisk]

즉 list disk 라고 명령을 내리면 다음과 같이 현재 시스템에 설치된 디스크의 목록을 보여줍니다.

디스크 ### 상태 크기 사용 가능 Dyn Gpt
------------- ------------- ------- ------------ ----- ----
디스크 0 온라인 465 GB 1024 KB
디스크 1 온라인 232 GB 98 GB
디스크 2 온라인 465 GB 1024 KB

그리고 list partition을 하면 파티션의 목록을 보여주는데, 그냥 list partition만 하면 다음과 같이 출력되며 절대 안됩니다.

파티션을 나열하도록 선택한 디스크가 없습니다.
디스크를 선택하고 다시 시도해 보십시오.

그러니까, 어떤 디스크에 있는 파티션을 표시하려면 해당 디스크를 select disk명령으로 선택해줘야 한다는 뜻이죠.
그래서 list partition을 하기전에, select disk 1과 같이 디스크를 선택해 주어야 합니다.

추가 : list명령은 lis라고 줄여도 됩니다.


2.3 active
'디스크 관리'에 들어가 보면, 대부분은 여러분이 윈도우를 설치한 파티션에 '활성'으로 표시되어 있을 것입니다. 당연히 윈도우를 부팅하려면 부팅이 가능하게 설정이 되어 있어야겠죠.

활성증명.png
파티션을 '활성'으로 표시하려면 먼저 활성으로 표시할 파티션에 포커스를 위치해 줘야겠죠?(즉 선택해 준다는 말입니다.) 그리고 나서 active명령을 실행해줘야 할 것입니다.

추가 : 잠깐 혹시 모르시는 분 있으실까 해서 설명드리는데요, '파티션'이란 1개의 물리적인 디스크를 여러개의 논리적인 디스크로 나누는 것 또는 나누어진 그것을 말합니다.

예) 우리가 C: 드라이브를 활성으로 표시하려면(이건 제 컴퓨터에서 입력한 것이므로 실제와는 약간 다를 수 있습니다.) :

[명령/]

DISKPART>list disk(lis dis 라고 줄여서 쳐도 됩니다.)

디스크 ### 상태 크기 사용 가능 Dyn Gpt
------------- ------------- ------- ------------ ----- ----
디스크 0       온라인       465 GB       1024 KB
디스크 1       온라인       232 GB       98 GB
디스크 2       온라인       465 GB       1024 KB

DISKPART>select disk 0 (C:가 위치하는 디스크입니다. sel dis=0이라고 해도 됩니다.)

0 디스크가 선택한 디스크입니다.

DISKPART>list partition (선택한 디스크에 존재하는 파티션의 리스트를 출력합니다. lis par이라고해도 됩니다.)

파티션 ###    종류    크기       오프셋
---------- ---------------- ------- -------
파티션 1       주       50 GB       1024 KB
파티션 2       주       415 GB      50 GB

DISKPART>sel par 1 (파티션 1을 선택합니다.)

1 파티션이 선택한 파티션입니다.

DISKPART>active (활성으로 표시합니다.)

diskpart에서 현재 파티션을 활성으로 표시했습니다.

[/명령]

이러면 현재 활성으로 표시한 파티션으로 부팅이 가능하게 됩니다.

추가 : active는 act라고 줄여도 됩니다.
추가2 : '활성'표시 제거는 위와 거의 같고, active를 inactive로만 바꾸어서 입력하면 됩니다.

2.4 assign
선택한 파티션에 드라이브 문자를 할당합니다.

명령 형식 : assign letter=[드라이브 문자]

예) 첫번째 하드디스크의 두번째 파티션에 드라이브 문자를 할당해 보겠습니다.

[명령/]

DISKPART>lis dis

디스크 ### 상태 크기 사용 가능 Dyn Gpt
------------- ------------- ------- ------------ ----- ----
디스크 0 온라인 465 GB 1024 KB
디스크 1 온라인 232 GB 98 GB
디스크 2 온라인 465 GB 1024 KB

DISKPART>sel dis 0

0 디스크가 선택한 디스크입니다.

DISKPART>lis par

파티션 ### 종류 크기 오프셋
---------- ---------------- ------- -------
파티션 1 주 50 GB 1024 KB
파티션 2 주 415 GB 50 GB

DISKPART>sel par 2

2 파티션이 선택한 파티션입니다.

DISKPART>assign letter=v

DiskPart에서 드라이브 문자 또는 탑재 지점을 할당했습니다.

[/명령]


2.5 attach
attach 명령은 VHD파일을 지정한 드라이브 문자로 마운트하는 명령입니다. 물론 앞으로 지겹도록 사용할 select명령으로 마운트할 VHD에 포커스를 위치해 줘야겠죠?

명령 형식 : attach vdisk

명령 형식은 매우 간단하죠? 그냥 VHD파일만 선택하고 attach vdisk명령만 입력하면 되니까요~^^아 그리고 assign letter도 해줘야겠죠?

예) D:\Windows 7 VHD.vhd 라는 VHD파일을 마운트해보겠습니다.

[명령/]

DISKPART>sel vdi file="D:\Windows 7 VHD.vhd"

DiskPart가 가상 디스크 파일을 선택했습니다.

DISKPART>attach vdisk

100 퍼센트 완료

DiskPart가 가상 디스크 파일을 연결했습니다.

DISKPART>assign letter=v

DiskPart에서 드라이브 문자 또는 탑재 지점을 할당했습니다.

[명령/]

탐색기를 열어 보시면 V:로 마운트된 VHD파일을 보실 수 있을 겁니다.


2.6 detach
연결된 VHD파일을 분리합니다.

명령 형식 : detach vdisk

attach보다 사용방법이 더 쉬우니 예만 보여 드리겠습니다.

예) 아까 V:로 마운트한 VHD파일을 분리해 보겠습니다.

[명령/]

DISKPART>sel vdi file="D:\Windows 7 VHD.vhd"

DiskPart가 가상 디스크 파일을 선택했습니다.

DISKPART>detach vdisk

DiskPart가 가상 디스크 파일을 분리했습니다.

[/명령]

2.7 format
포맷을 합니다.

명령 형식 : format fs=<파일시스템> label=<"라벨"> quick

<파일시스템>에는 NTFS와 같은 파일시스템을 넣고, <라벨>에는 '로컬 디스크'와 같은 디스크 라벨을 지정합니다. quick은 빠른 포맷을 한다는 옵션입니다.
참고 : 여기에는 일반적으로 거의 쓸데가 없는 몇가지 옵션이 빠졌습니다.

예) D:를 포맷하려면(첫째 디스크의 둘째 파티션)

[명령/]

DISKPART>sel dis 0

0 디스크가 선택한 디스크입니다.

DISKPART>sel par 2

2 파티션이 선택한 파티션입니다.

DISKPART>format fs=ntfs label="포맷 테스트" quick

[/명령]






자...이제 끝~

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
1422 소프트웨어| Comodo + Windows XP >>> IME 오류 [4] 가리산특공 7768 1 06-14
1421 소프트웨어| VMWare + npProtect >>> Virtual Drive Mapping e... [1] 가리산특공 7265 2 06-14
1420 소프트웨어| Comodo + VMWare > vmx86.sys error 가리산특공 8150 1 06-14
1419 소프트웨어| 7-Zip을 쓰자 : 개선된 알고리즘 LZMA2 [32] NEX 13242 5 06-01
1418 윈 도 우| (컴퓨터 조립 동영상) 커티에서 이동 하였습니다 [16] X_man 9421 2 05-25
1417 소프트웨어| 어베스트 방화벽 설정 (프로그램 차단) [5] 구들목 13580 3 05-16
1416 윈 도 우| 윈도우XP IE8 초간단 "다운그레이드 후 재설치"... [2] YhK군 17467 1 05-14
1415 하드웨어| 하드디스크의 어드밴스드 포맷 간편하게 확인하기 [9] NEX 14028 2 05-12
1414 하드웨어| Wear Range Delta 의 정의 [23] NEX 9415 4 05-12
1413 윈 도 우| MS Visual C++ 2005/2008/2010 패키지모음 및 오류해결 [7] 드로리안 18564 4 05-12
1412 윈 도 우| .Net Framework(닷넷프레임웤)관련 총정리 및 오류해결 [8] 드로리안 28199 7 05-12
1411 윈 도 우| Microsoft Fix it Center Online (Windows의 모든 문제를 ... 조남식 8642 2 05-12
1410 소프트웨어| mscomctl.ocx, msinet.ocx, msvbvm60.dll에러 초간단 해결 [7] 드로리안 20583 3 05-10
1409 윈 도 우| Win7 크롬에서 윈미플(WMP) 플러그인 실행 안될때.. [3] 드로리안 10248 2 05-10
1408 소프트웨어| 대륙의 종결자 2 조각모음 선지자 10882 2 05-09
1407 소프트웨어| TriDef 3D로 심즈3 3차원으로 실행하는 방법 나는나다 8553 0 05-09
1406 소프트웨어| Pale Moon에서 Roboform 사용하기. [4] 코프 7268 0 05-09
» 윈 도 우| diskpart를 갖고 놀아봐요~ [8] 윈도우찬양 20552 10 05-06
1404 윈 도 우| USB로 XP 설치하기(AHCI 지원, USB CD 영역 불필요) [33] 해밀 44620 16 05-04
1403 소프트웨어| 윈7에서 프로그램 인터넷 차단 방법 [9] 구들목 17624 3 05-02
XE1.11.6 Layout1.4.8