가상 디스크의 생성과 관리 - Create Vdisk, Attach, Detach [이동 완료]
이동 완료 2009. 12. 19. 00:01 |이곳은 백업 블로그 입니다. 현재 캐플이 활동 중인 블로그는 CAppleBlog.co.kr 입니다. 최신 정보들은 새로운 블로그에서 확인해 보세요. ^^
- 이곳은 기존 블로그들의 글을 한군데로 모아 놓은 백업 블로그입니다.
- 현재 링크는 대부분 올바르지 않으며 이러한 링크들은 모두 cappleblog.co.kr 로 이동합니다. (※ 링크 주의)
- 블로그와 커뮤니티는 서로 다른 공간입니다.(로그인을 따로 해야합니다.)
- 저는 윈티티(WinTT)이자 신비(ShinB)이며 캐플(CApple)입니다. 편한대로 불러주세요.
[중요] DiskPart 의 모든 작업은 Select 와 List 명령이 기초가 됩니다. 아직 해당 내용에 대한 정확한 지식이 없다면 반드시 해당 내용을 완전히 이해하신 후 이 글로 다시 오시기 바랍니다.
Create Vdisk, Attach, Detach 명령어 정리
글에서 사용되게 될 Create Vdisk, Attach, Detach 명령에 대한 정리입니다. 이 표를 먼저 보시고 따라오시면 글을 이해하시는데 편하실 겁니다. ^^ (중요한 내용만 추린 것이기 때문에 빠진 매개 변수가 있을 수 있습니다.)
Create Vdisk | Create Vdisk File=<"파일 이름"> Maximum=<N> [Type={Fixed|Expandable}] [Parent=<"파일 이름">] [Source=<"파일 이름">] |
---|---|
가상 디스크 파일<VHD>을 만듭니다.
|
Attach | Attach Vdisk [Readonly] |
---|---|
지정한 가상 디스크를 연결합니다. |
Detach vdisk | Detach |
---|---|
지정한 가상 디스크를 분리합니다. |
새로운 가상 디스크 파일의 생성하기
가상 디스크(VHD) 는 윈도우 7 에서 새롭게 지원되는 디스크 형식이죠. 자세한 설명은 아래의 글을 참고해 보시길 바랍니다.
아무튼 이러한 가상 디스크에는 크게 두 가지 형식이 존재하고 있습니다. 설정한 가상 디스크의 크기와 동일한 크기로 파일이 생성되는 고정 크기 가상 디스크(Fixed) 형식과 가상 디스크에 할당된(기록된) 데이터에 맞게 크기가 조정되는(가변하는) 동적 확장 가상 디스크(Expandable) 형식이 그것입니다. 일단 글에서는 이 두 형식의 가상 디스크를 모두 생성해 보도록 하겠습니다.
고정 크기 가상 디스크 파일 생성
DiskPart 명령 인터프리터에서 다음의 명령을 내려줍니다.
create vdisk file="d:\fixed.vhd" maximum=10240 (type=fixed)
- D: 드라이브의 루트에 Fixed.vhd 라는 가상 디스크 파일을 생성합니다. 이 때 가상 디스크의 크기는 10 GB(10240 MB) 입니다. 가상 디스크의 형식은 고정 크기 가상 디스크 형식입니다. Type=fixed 매개 변수는 생략하여도 상관 없습니다.
attach vdisk
- 포커스가 지정된 가상 디스크 파일을 시스템에 연결합니다.
- D: 드라이브의 루트에 Fixed.vhd 라는 가상 디스크 파일을 생성합니다. 이 때 가상 디스크의 크기는 10 GB(10240 MB) 입니다. 가상 디스크의 형식은 고정 크기 가상 디스크 형식입니다. Type=fixed 매개 변수는 생략하여도 상관 없습니다.
attach vdisk
- 포커스가 지정된 가상 디스크 파일을 시스템에 연결합니다.
간단하죠? 생성한 가상 디스크를 바로 연결하여 사용하고자 하면 생성 후 자동으로 포커스가 생성된 가상 디스크 파일에 지정이 되어 있기 때문에 이와 같이 Attach Vdisk 명령을 통해 시스템에 연결해 주시면 됩니다. 고정 크기 가상 디스크 형식을 생성할 때는 고정 크기 형식으로 지정하는 Type=fixed 매개 변수가 기본값이기 때문에 생략해 주어도 됩니다.
이렇게 생성된 가상 디스크 파일은 가상 디스크의 크기(Maximum 크기)와 같은 크기로 생성이 됩니다.
동적 확장 가상 디스크 파일 생성하기
DiskPart 명령 인터프리터에서 다음의 명령을 내려줍니다.
create vdisk file="d:\expandable.vhd" maximum=10240 type=expandable
- D: 드라이브의 루트에 Expadable.vhd 라는 가상 디스크 파일을 생성합니다. 이 때 가상 디스크의 크기는 10 GB(10240 MB) 입니다. 가상 디스크의 형식은 동적 확장 가상 디스크 형식입니다.
attach vdisk
- 포커스가 지정된 가상 디스크 파일을 시스템에 연결합니다.
- D: 드라이브의 루트에 Expadable.vhd 라는 가상 디스크 파일을 생성합니다. 이 때 가상 디스크의 크기는 10 GB(10240 MB) 입니다. 가상 디스크의 형식은 동적 확장 가상 디스크 형식입니다.
attach vdisk
- 포커스가 지정된 가상 디스크 파일을 시스템에 연결합니다.
마찬가지로 생성한 가상 디스크를 바로 연결하여 사용하고자 하면 생성 후 Attach Vdisk 명령을 통해 시스템에 연결해 주시면 됩니다. 동적 확장 가상 디스크 형식을 생성할 때는 동적 확장 형식으로 지정하는 Type=expandable 매개 변수를 반드시 입력해 주셔야 합니다.
이렇게 생성된 가상 디스크 파일은 가상 디스크에 할당되는(기록되는) 데이터의 크기를 따르기 때문에 생성 직후엔 굉장히 작은 파일이 생성됩니다.
이렇게 새롭게 생성된 가상 디스크는 일반 디스크와 동일하게 파티션을 나누고 포맷 작업을 해 주어야 합니다. 해당 내용은 아래의 글들을 참고해 보시길 바랍니다.
복사본 가상 디스크 파일의 생성
기본에 사용 중이던 가상 디스크 파일과 동일한 데이터를 담고 있는 복사본 가상 디스크 파일을 생성할 때는 어떻게 하면 될까요? 가장 쉽게 생각해 볼 수 있는 방법이 바로 기존의 파일을 윈도우에서 그대로 복사하는 방법입니다.
이와 같이 그냥 복사하면 끝 입니다~! 하지만 이러한 방식으로는 불가능한게 하나 있습니다. 고정 크기 가상 디스크 형식은 복사해도 고정 크기 가상 디스크 형식이고 동적 확장 가상 디스크 형식은 복사해도 동적 확장 가상 디스크 형식이라는 것이죠. 윈도우의 복사로는 고정 크기 가상 디스크 형식 -> 동적 확장 가상 디스크 형식으로 변경할 수 없습니다. 또한 애석하게도 DiskPart 의 그 어떤 명령에서도 한 번 설정해 버린 가상 디스크의 형식을 변경해 주는 명령은 존재하지 않습니다.
하지만 Create Vdisk 명령에는 Source 라는 매개 변수가 존재하고 있습니다. 이는 생성할 가상 디스크에 담길 데이터의 원본이 될 가상 디스크를 지정해 주는 것 입니다. 즉, Source 가상 디스크에 담긴 데이터를 그대로 복사해와 새로운 가상 디스크 파일을 만드는 것이죠. 이로써 새롭게 생성되는 가상 디스크는 Source 의 원본 가상 디스크와 데이터가 100% 일치하는 가상 디스크로 생성이 되는 겁니다.(가상 디스크에 나눈 파티션과 포맷 형식까지) DiskPart 의 기능을 설명하기 위해 Ghost 까지 끌어들이는게 좀 난감하지만 아무튼 Ghost 의 Disk Copy 기능을(ghost clone,mode=copy...) 생각해 보시면 이해가 빠르실 겁니다.
여기까지는 그냥 윈도우에서 VHD 파일 자체를 복사하는 것과 별 차이가 없습니다. 하지만 한 가지 다른 것이 있습니다. 이 작업은 Create Vdisk 즉, 새로운 가상 디스크를 만드는 것이고 이로써 새로운 가상 디스크의 형식을 Fixed 와 Expandable 둘 중에 아무걸로나 사용자가 원하는대로 생성할 수 있습니다. 이 때 원본이 되는 Source 가상 디스크의 형식은 고정이든 동적이든 상관이 없다는 것입니다. 그냥 안의 데이터만 가져오기 때문이죠. 즉, 이러한 특성으로 Create Vdisk Source 를 통해 고정 크기 가상 디스크와 데이터가 100% 동일한 동적 크기 가상 디스크를 만들 수 있게 되는 겁니다.
한 가지 Create Vdisk 명령에 Source 를 지정하게 되면 Maximum 즉, 생성할 가상 디스크의 최대 크기는 원본인 Source 가상 디스크와 같거나 더 커야 합니다. 만약 원본보다 작으면 명령은 실패하게 됩니다. 이점만 주의를 하시면 되겠네요.
그럼 실제로 고정 크기 가상 디스크를 원본으로 하여 새로운 동적 확장 가상 디스크를 생성해 보도록 하겠습니다. 원본이 되는 가상 디스크는 위에서 생성한 Fixed.vhd 파일로 하도록 하겠습니다. 해당 가상 디스크는 전체 공간을 주 파티션으로 잡고 NTFS 로 포맷만 된 상태입니다. 이 때 Fixed.vhd 파일은 시스템에 연결되어 있으면 안 됩니다. DiskPart 명령 인터프리터에서 다음의 명령을 내려줍니다.
create vdisk file="d:\copy.vhd" maximum=10240 type=expandable source="d:\fixed.vhd"
- D: 드라이브의 루트에 Copy.vhd 동적 확장 가상 디스크 파일을 생성합니다. 이 때 생성과 동시에 가상 디스크에 데이터를 기록하는데 데이터의 원본은 D:\Fixed.vhd 가상 디스크의 데이터(파티션, 포맷, 파일 모두)입니다. 이 때문에 Maximum 의 크기는 Fixed.vhd 가상 디스크와 같거나 보다 커야 합니다.
- D: 드라이브의 루트에 Copy.vhd 동적 확장 가상 디스크 파일을 생성합니다. 이 때 생성과 동시에 가상 디스크에 데이터를 기록하는데 데이터의 원본은 D:\Fixed.vhd 가상 디스크의 데이터(파티션, 포맷, 파일 모두)입니다. 이 때문에 Maximum 의 크기는 Fixed.vhd 가상 디스크와 같거나 보다 커야 합니다.
이렇게 고정 크기 가상 디스크의 데이터를 모두 복사하여 새로운 동적 확장 가상 디스크를 생성하였습니다. 결과를 볼까요?
어떻습니까? 고정 크기 가상 디스크를 그대로 동적 크기 가상 디스크로 복사하였습니다. 실제로 데이터는 물론 파티션까지 그대로 복사가 되었는지 볼까요?
이 외에도 Expand 나 Compact 와 같은 효과를 내게 응용할 수 있는데 이러한 활용법은 사실 크게 유용한 것이 아니기 때문에 다루진 않도록 하겠습니다.
기존의 가상 디스크 파일 연결하기
이렇게 새로 생성한 가상 디스크 파일 말고 기존에 가지고 있던 가상 디스크 파일을 연결하는 것에 대해서 알아보도록 하겠습니다. 이러한 경우엔 간단하게 포커스만 지정해 준 후 Attach Vdisk 명령을 통해 연결을 시켜 주시면 됩니다.
select vdisk file="d:\install.vhd"
- D:\Install.vhd 가상 디스크 파일에 포커스를 지정합니다.
attach vdisk
- 포커스가 지정된 가상 디스크 파일을 시스템에 연결합니다.
- D:\Install.vhd 가상 디스크 파일에 포커스를 지정합니다.
attach vdisk
- 포커스가 지정된 가상 디스크 파일을 시스템에 연결합니다.
만약 해당 가상 디스크를 읽기 전용으로 연결 시키려면 Readonly 매개 변수를 추가해 줍니다.
select vdisk file="d:\install.vhd"
- D:\Install.vhd 가상 디스크 파일에 포커스를 지정합니다.
attach vdisk readonly
- 포커스가 지정된 가상 디스크 파일을 읽기 전용 상태로 시스템에 연결합니다.
- D:\Install.vhd 가상 디스크 파일에 포커스를 지정합니다.
attach vdisk readonly
- 포커스가 지정된 가상 디스크 파일을 읽기 전용 상태로 시스템에 연결합니다.
가상 디스크 분리하기
이렇게 시스템에 연결하여 사용 중인 가상 디스크 파일의 연결을 끊고자 한다면(분리) 연결을 끊고자 하는 다상 디스크 파일에 포커스를 지정한 후 Detach Vdisk 명령을 내려주시면 됩니다.
select vdisk file="d:\install.vhd"
- D:\Install.vhd 가상 디스크 파일에 포커스를 지정합니다.
detach vdisk
- 포커스가 지정된 가상 디스크 파일을 시스템에서 분리합니다.
- D:\Install.vhd 가상 디스크 파일에 포커스를 지정합니다.
detach vdisk
- 포커스가 지정된 가상 디스크 파일을 시스템에서 분리합니다.
간단하죠? 현재 연결이 해제된 상태이기 때문에 상태는 추가됨으로 변경됩니다. 이러한 추기된 상태는 언제까지 계속 있는 건 아니고 시스템을 재시작하면 목록에서 제거됩니다. 마지막으로 연결된 모든 가상 디스크는 시스템을 재시작하면 연결이 모두 해제 됩니다. 이 글은 여기까지 입니다. ^ㅡ^*
윈도우 7 의 디스크 관리 - DiskPart
좀 더 강력한 디스크 관리를 위하여 - DiskPart 의 시작기초 관리
목록 출력과 포커스 지정, 속성 표시 - List, Select, Detail
디스크 변환 - Convert
드라이브 문자 및 경로의 관리 - Assign, Remove
파티션(볼륨) 포맷하기 - Filesystems, Format
기본 디스크 관리
파티션 생성하기 - Create Partition
파티션 삭제하기 - Delete Partition
파티션 확장하기 - Extend
파티션 축소하기 - Shrink
파티션 활성화 - Active, Inactive
동적 디스크 관리
단순 볼륨의 생성 - Create Volume Simple
스팬 볼륨의 생성 - Extend
스트라이프 볼륨의 생성 - Create Volume Stripe
미러 볼륨의 생성 - Create Volume Mirro, Add
미러 볼륨의 분리 - Break
미러 볼륨의 복구 - Delete Disk, Add
RAID-5 볼륨의 생성 - Create Volume RAID
RAID-5 볼륨의 복구 - Delete Disk, Repair, Recover
동적 볼륨의 삭제 - Delete Volume
외부 디스크 가져오기 - Import
가상 디스크 관리
가상 디스크의 생성과 관리 - Create Vdisk, Attach, Detach
가상 디스크 확장하기 - Expand
가상 디스크 압축하기 - Compact
자식 디스크(차이점 보관용 디스크) 생성하기 - Create Vdisk Parent
부모 - 자식 디스크의 병합 - Merge
가상 디스크 삭제하기 - Windows Del
기타 관리
디스크 재검색 - Rescan
디스크 초기화 - Clean
디스크 자동 탑재 - Automount
디스크, 볼륨의 특성 조작 - Attributes
DiskPart 의 스크립팅
DiskPart 의 도움말 정리
DiskPart 를 끝내며