실제 컴퓨터? 가상 컴퓨터.. 이제는 그 구분없이.. Windows 7, 그리고 WIM2VHD

Windows7_h_rgb

일전에.. 운영 체제를 파일 하나로 휴대… Windows 7라는 포스팅을 한적이 있습니다. Windows 7은 Virtualized Aware OS로서, 물리적 환경 또는 가상화 환경에 구분없이 설치 및 사용이 가능하다는 것이죠.

간단히, Virtualized Aware OS라는 의미는 운영 체제를 실제 컴퓨터에 설치했을 때와 다르게, 가상화 환경내 가상 컴퓨터에 설치했을 때, 가상화 환경에 최적화하기 위한, 다시 말씀드려, Virtual PC, Virtual Server의 VM Additions, 그리고 Hyper-V에서 Integration Components, 프로그램을 설치해줘야 합니다만, Windows 7, Windows Server 2008 R2부터는 설치 이미지(운영 체제 자체)에서 이를 감지하여, 각 환경에 대해서 최적화된 형태로 설치가 완료됩니다. 사용자측면에서는 설치 후, 별도의 작업 없이 바로 컴퓨팅 환경을 이용할 수 있다는 것이죠.

두번째는 Virtualized Windows… 새로운 데스크톱에 대한 시각이 필요한 때… 에서 언급한 내용입니다. 지금까지 데스크톱 컴퓨팅 환경은 실제 컴퓨터(물리적인 머신), 기업에서는 조금더 확장된 서버 기반 컴퓨팅(Thin Client, 우리가 주로 터미널 서비스라고 부르죠)에 머물러있었지만, 이제는 VDI(Virtual Desktop Infrastructure) 형태로, 가상화된 환경에서 데스크톱을 서비스로 제공할 수 있는 형태까지 확장되고 있습니다. VDI 환경에 운영 체제를 설치했을 때도, 가상화 환경에 적합한 형태로 운영 체제를 수정해줘야합니다만, Windows 7의 경우에는 별도의 수정 없이 Microsoft 서버 가상화 환경을 인지하여, 최적화된 형태로 서비스를 제공하게 됩니다.

이해가 되셨나요? Windows 7은 Virtualized(가상화를) Aware(인지하는) 첫번째 클라이언트 플랫폼으로, 사용자 입장에서는 실제 컴퓨터에 설치하는 운영 체제와 더불어서, VHD에 저장된 형태로 이동이 가능한 운영 체제가 될 것입니다.

아! VHD가 뭐냐고요? 운영 체제를 파일 하나로 휴대… Windows 7를 읽어보세요.

VHD(Virtual Hard Disk)는 앞선 포스팅에서도 언급한 대로, 이젠 가상화용 하드 디스크가 아닌, Microsoft 운영 체제의 계층 구조 저장이 가능한 이미징 형태로 사용될 예정이며.. 그 첫번째 결과가 바로 실제 컴퓨터에 대한 부팅을 VHD를 이용해서 할 수 있다는 것이죠. :) 부팅에 사용되는 VHD는 시스템 준비 도구를 마무리한(Syspreped) 형태가 되어야 합니다. 가상화 환경에서 Windows 7을 한번 설치하고 시작 – 실행에서 Sysprep을 입력하시면 만드실 수 있습니다. Sysprep된 형태가 뭔지 궁금하실 수 있죠. 쉽게는 노트북이나 컴퓨터를 새롭게 구입하셨을 때, 처음으로 켜보면, Windows가 설치되어져 있는데 기본적인 개인 정보 및 제품 키를 입력받고 설치가 마무리되는 형태를 보셨을 것입니다. 이러한 형태로 설치된 Windows를 Sysprep된 설치 형태라고 합니다. Windows에서 개인별로 다르게 저장되어야 할 정보를 전부 Reset 시켜놓은 것이죠.

image

Windows Vista부터 설치 DVD를 넣고 설치할 때, Windows XP나 Windows Server 2003보다 빠르게 진행되는 것을 보실 수 있는데요. Windows Vista부터 설치 이미지는 WIM(Windows Imaging Format) 이미지 파일 형태(Sources 폴더에 가보시면 Install.wim이라는 2~3GB 정도의 파일을 보실 수 있습니다.)에 Sysprep된 형태로 저장되어져 있고, 이를 단순하게 시스템에 풀어놓고, 하드웨어 검색 및 시스템의 설정만 추가적으로 하는 형태입니다. 그러니 빠르겠죠?

그럼 WIM이랑 VHD는 무슨 관계며.. VHD를 이용해서 실제 컴퓨터를 부팅할 수 있다는 것까진 알겠는데….

VHD라고 함은, Microsoft 또는 XEN의 가상화 솔루션을 사용해서 한번 설치해줘야 한다 생각하실 수 있는데.. 그건 아닙니다. VHD는 가상화 환경의 결과물은 맞습니다만, WIM2VHD라는 도구를 사용하면 손쉽게 설치없이, 그리고 매우 빠르게 VHD 파일을 Windows 7, Windows Vista, Windows Server 2008, Windows Server 2008 R2 설치 원본에서 만들어내실 수 있습니다.

WIM2VHD이라는 간단한 스크립트가 있습니다. Microsoft 가상화 개발팀에서 스크립트에 대해 공개를 해놓았고, Windows 7, Windows Server 2008 R2의 RC 버전이 공개되면 7100 버전의 스크립트로 업데이트될 예정입니다. 이 스크립트를 통해 실제 가상화 환경에 설치를 하지 않고도! VHD 파일을 Windows 7, Windows Server 2008 R2 설치 DVD에서 만들어낼 수 있습니다. 이를 이용하시면 실제 설치하는 것보다 매우 빠르게.. 가장 최적화된 VHD 파일을 만들어내실 수 있죠.

이때 결과물로 생성된 VHD는 Sysprep이 완료된 형태로 만들어지게 되며, 명령어 옵션중 /SKU 옵션을 사용하여, Ultimate, Enterprise, Professional 등의 원하는 Windows 7의 VHD를 만드실 수 있다는 것이죠. 편하지 않나요?

앞선 포스팅의 하단에 보시면 VHD로 실제 컴퓨터를 부팅하기 위한 BCDEDIT의 명령어를 보실 수 있습니다.

image

VHD 파일을 실제 컴퓨터의 하드 디스크로 인식해서 사용할 수 있는 방법도 있습니다. 시간이 될때, 고급 정보로 한번더 포스팅하겠습니다.

자.. 오늘의 마지막 내용은 바로 Windows Vista를 사용하시는 환경에서 Windows 7을 VHD에서 부팅하는 것입니다. Windows Vista에서부터 현재 Windows 7이 사용중인 BCDEDIT라는 프로그램과 새로운 부트로더가 생겼습니다. 이에 Windows XP나 Windows Server 2003까지는 Boot.ini를 수정해야 했지만, 이럴 필요없이 간단히 명령어 프롬프트에서 BCDEDIT를 이용할 수 있죠.

Windows 7의 부트로더부터 VHD를 인식하여 이를 이용하여 실제 컴퓨터를 부팅할 수 있다는 것인데요.. Windows Vista의 부트 로더 부분만 Windows 7용으로 변경하여 Windows Vista의 부팅은 실제 하드 디스크에서, Windows 7의 부팅은 VHD에서 사용하실 수도 있다는 것입니다. :)

부팅에 필요한 파일은 2개입니다. bootmgr, bcdedit.exe.. 이 두개를 Windows 7 설치 DVD에서 Windows Vista로만 설치해주시면 바로 사용할 수 있습니다. 현재 Windows Vista를 사용중이시라면, 해당 2개의 파일은 시스템 보호를 받고 있는 파일이므로, Sfpcopy 프로그램을 이용하셔야 합니다. Windows 7 설치 DVD에서 추출한 두개의 파일이 C:\Koalra 폴더에 저장되어져 있다면…

관리자 권한으로 명령어 프롬프트를 여셔서..

  1. Sfpcopy c:\koalra\bootmgr c:\bootmgr
  2. Sfpcopy c:\koalra\bcdedit.exe c:\windows\system32\bcdedit.exe

그러시면, 다음 부팅부터 Windows Vista가 Windows 7의 부트로더를 이용하여 부팅이 되고, 이제 BCDEDIT 명령어(위에 그림)을 이용하여 VHD를 추가적으로 부팅에 사용할 수 있습니다.

이렇게 VHD로 부팅한 Windows 7 컴퓨팅 환경은 차후, 해당 VHD를 다른 컴퓨터로 복사해서 사용하면 동일한 형태의 컴퓨팅 환경이 된다는 것입니다. 운영 체제의 휴대성을 확보한 것이죠. 요즘 IT에서는 꼭 필요한 요소중 하나가 운영 체제의 휴대성 확보입니다.

포스팅이 좀 길고, 어려울수도 있을 것 같습니다. Windows Virtual PC와 더불어, Windows 7은 가상화 환경, 그리고 물리적인 환경에 대해 모두 커버할 수 있으며, 이를 통해 사용자들은 어떠한 컴퓨팅 환경이던지, 본인의 필요에 맞게 사용할 수 있는 가치를 얻으실 수 있겠죠?