이곳은 백업 블로그 입니다. 현재 캐플이 활동 중인 블로그는 CAppleBlog.co.kr 입니다. 최신 정보들은 새로운 블로그에서 확인해 보세요. ^^

- 이곳은 기존 블로그들의 글을 한군데로 모아 놓은 백업 블로그입니다.

- 현재 링크는 대부분 올바르지 않으며 이러한 링크들은 모두 cappleblog.co.kr 로 이동합니다. (※ 링크 주의)

- 블로그와 커뮤니티는 서로 다른 공간입니다.(로그인을 따로 해야합니다.)

- 저는 윈티티(WinTT)이자 신비(ShinB)이며 캐플(CApple)입니다. 편한대로 불러주세요.

가상 디스크(VHD) 란 무엇인가?

윈도우 7 을 가상 디스크에 설치하여 사용하기 전 반드시 알고 있어야 하는 개념이 있습니다. 바로 가상 디스크란 무엇인지 말입니다. 가상 디스크란 말 그대로 실제로 존재하지는 않지만 실제 존재하는 것처럼 같이 사용할 수 있는 가상의 하드 디스크입니다. VMware 나 Virtual PC, Virtual BOX 를 통해 가상의 컴퓨터를 한 번이라도 사용해 보신 분들이시라면 바로 무슨 의미인지 아실 겁니다. 또는 우리가 실제 CD 나 DVD 는 아니지만 가상 CD-ROM 프로그램에 탑재(마운트, Mount)하여 실제 CD 처럼 사용할 수 있는 ISO 이미지 파일을 생각해 보시면 이해가 빠르실 겁니다.

이런 가상 디스크는 파일을 마치 실제의 하드 디스크처럼 사용할 수 있는 기술입니다. 즉, 하나의 파일이지만 이 파일은 실제의 하드 디스크를 그대로 흉내낸 파일이라 운영체제나 프로그램등에서 탑재하여 마치 실제로 하드 디스크를 사용하는 것과 같이 사용을 할 수 있는 것입니다.

가상 디스크에는 수 많은 종류가 있는데요. VMware 의 VMDK, Virtual BOX 의 VDI, Virtual PC 의 VHD, 그리고 IMG 형식 등이 있습니다. 이 중에서 윈도우 7 이 기본적으로 지원하는 형식은 바로 자사의 프로그램인 Virtual PC 의 가상 디스크 형식인 VHD 이미지 파일 형식입니다.








윈도우 7 의 가상 디스크 지원의 의미

이러한 많은 가상 디스크 이미지 파일들은 대부분 각각의 프로그램에서 가상 머신에 사용되는 하드 디스크로써의 용도로 사용이 되고 있습니다. 즉, 지금까지는 어플리케이션의 영역에서 사용이 되어왔다고 할 수 있죠. 근데 윈도우 7 은 자사의 가상 컴퓨팅 프로그램인 Virtual PC 의 VHD 이미지 파일을 운영체제인 윈도우 7 자체에서 바로 사용할 수 있는 기능을 새롭게 포함하고 있습니다. 즉, 윈도우 7 은 운영체제 영역에서 가상 디스크를 사용할 수 있다는 것이죠. 또한 윈도우 7 의 부트 매니저는 이러한 가상 디스크를 컴퓨터에 실제 하드 디스크처럼 인식시키고 이를 통해 부팅을 하는 것까지 지원합니다! 이는 어찌보면 굉장히 혁신적인 지원으로써 기존의 서버 환경에서 값비싼 솔루션이 지원하던 기능을 일반 데스크톱의 환경까지 끌어들인 것이라고 할 수 있겠습니다. (물론 그 적용 대상을 윈도우 7 Enterprise 와 Ultimate 의 상위 제품으로 한정하고 있긴 합니다.)

이 개념이 크게 와닿지 않으신가요? 그러한 분들을 위해 추가적인 설명을 간단하게 해 보도록 하겠습니다. 가상 플로피 이미지 파일인 IMA 나 IMG, VFD 형식을 아시나요? 해당 파일들은 요즘 사라져버린 플로피 디스켓을 대신해 가상의 플로피로써 활용이 되고 있습니다. 근데 이러한 가상 플로피 이미지 파일은 그저 윈도우 위에서 특정 프로그램을 통해 이미지 파일을 탑재하여 내용을 읽거나 쓰는 용도로 밖에 사용할 수가 없었습니다. 플로피 이미지 파일 안에 도스 운영체제가 포함되어 있어도 이로 부팅을 하는 등의 작업은 할 수가 없었던 것이죠. 플로피 이미지 파일 안의 도스로 부팅을 할려면 오직 실제 플로피 디스켓에 이미지 파일의 내용을 풀어 실제 플로피 디스켓으로 부팅을 해야만 했습니다.

근데 이러한 가상 플로피 이미지 파일이 Grub4dos 와 같은 부트 매니저를 만나게 되면서 이야기가 달라집니다. Grub4dos 와 같은 특정 부트 매니저들은 가상 플로피 이미지 파일을 읽어들여 해당 이미지 파일을 마치 실제의 플로피 드라이브처럼 컴퓨터에 인식시켜주는 기능이 있습니다. 그리하여 윈도우 위에서 그저 읽고 쓰는 것만 가능했던 반쪽짜리 가상 플로피 디스켓이 이러한 부트 매니저와 만나 우리가 실제로 쓰는 플로피 디스켓 드라이브처럼 플로피 이미지 파일을 통해 플로피 이미지 파일 안의 운영체제로 부팅하는 작업까지 가능해진 겁니다. 즉, 플로피 이미지 파일 안에 도스 운영체제가 설치되어 있다면 도스로 부팅하여 컴퓨터를 사용하는게 가능해진다는 이야기 입니다. 이로써 가상 플로피 이미지 파일은 윈도우의 위에서만 플로피를 흉내내던 단순한 가상 장치의 한계를 뛰어넘어 윈도우의 도움없이 실제 장치와 같은 독립적인 장치로써의 활용이 가능해지게 된 것 입니다.


이 이야기를 윈도우 7 의 가상 디스크 지원으로 옮겨와 보도록 하겠습니다. 윈도우 7 의 가상 디스크 지원은 크게 두 가지 기능적 의미가 있습니다. (물론 아래의 내용은 윈도우 7 이 지원하는 VHD 이미지 파일 형식에 제한됩니다.)

첫 째, 기존엔 그저 윈도우 위에서 실행되는 가상 컴퓨팅 프로그램에서만(Virtual PC) 사용되던 가상 디스크 이미지 파일을 이러한 프로그램의 도움없이 윈도우 자체적인 기능만으로(디스크 관리, DiskPart) 생성, 수정, 탑재할 수 있게 되었고 또한 이렇게 탑재한 가상 디스크를 윈도우 자체내에서 바로 사용할 수 있게 되었다는 점 입니다.

둘 째, 윈도우 7 의 기본 부트 매니저가 이러한 가상 디스크 이미지 파일을 실제 하드 디스크처럼 인식시키고 해당 이미지 파일로 부팅할 수 있게끔 지원한다는 점 입니다.


윈도우 7 의 이 두 가지 지원으로 인해 윈도우 7 에서는 자체적으로 가상 디스크를 생성하고, 해당 가상 디스크에 윈도우 7 을 설치할 수 있으며 또한 해당 가상 디스크로 부팅까지 할 수 있게 되었다는 것 입니다. 물론 이렇게 가상 디스크에 설치할 수 있는 윈도우로는 윈도우 7 Enterprise 와 Ultimate, Server 2008 R2 제품으로 제한된다는 문제는 있다손 치더라도 이를 통해 파생될 수 있는 활용 가능성은 생각보다 꽤 큰 의미를 지니게 될 것이라고 생각합니다.

※ 위의 지원 윈도우 목록은 가상 디스크 안에 설치할 수 있는 운영체제들입니다. 윈도우 7 의 부트 매니저는 어디에든 설치할 수 있기 때문에 윈도우 XP, 비스타 또는 윈도우 7 Professional 과 같이 실제 하드 디스크에 설치된 운영체제와 가상 디스크에 설치된 윈도우 7을 멀티 부팅으로 꾸미는 것에는 아무런 문제가 없습니다.








윈도우 7 의 가상 디스크 지원으로 인한 개념의 변화와 활용

윈도우 7 의 가상 디스크에 윈도우 7 을 설치할 수 있는 지원으로 인해 예상할 수 있는 가장 큰 변화는 이전까지의 윈도우가 설치된 컴퓨터와 함께 묶어서 생각할 수 밖에 없었다면 윈도우 7 부터는 설치된 컴퓨터와 별개의 독립적인 단일 파일로써 따로 생각할 수 있게 되었다는 것 입니다. 즉, 윈도우를 파일 하나로 구성된 가상 디스크에 모두 담을 수 있기 때문에 VHD = 윈도우 = 하나의 파일로 생각하는게 가능해진 것 입니다. 이와 같이 윈도우를 그저 단순한 하나의 파일로 바라볼 수 있는 개념의 변화로 인해 생각해 볼 수 있는 활용의 가치는 굉장히 크게 다가올 수 있습니다.



우선 윈도우의 백업과 복원이 굉장히 편리해 집니다. 기존에는 윈도우를 백업하고 복원하기 위해선 고스트나 트루 이미지와 같은 전문적인 디스크 클론 프로그램이나 하드 디스크 보안관이나 디스크샷과 같은 순간 복원 프로그램을 통할 수 밖에 없었습니다. 물론 윈도우의 기본 백업 기능으로도 가능했습니니다. 하지만 이러한 프로그램들과 기능은 다소 접하기 어려운 영역으로 전문적인 명령어 또는 복잡한 설정 방법들을 배워야만 했습니다.

하지만 파일 복사라는 단순한 작업은 컴퓨터를 사용하는 사람이라면 누구나 할 수 있습니다. 가상 디스크에 설치된 윈도우는 VHD 라는 하나의 파일이기 때문에 이 하나의 파일만 다른 곳으로 복사해 두면 윈도우의 백업이 끝나는 겁니다. 즉, 윈도우의 백업을 아주 단순한 Copy & Paste 작업만으로 가능해진 겁니다. Ctrl + C, Ctrl + V 끝입니다.

복원은 어떤가요? 기존의 파일을 삭제해 버리고 다른 곳에 복사해 뒀던 VHD 파일을 다시 복사해 오기만 하면 됩니다. 즉, 백업 뿐만 아니라 복원 또한 아주 단순하게 Copy & Paste 작업만으로 가능해지는 겁니다.



그리고 다양한 설정의 윈도우를 마음껏 생성하여 교체해가며 사용할 수 있습니다. 관리 또한 편리합니다. 윈도우 7 만 설치된 깨끗한 상태의 윈도우, 일에 쓸 사무용 프로그램만 깔끔하게 설치된 윈도우, 스트레스 해소용 게임들만 설치된 윈도우와 같이 다양한 구성으로 VHD 파일을 생성하여 이를 교체해가며 또는 멀티 부팅으로 꾸며서 골라가며 윈도우를 사용하는게 가능해 집니다.

기존의 방식이라면 멀티 부팅을 꾸미기 위해선 원하는 윈도우의 개수만큼 파티션을 나누어 각각의 파티션에 모두 윈도우를 설치해줘야만 했습니다. 또한 이러한 방식으로 여러 운영체제를 설치하는 것은 관리가 굉장히 힘들고 혹시나 나중에 필요없어진 윈도우를 제거하는 것도 굉장히 골치 아픈 일이 아닐 수 없었습니다. 이러한 멀티 부팅을 사용하지 않는다면 하나의 윈도우로 모든 것을 하려다보니 굉장히 많은 프로그램을 설치하게 되고 이렇게 많은 프로그램으로 인해 윈도우가 무거워질 수 밖에 없었습니다.

이제 윈도우는 하나의 파일일 뿐입니다. 깨끗하게 윈도우만 설치된 또는 모든 윈도우에 필요한 설정까지 마친 VHD 파일을 복사하여 여러 개를 만든 후에 각각의 윈도우를 멀티 부팅 목록에 포함시킵니다. 이제 각각의 윈도우로 부팅하여 해당 윈도우에 필요한 프로그램만 설치하는 방식으로 다양한 윈도우를 구성할 수 있습니다. 굉장히 편리해졌죠? 근데 어떤 환경의 윈도우는 쓰다보니까 별로 필요가 없습니다. 그럼 그냥 멀티 부팅 목록에서 해당 윈도우를 제거하고 해당 윈도우의 VHD 파일만 삭제해 버리면 끝입니다. 파티션을 다시 합치네 어쩌네 할 고민을 할 필요가 없어지는 것이죠.

이러한 편리로 인해 윈도우를 통해 수 많은 프로그램들을 설치하고 제거해야만 하는 테스트 작업을 업처럼 삼고 사시는 분들께는 가상 머신에 이어 다시 한 번 하늘에서 내려온 한 줄기 빛과 같은 역할을 해 줄 것이라고 생각합니다.



또한 윈도우의 배포가 편리해집니다. 특정 설정을 가진 윈도우, 특정 프로그램을 포함한 윈도우 등의 배포가 굉장히 편리해 집니다. 간단하게 일반화(Sysprep) 작업만 해준 후 별다른 작업 없이(고스트로 이미지 파일을 뜬다던지의 복잡한 작업없이) 그냥 VHD 파일만 전송해 주면 다른 사용자는 자신의 컴퓨터에서 VHD 파일을 연결하는 것만으로 해당 윈도우를 가질 수 있습니다. 이는 악용의 소지가 다소 있지만 기업의 입장에서는 회사의 모든 컴퓨터의 윈도우 및 프로그램을 교체하는 작업이 굉장히 단순화되게 됩니다. 전문적인 인력이 필요했던 작업이 보다 쉬워지는 것 입니다.

물론 개인간에도 암암리에 이미 실제로 많은 윈도우들이 이 VHD 방식으로 공유가 되고 있는 실정입니다. 이제 윈도우는 설치하여 사용하는 것이 아닌 수 많은 포터플 프로그램처럼 단순히 복사해와서 탑재하여 사용하는 것으로 그 개념이 바뀌어 버리게 되었습니다.


어떻습니까? VHD 의 매력 굉장하지 않습니까? 제가 자주 하는 말이 있습니다. 연장은 주어졌습니다. 이제 자신이 어떻게 사용하느냐에 달린 것 뿐입니다. 여러분은 이 VHD 를 어떻게 활용하실텐가요?








VHD 파일의 특성

윈도우 7 의 가상 디스크 형식인 VHD 이미지 파일에는 두 가지 방식이 있습니다. 사실 이 내용은 거의 모든 가상 디스크 이미지 파일들에 공통적인 내용입니다만 약간 다른 부분도 있습니다.



고정 크기 가상 디스크 형식(Fixed)

VHD 이미지 파일의 크기가 가상 디스크로 설정한 디스크의 크기와 동일한 형식입니다. 즉, 가상 디스크로 20GB 를 생성하였다면 이렇게 생성된 VHD 이미지 파일의 크기도 20GB 로 생성이 되는 방식입니다. 하드 디스크의 공간 낭비가 심하여 잘 사용되지 않는 방식입니다.



동적 확장 가상 디스크 형식(Expandable)

VHD 이미지 파일의 크기가 가상 디스크에 담긴 파일의 용량 만큼 점차적으로 VHD 이미지 파일의 용량도 늘어나는 방식입니다. 그렇기 때문에 가상 디스크의 크기를 20GB 로 생성하였다 할 지라도 해당 가상 디스크에 담긴 파일의 총 크기가 1GB 라면 VHD 파일의 크기도 1GB 가 되는 것 입니다. 그리하여 윈도우 7 을 설치하여 사용하는 가상 하드 디스크로는 동적 확장 가상 디스크 형식이 보편적으로 사용되고 있습니다.

하지만 윈도우 7 의 동적 확장 가상 디스크는 일반적인 가상 머신에서 사용하는 독정 확장 가상 디스크 방식과는 약간 다른 부분이 있습니다. 보통의 가상 머신에서 사용되는 동적 확장 가상 디스크 형식은 파일이 기록되면 그 기록된 만큼 크기가 점점 커지는 말 그대로 동적인 방식입니다. 윈도우 7 의 동적 확장 가상 디스크도 이 방식을 따르고 있습니다. 하지만 윈도우 7 의 동적 확장 가상 디스크는 부트 매니저에서 시스템에 인식되어 윈도우 부팅용으로 사용될 때에는 VHD 이미지 파일의 크기가 고정 크기 가상 디스크 형식과 같이 최대 사이즈로 확장됩니다. 그리고 시스템을 재시작하여 사용이 중지되면 다시 원래의 VHD 파일 용량으로 돌아가게(축소) 됩니다.

그래서 윈도우 7 에서 디스크 관리나 DiskPart 를 통해 실제 디스크보다 큰 가상의 동적 확장 가상 디스크를 생성하고 사용을 할 수는 있지만 이렇게 실제 디스크보다 크게 생성된 가상 디스크로 부팅을 하는 것은 불가능합니다. 아무래도 이 부분은 부팅에 사용되는 가상 디스크는 실제 호스트 운영체제가 구동되어 사용되기 때문에 성능상 하락이 있는 기존의 방식 대신 사용될 때에는 고정 크기 가상 디스크 형식과 같이 최대 사이즈로 확장하여 가상 디스크의 성능 하락을 막고자 하는 의도가 아닐까 생각됩니다.



동적 확장 가상 디스크 형식의 문제점

이러한 동적 확장 가상 디스크 형식의 가장 큰 문제점이라면 한 번 늘어난 용량은 다시 축소되지 않는다는 것 입니다. 즉, 1GB 크기의 파일을 가상 디스크 안에 저장하여 VHD 파일의 크기가 1GB 가 되었다면 가상 디스크 안의 파일을 삭제하여 담긴 파일이 하나도 없더라도 VHD 파일은 축소되지 않고 1GB 를 계속 유지한다는 점 입니다.

이러한 문제점으로 인해 여타의 가상 머신 프로그램에서는 동적 확장 방식의 가상 디스크의 크기를 실제 안에 담긴 파일의 크기로 최적화하여 파일의 크기를 원래대로 줄여주는 기능을 제공해 주기도 합니다. 윈도우 7 에서는 DiskPart 에서 VHD 파일을 압축해 주는 Compact 기능을 통해 실제로 사용되는 용량으로 최적화 시켜주어야 합니다.





윈도우 7 의 가상 디스크(VHD)의 지원과 부팅 지원에 대해서 짧게나마 이야기를 해 보았습니다. 그럼 실제로 VHD 에 윈도우 7 을 설치하여 사용하는 것에 대해서 알아보러 가도록 하겠습니다. 해당 내용은 아래의 글들을 참고하시길 바랍니다.


 

: