본문 바로가기

Experiment/Command

Diskpart를 통한 VHD,VHDX 생성 방법

 명령프롬프트 Diskpart를 통한 VHD, VHDX 파일 생성하는 법에 대해서 알아 보겠습니다.
윈도우창으로 만드는 법도 있지만, 윈도우를 재설치 한다던지 할 때 윈도우창으로 할 수는 없기에 광역적으로 효율적인 Diskpart 프로그램을 통한 생성방법을 소개합니다.

시작- 실행- diskpart 입력해서 Diskpart를 실행하세요

 VHD,VHDX를 만드는 가장 기본적인 틀은
create vdisk file="파일 생성 경로 maximum=용량(MB단위) 입니다.
 즉 예로 1gb짜리 d:\test.vhd경로에 만들고 싶다면
create vdisk file=d:\test.vhd maximum=1024 가 되겠죠

 자 여기까지는 기본틀 이였습니다. 그럼 여기서 추가된 Type 부분을 넣어 봅시다.
 vhd,vhdx 생성시 타입이란 파일 생성시 파일을 크기를 최대용량으로 고정할 것이냐, 아님 채울때 늘어나게 하겠느냐의 차이로 후자의 경우 데이터를 지워도 vhd파일은 용량이 줄어 들지 않습니다.
그러니 용량이 채워질 때까지는 빈공간으로 용량만 차지하게 되는 것이죠. 그럼에도 불구하고 사용하는 이유는 초기 생성이 빠르다는 점, 고정타입은 최대용량까지 일단 용량을 확보해두고 시작을 합니다. 그러니 용량 또한 미리 차지 하고 있고, 초기 파일 생성시 또한 그만큼 확보를 위해 쓰기작업을 해야 하니 용량면에서도 비효율적 파일생성시도 비효율적인것이죠.
 Type은 두 가지 명령어를 지원합니다. Fixed(고정) & EXPANDABLE(조정) 두 가지로 기본값은 Fixed 입니다.

 그럼 기본틀과 Expandable을 연결해서 사용해보겠습니다. 
ex)create vdisk file=d:\test.vhd maximum=1024 type=expandable
이렇게 되겠죠.

마지막으로 가장 중요한 부모자식 기능에 대해서 알아보겠습니다.

여기서 말하는 부모기본 틀이 되는 가상디스크를 말하며, 자식은 그 기본틀을 바탕으로 변동된 것만을 기록하는 가상디스크입니다. 

예를 들어 부모 VHD에 윈도우 10을 설치하고 기본적으로 해야할 세팅을 합니다. 다음으로 자식VHD파일을 생성에 부모와 연결하면 이후에 부모와는 다른 차이점만 자식 파일에 기록하게 되지요. 즉 부모는 파일은 변동이 없기에 언제든지 자식 파일을 만들어서 연결하면 초기 세팅한 값으로 되돌릴 수가 있습니다.

사용법으로는 먼저 부모(parent) 파일을 만들어 줍니다. Fixed든 Expandable은 관계 없습니다.
create vdisk file=d:\parent.vhd maximum=1024
다음으로 자식파일을 연결 시킵니다.

create vdisk file=d:\child.vhd parent=d:\parent.vhd


마지막으로 설명한 내용은 모두 VHD이지만 확장자 부분에 vhd대신 vhdx를 넣으면 vhdx생성이 되는 것이라 차이가 없습니다.