새로운 운영체제의 등장과 스토리지의 빠른 발전으로 최근 시스템은 기존의 BIOS (Basic Input Output System)기반이 아닌 UEFI (Unified Extensible Firmware Interface) 기반의 파티션 구성이 필요한 경우가 늘어나고 있다. UEFI는 운영체제와 플랫폼 펌웨어 간의 인터페이스를 정의하는 사양이며 기존에 사용하던 BIOS를 대체하기 위해 만들어졌다.


일반적으로 가장 많이 사용하고 있는 시스템은 BIOS / MBR(Master Boot Record) 이다. 이 기반에서 Windows를 설치하고 백업 및 배포 하는 방법은 이미 널리 알려져 있다. 파티션 구성 또한 간단하기 때문에 배포가 어렵지 않다. 스토리지의 용량이 커지면서 주목을 받게 된 것이 UEFI / GPT (GUID Partition Table) 기반이다. EFI 영역이라는 파티션이 추가가 되면서 방법이 이전과 달라지지는 않았을까 하는 생각에 최근 고객사의 문의가 많은 부분이기도 하다.

이에 본 기고에서는 Windows Embedded 8.1 Industry 64bit 한국어 버전 OS를 사용해 BIOS 기반의 MBR 파티션과 UEFI 기반의 GPT 파티션에서 각각 OS를 설치하고 백업 및 배포하는 과정에 대해 기술하려 한다. 필요한 사항은 Windows Embedded 8.1 Industry 설치 USB (혹은 설치 CD/DVD)와 WinPE (Windows Pre-installation Environment, Windows 사전 설치환경) USB이다.

 

이수경 대리
MDS테크놀로지 / sukyung@mdstec.com



▲ 그림 1. Windows Embedded 8.1 Industry

Windows 8 기반의 운영체제를 백업 및 배포하기 위해서는 WinPE 5.0 버전이 필요하며 이는 Windows 8.1용 ADK (Assessment and Deployment Kit, 평가 및 배포 키트)를 통해 생성할 수 있다. 

▲ 그림 2. Windows ADK

ADK는 http://www.microsoft.com/ko-kr/download/details.aspx?id=39982 에서 언어별로 선택하여 다운 받을 수 있다. ADK를 설치하면 [그림 2]의 경로에 몇 가지 메뉴가 생성이 되며, 그 중 배포 및 이미징 도구 환경 메뉴를 사용해 WinPE 5.0을 생성할 수 있다. 해당 메뉴를 관리자 권한으로 실행하여 아래 명령어를 입력한 후 C:WinPE_and64 경로에 WinPE를 생성하고, WinPE 5.0 USB를 만든다.

copype amd64 C:WinPE_amd64 // 64bit용 WinPE 생성
MakeWinPEMedia /UFD C:WinPE_amd64 x: // x: USB 드라이브 명

생성된 WinPE 5.0 USB는 [그림 3]과 같이 구성되어 있으며 이전 버전 (WinPE 4.0)과는 다른 구성이다.

▲ 그림 3. 좌: WinPE 5.0 / 우: WinPE 4.0


WinPE의 버전 별 차이는 http://msdn.microsoft.com/ko-kr/library/dn293271.aspx 에서 확인할 수 있으며, 버전 별 배포 가능한 운영체제를 확인 후 사용해야 한다. WinPE 5.x에서 배포 가능한 운영체제는 windows 8/8.1, Windows Server 2012 R2/2012, Windows 7, Windows Server 2008 R2 이다. 참고로, 현재 최신 버전은 5.1이며, 이 버전이 필요한 경우 WinPE 5.0을 업데이트하여 생성한다.

Windows Embedded 8.1 Industry와 WinPE 각각의 설치 미디어가 준비되었다면 지금부터 BIOS 기반의 MBR(Master Boot Record) 파티션과 UEFI 기반의 GPT(GUID Partition Table) 파티션에서의 운영체제 설치, 백업 및 배포 과정을 알아보자.


BIOS 기반의 MBR 파티션
BIOS / MBR ((Master Boot Record) 파티션 구성은 우리가 일반적으로 설치하는 경우이며, Windows Embedded 8.1 Industry 설치 USB로 부팅해서 별도의 설정 없이 진행이 가능하다. 기본 파티션은 System Reserved 영역과 Windows 영역으로 구성되지만 여기서는 편의상 시스템 영역을 제외한 Windows 영역으로만 구성하여 진행한다.

▲ 그림 4. MBR 파티션 구조

OS 설치를 완료하고, 드라이버 및 필요한 소프트웨어를 설치하여 Windows Embedded 8.1 Industry 최종 이미지를 만든다. 이렇게 만들어진 OS 이미지를 다른 타겟 장비에 배포를 하기 위해 현재 상태를 백업하는 단계를 먼저 진행하며 모든 단계는 WinPE를 이용한다.

우선 시스템을 종료하고 WinPE USB를 꽂고, USB로 부팅을 한다.

▲ 그림 5. WinPE 부팅 화면

Windows 7 기반의 OS에서는 백업 및 배포 시 imagex.exe 툴을 이용했지만, Windows 8 기반의 OS 부터는 DISM (Deployment Image Servicing and Management tool) 명령어를 사용한다. DISM 명령어의 capture-image 옵션을 사용하여 Windows 영역을 Windows.wim 이라는 파일명으로 USB에 백업한다.

dism /capture-image /imagefile:x:Windows.wim /capturedir:c: /name:Drive-C // x: USB 드라이브 명

이렇게 백업한 Windows.wim 파일을 다른 타겟 장비에 배포하기 위해, WinPE USB를 배포할 타겟 장비에 꽂고 WinPE로 부팅을 한 후 타겟 장비의 스토리지에 파티션을 구성한다.

diskpart
list disk
select disk 0 // disk 0이 타겟 장비의 스토리지
clean
create partition primary
select partition 1
active
format fs=ntfs quick
assign letter=c
exit


위와 같이 파티션을 구성한 다음, WinPE USB에 백업해 둔 Windows.wim을 타겟 장비의 C 드라이브에 배포를 진행한다. 이 때 사용하는 DISM 옵션은 apply-image 이다.

dism/apply-image/imagefile:x:Windows.wim/index:1/applydir:c: // x: USB 드라이브명

▲ 그림 6. BIOS / MBR 파티션으로 설치한 OS

이미지 적용 과정이 완료되면 USB를 제거하고 재부팅 한다.
OS가 부팅되면서 개인 설정 단계인 OOBE 모드로 진입하면서 BIOS / MBR 기반에서의 OS 배포가 완료된다. 이렇게 BIOS / MBR 기반에서의 설치, 백업 및 배포는 어렵지 않게 진행할 수 있다.


UEFI 기반의 GPT 파티션
GPT(GUID Partition Table)는 기존의 BIOS가 아닌 EFI 기반에서 사용하는 디스크 형식이며, MBR (Master Boot Record)과 마찬가지로 디스크에 대한 정보를 담고 있는 영역이다. MBR에서의 Windows 최대 볼륨 크기는 2TB이며 파티션은 4개까지 구성할 수 있다.

구성해야 하는 볼륨이 2TB 이상이고 파티션을 5개 이상(최대 128개)으로 설정해야 한다면 GPT를 사용한다. BIOS 기반에서는 GPT 디스크 사용이 불가능하며 반드시 UEFI 시스템에서만 GPT 구성이 가능하다.

▲ 그림 7. GPT 파티션 구조


Windows는 64bit OS에서 GPT를 지원하고 있으며 이 글에서는 Windows Embedded 8.1 Industry 64bit 버전을 사용한다. 기본 파티션 구조가 UEFI / MBR과는 다르므로 자세히 살펴보도록 하자. UEFI / GPT 드라이브 파티션은 [그림 7]처럼 ESP(EFI), MSR 그리고 Windows 영역으로 구성된다. 각각에 대한 설명을 아래 표에서 확인해보자.

EFI 영역 (ESP)은 편의상 드라이브 문자를 S로 주고, Windows는 드라이브 문자를 C로 준다. Windows 설치 시 부팅에 필요한 EFI가 MSR보다 우선하므로 디스크 공간이 부족하다면 MSR은 생략해도 무방하다.

UEFI / GPT 의 기본 파티션에 유의하여 Windows Embedded 8.1 Industry 설치를 진행한다. 타겟 시스템은 UEFI가 지원되어야 하며, BIOS에서 부트 디바이스 선택 시(Boot option) 반드시 앞에 UEFI 키워드가 붙은 것을 선택해야 한다.

▲ alt="0016(표 1. GPT 파티션)"

▲ alt="0010(그림 8. 설치 과정)"

UEFI Windows Embedded 8.1 Industry 설치 USB를 선택하여 부팅을 하면 [그림 8]과 같이 설치가 진행된다.
이 때, Shift+F10을 눌러 커맨드 창을 띄운 후 diskpart 명령어를 실행하여 스토리지를 GPT 파티션으로 변경하는 작업을 진행한다.

▲ alt="0011(그림 9. GPT 디스크로 변환)"


그리고 아래와 같이 EFI, MSR 그리고 Windows 파티션을 생성한다.

Create Partition EFI Size=100
format quick fs=fat32
Assign Letter=s
Create Partition MSR Size=128
Create Partition Primary
format fs=ntfs quick
Assign Letter=C

파티션 생성 후 Windows 설치 단계를 계속 진행하여 Windows 파티션에 OS를 설치한다.

▲ alt="0012(그림 10. UEFI / GPT 파티션 생성)"

만약 EFI Shell로 부팅이 되었다면, Windows Embedded 8.1 Industry 설치 파일의 efibootbootx64.efi를 이용한다.

Shell> Fs0: // 설치 DVD를 이용하고, DVD 장치가 fs0 인 경우
Fs0:> efibootbootx64.efi

EFI 부팅 관리자가 설치 미디어에서의 부팅을 지원하는 경우 위 과정은 필요 없다.  이렇게 설치가 완료 된 OS에서 디스크 관리 메뉴를 통해 디스크 파티션을 확인한다.

▲ alt="0013(그림 11. UEFI / GPT 파티션 확인 - 디스크 관리)"

생성한 EFI, MSR 그리고 Windows 영역을 모두 확인하려면 명령프롬프트를 관리자 권한으로 열어 diskpart명령어를 통해 볼 수 있다.

diskpart
list disk
select disk 0
list partition

설치가 완료된 OS에 드라이브 및 사용하는 소프트웨어를 설치하여 OS 구성을 완료한다. 완료 된 OS를 이전과 동일하게 Dism을 이용하여 OS를 백업하고, 다른 타겟 장비에 배포를 한다. 우선 WinPE USB를 이용해 백업을 진행한다. 이 때 EFI 영역에 드라이브 문자 S를 할당한 후 efisys.wim, Windows 영역은 Windows.wim으로 백업 파일을 각각 생성한다.

diskpart
list disk
select disk 0 // Disk 0:
list volume //EFI의 볼륨 명 확인
select volume 1 // EFI의 볼륨 num 1
assign letter=s // EFI 볼륨 명을 S로 설정
exit
dism /capture-image /imagefile:x:efisys.wim /capturedir:s: /name:Drive-S
// x: USB 드라이브 명, EFI 영역을 efisys.wim 으로 캡처
dism /capture-image /imagefile:x:Windows.wim /capturedir:c: /name:Drive-C
//// x: USB 드라이브 명, Windows 영역을 Windows.wim 으로 캡처

▲ alt="0014(그림 12. 백업 파일 생성)"

위 과정을 거쳐 WinPE USB에는 EFI의 백업 파일인 efisys.wim 파일과 Windows의 백업 파일인 Windows.wim 이 아래와 같이 생성된다.

이렇게 만들어진 백업 파일을 이용해 다른 타겟 장비에도 UEFI / GPT 형태의 OS를 배포해보자. 이 때 반드시 배포할 타겟 장비의 스토리지는 원본과 동일하게 구성되어야 한다. 먼저 타겟 장비를 WinPE USB로 부팅하여 diskpart 명령어를 사용해 EFI, MSR, Windows 파티션을 생성한다.

diskpart
list disk
select disk 0 //배포할 스토리지가 Disk 0
clean
convert gpt // GPT 파티션으로 변경
Create Partition EFI Size=100
format quick fs=fat32
Assign Letter=s
Create Partition MSR Size=128
Create Partition Primary
format fs=ntfs quick
Assign Letter=C
Exit

파티션 구성이 완료되면 백업한 efisys.wim과 Windows.wim을 각각의 파티션에 배포한다.

dism/apply-image/imagefile:x:efisys.wim/index:1/applydir:s:
dism/apply-image/imagefile:x:Windows.wim/index:1/applydir:c:

배포 후에는 반드시 올바른 장치 파티션을 가리키도록 BCD 부트 정보를 넣어준다.

bcdboot c:windows

이는 부팅에 필요한 부트로더를 생성해줌으로써 C:Windows 폴더의 BCD 파일을 사용해 시스템 파티션을 초기화한다. 경우에 따라서는 BCD 부팅 관리자 및 메모리 테스트 설정 업데이트 및 windows 로더 업데이트가 필요할 수 있다.


bcdedit /set {bootmgr} device partition=s:
bcdedit /set {memdiag} device partition=s:
// S: EFI
bcdedit /set {default} device partition=c:
bcdedit /set {default} osdevice partition=c:
// C: Windows

UEFI의 Windows Boot Manager를 확인하면 다음과 같다. (bcdedit 실행)

Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=DeviceHarddiskVolume1
path EFIMicrosoftBootbootmgfw.efi
description Windows Boot Manager

여기까지 진행하고 exit 및 USB를 제거 후 Windows가 정상적으로 부팅되는 것을 확인할 수 있다.

▲ alt="0015(그림 13. UEFI / GPT 파티션으로 설치한 OS)"

UEFI / GPT 파티션의 배포 시, EFI 영역에 대해 백업 및 배포하는 과정은 생략해도 무방하다. 그러나 반드시 파티션은 동일하게 구성되어야 하며, BCD 부트 정보도 입력해야 한다.

지금까지 BIOS / MBR 및 UEFI / GPT 파티션에서의 Windows Embedded 8.1 Industry 64bit OS를 설치하고 WinPE를 이용한 백업 및 배포 과정을 살펴보았다.

스토리지의 용량이 커지고 용도가 다양해지면서 운영체제와 인터페이스 간에도 UEFI / GPT 라는 변화가 생겼다. 이렇게 변화하는 하드웨어에 맞춰 마이크로소프트는 새로운 기능을 하는 명령어와 관련 옵션 및 툴을 제공하여 사용자들이 조금이라도 더 편하게 백업하고 배포를 할 수 있도록 제공하고 있다. 실제 사용하고 있는 시스템의 파티션 구성이 이보다 복잡하다 하더라도 기본 맥락은 동일하니 적용 시 본 기고가 도움이 되길 바란다.

 


MDS테크놀로지 홈페이지: www.mdstec.com 
윈도우 임베디드 솔루션: www.embedsolution.com
윈도우 임베디드 개발자 커뮤니티: www.iwecom.co.kr


이 기사를 공유합니다
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지