[RMPrepUSB] 01 - WinPE와 ImageX로 윈도우 백업하기

Multibooting/RMPrepUSB




본 포스팅은 RMPrepUSB 공식 홈페이지 (http://www.rmprepusb.com/)의 튜토리얼을 한국어로 번역한 것입니다. 본 글의 번역에 사용된 윈 글과 스크릿샷, 동영상에 대한 저작권은 RMPrepUSB에 있으며, 저작권자의 요청에 의해 게시글이 내려갈 수 있음을 밝힙니다.

번역의 대부분은 의역이며, 삭제된 부분도 있음을 밝힙니다. 오역를 발견하셨다면 댓글로 알려주시면 감사하겠습니다.



주의: 완전히 설치된 윈도우 시스템을 ImageX를 통해 백업하는 것은 권장되지 않습니다. SysPrep로 봉인된 시스템에 한해 ImageX를 사용하세요.


ImageX를 백업도구로 사용했을 시, 다음과 같은 문제들이 일어날 수 있습니다:

  • 파일 속성이 제거될 수 있습니다.
  • ImageX는 심볼릭 링크와 정션만 보존합니다. 하드 링크는 보존되지 않습니다.
  • 시스템 임시 파일이 백업되고 복원 시 적용되나, 적용 이후에는 더이상 임시 파일로 기능하지 않습니다. (자동으로 삭제되지 않습니다.)
  • 파일의 Object ID가 제거됩니다.


WinPE USB와 ImageX로 윈도우 백업하기


ImageX란?

ImageX는 윈도우가 설치된 드라이브의 완전한 백업을 파일로 저장할 수 있게 도와주며, 몇분 이내로 다른 드라이브에 이를 복원할 수 있게 해주는 툴입니다.


준비물

  • 최소 3GB 이상의 여유공간을 가지고 있는 윈도우 시스템
  • 1GB 이상의 USB 메모리 (또는 USB 외장하드)
  • RMPrepUSB
  • Windows 7 Automated Installation Kit (WAIK)
  • ISO 파일 마운트/압축해제가 가능한 가상 드라이브 프로그램 혹은 압축 프로그램



WAIK 설치와 PE 폴더 생성


1. 이곳에서 Windows 7 WAIK ISO 파일을 다운로드 하세요. (이용 약관에 동의해야 합니다)

2. 다운로드한 ISO 파일을 마운트 하거나 압축을 풀어주세요.

3. ISO 내부의 StartCD.exe를 실행하세요. Welcome 화면이 실행되어야 합니다.

4-7. WAIK 메뉴에서 다음을 설치하세요.

  • .Net Framework
  • MSXML 6 SP1
  • Windows AIK

8. 시작 - 모든 프로그램 - Microsoft Windows AIK - Deployment Tools Command Prompt 를 선택해 명령 프롬프트를 실행합니다.

9-12. 다음 명령들을 실행합니다.

copy ..\x86\imagex.exe C:\
COPYPE x86 C:\pe86
copy C:\pe86\winpe.wim C:\pe86\ISO\sources\boot.wim
copy C:\imagex.exe C:\pe86\ISO



USB 부팅 설정


1. USB 드라이브를 컴퓨터의 USB 포트에 연결합니다.

주의: USB 드라이브의 모든 내용이 삭제됩니다. 반드시 자료 백업 후 진행하세요!

2. 다운로드한 RMPrepUSB.exe를 실행합니다.

3. 다음의 옵션들을 설정하세요.

SIZE = MAX (기본값)
VOLUME LABEL = WINPE (원하는 다른 이름을 입력하셔도 됩니다.)
BOOT OPTIONS = WinPEv2 [BOOTMGR]
FILESYSTEM and OVERRIDES = FAT32 + HDD (2GB 이상의 파일을 보관하려면 FAT32 대신 NTFS로 선택하세요)
COPY FILES = 체크
Copy Folder = C:\pe86\ISO

4. Prepare Drive 버튼을 선택하세요.

5. 이제 USB 드라이브 안에 다음 파일들이 존재하는지 확인하세요.

bootmgr
imagex.exe
\sources\boot.wim
\boot
\EFI

6. 따로 USB에 넣을 파일이 있다면 넣으세요.

7. 이제 RMPrepUSB의 Eject 버튼을 클릭한 뒤, USB를 뽑으셔도 됩니다.



만들어진 USB로 윈도우 시스템 백업하기


1. 백업할 컴퓨터의 USB 포트에 만들어진 USB 드라이브를 연결하세요.

2. 컴퓨터를 켜고, BIOS 설정에 진입합니다. 진입 방법은 컴퓨터마다 다르지만 보통 F1, F2, F8, F10, F11, F12, DEL 키 중에 하나입니다. 

3. Legacy USB SupportEnabled로 설정되어 있는지 확인하시고, (없을 수도 있습니다) Boot Order에서 USB 드라이브가 처음으로 오도록 변경합니다. BIOS에 USB-ZIP mode 옵션이 있다면 Removable Disk가 아닌 Fixed Disk로 설정합니다.

4. BIOS 설정을 저장하고 (보통 F10입니다) 컴퓨터를 재시작합니다. 시스템이 USB의 WinPE 환경으로 부팅되어야합니다.

5. USB 드라이브 문자를 확인하기 위해 명령 프롬프트 창에 notepad 를 입력해 메모장을 실행한 후, 파일 - 열기 메뉴를 통해 USB 드라이브 문자를 확인하세요.

이후의 과정은 USB가 F 드라이브, 백업하고자 하는 파티션이 C 드라이브라고 가정하고 진행합니다. 드라이브 문자가 다르다면 해당 문자로 진행하세요.

6. 메모장을 닫습니다.

7. 명령프롬프트 창에 해당 명령을 입력하세요.

F:\imagex /capture C: F:\mybackup.wim "my comments here" /norpfix /check /verify

(완성된 이미지 파일에 주석을 달고 싶다면, 위의 명령에서 "my comments here"을 주석으로 바꾸시면 됩니다.)

백업할 F 드라이브에 충분한 여유공간이 있어야 합니다. 여유 공간이 넉넉하지 않다면 다른 경로로 F:\mybackup.wim 부분을 바꿔주세요.

8. 백업이 완료되면, C 드라이브의 백업 이미지가 F:\mybackup.wim로 저장됩니다.

9. 만일 추후에 다른 백업본을 만들고 싶다면, 다음 명령어를 실행하세요.

imagex /append C: F:\mybackup.wim "second backup" /check /verify /norpfix

  Single-Instancing을 사용하는 ImageX의 특성상, 달라진 파일만 저장하기 때문에 이렇게 백업하면 큰 용량 증가 없이 또다른 백업본을 만드실 수 있습니다.



완성된 이미지 파일 복원하기


1. USB 드라이브를 사용, WinPE로 부팅합니다.

2. 복원할 드라이브를 포맷합니다 (포맷하지 않으면 기존의 파일이 유지됩니다.)

드라이브 포맷은 다음 명령으로 하시면 됩니다. "C:"를 포맷하고자 하는 드라이브 문자로 바꾸는 것을 잊지 마세요.

format C: /FS:NTFS /Q

3. 다음 명령어로 C 드라이브에 F:\mybackup.wim 파일을 복원합니다.

imagex /apply F:\mybackup.wim 1 C: /check /verify

두번째로 백업한 백업본을 복원하려면 위의 1을 2로 바꾸시면 됩니다.


참고: 빈 하드 드라이브 DISKPART로 포맷하기

다음 명령어를 실행하시면 됩니다.

DISKPART /s dpart.txt

  

dpart.txt의 내용은 다음과 같습니다.

LIS DISK
SEL DISK 0
CLEAN
CRE PAR PRI SIZE=100000 ALIGN=16065
FORMAT FS=NTFS LABEL="MYDRIVE" quick
ASSIGN LETTER=J
ACTIVE
CRE PAR PRI ALIGN=16065
FORMAT FS=NTFS LABEL="BACKUP" quick
ASSIGN LETTER=K
LIST VOL
SEL DISK 0
SEL PAR 1
LIST DISK
LIST PAR
DETAIL PAR
EXIT


윈도우 XP 이미지의 경우에는 부팅시 'bootmgr is missing' 오류가 뜬다면 다음 명령어를 실행해 주세요. (Bootsect.exe는 WAIK 폴더 안의 Tools\PETools\x86 폴더 안에서 찾으실 수 있습니다.)

bootsect /nt52 J:

위의 DISKPART 스크립트는 최대한 충돌을 피하기 위해 자주 사용되지 않는 드라이브 문자를 파티션에 할당합니다. 재부팅 시 J 드라이브는 C에, K 드라이브는 D에 할당됩니다.

또한, 위 스크립트에서 'ALIGN=16065' 부분은 'Pre-Setup Stage'의 XP를 복원하고자 할 경우에만 필요합니다. (재시작 시 Setup.exe나 Setup32.exe를 실행하는 이미지를 총칭합니다) 대부분의 이미지의 경우 이 부분을 생략하셔도 됩니다.

시스템을 재시작 하기 전, 마운트 된 J 드라이브의 파일을 수정하셔도 됩니다. (파일이나 폴더를 J나 K 드라이브로 복사하거나, 시작프로그램에 바로가기를 추가함으로써 윈도우 재부팅시 자동으로 특정 프로그램을 실행하도록 하는 동작 등이 가능합니다)

한 예로, 아래의 prep.cmd 스크립트 파일은 새로운 하드드라이브에 윈도우 XP를 5분정도의 시간에 설치 할 수 있습니다.


diskpart /s dpart.txt
imagex /apply mybackup.wim 1 J:
bootsect /nt52 J:
echo Finished! - Press a key to reboot
pause > nul
wpeutil reboot


윈도우 Vista/7 이미지 복원 후 부팅에 문제가 있다면, BCD의 문제일 가능성이 높습니다. WinPE로 부팅 후 다음 명령을 통해 BCD 구성을 확인하세요.

bcdedit /enum /v


문제가 있는 BCD를 고치려면, 다음 명령어들을 순차적으로 실행하시면 됩니다.


del C:\boot\bcd
bootrec /RebuildBcd
rem 문제가 발생한다면 'del C:\boot\bcd'을 실행하시고 다음으로 건너뛰세요.

bcdedit.exe /createstore c:\boot\bcd.temp
bcdedit.exe /store c:\boot\bcd.temp /create {bootmgr} /d "Windows Boot Manager"
bcdedit.exe /import c:\boot\bcd.temp
bcdedit.exe /set {bootmgr} device partition=C:
bcdedit.exe /timeout 10
del c:\boot\bcd.temp
rem 여기까지 하시면 일단 bootmgr은 작동합니다. 하지만 Vista/Win7 항목을 추가적으로 작성해 주어야 합니다.

bcdedit.exe /create /d "Windows Vista" /application osloader
rem 상황에 맞게 "Windows Vista"를 "Windows Vista2" 혹은 "Windows 7"으로 바꿔주세요.
rem 여기까지 실행하시면, 새롭게 생성된 항목에 대한 GUID가 반환됩니다. (ex. The entry {c0dfc4fa-cb21-11dc-81bf-005056c00008} was successfully created.) 앞으로 실행할 명령어에서 윈도우가 설치된 드라이브 문자와 함께 해당 부분을 입력하세요.
bcdedit.exe /set /set {default} device partition=c: 
bcdedit.exe /set {default}  osdevice partition=c:
bcdedit.exe /set {bootmgr} device partition=c:
bcdedit.exe /set {c0dfc4fa-cb21-11dc-81bf-005056c00008} path \Windows\system32\winload.exe
bcdedit.exe /set {c0dfc4fa-cb21-11dc-81bf-005056c00008} systemroot \Windows

rem 마지막으로, 생성된 항목을 기본 부팅 항목으로 지정합니다.
bcdedit.exe /displayorder {c0dfc4fa-cb21-11dc-81bf-005056c00008}
bcdedit.exe /default {c0dfc4fa-cb21-11dc-81bf-005056c00008}


혹시 모르시는 분들을 위한 팁: 명령 프롬프트 창에서 마우스 우클릭 - 표시(K)를 클릭하시고, 반환된 GUID를 드래그 하신 뒤 엔터를 입력하시면 클립보드에 GUID가 복사됩니다. 다시 마우스 우클릭 - 붙여넣기(P)를 하시면 간편하게 GUID를 입력하실 수 있습니다. 또 명령 프롬프트 상에서 화살표 위/아래 키를 사용하면 이전에 사용했던 명령어를 다시 사용할 수 있습니다.



WinPE 상에서 네트워크 접속하기


WinPE는 네트워크에 접속할 수 있습니다. 이를 통해 네트워크 상의 폴더에 이미지를 백업하거나, 네트워크 상의 이미지로부터 컴퓨터를 복원하는 것도 가능합니다.

이 예에서는, 'FredsPC'라는 네트워크 컴퓨터에 생성된 읽기/쓰기 권한의 'sharedfld' 폴더를 사용하며, 네트워크 도메인은 'mydomain', 유저명과 비밀번호는 'freddy', 'mypassword' 입니다. 상황에 맞게 자신에게 맞는 설정으로 바꾸어서 사용하세요.


1. 이더넷 케이블을 연결한 뒤, WinPE를 부팅합니다.

2. ipconfig /all 명령어를 통해 올바른 IP 주소를 할당받았는지 확인합니다. (192.168.1.1이 아닌지 확인하세요)

3. 올바른 IP 주소가 출력되지 않는다면, 하드웨어에 맞는 인터넷 드라이버가 설치되지 않은 것입니다. WinPE가 설치된 USB 드라이브에 알맞은 드라이버 파일을 F:\NETPE 등의 폴더에 복사하시고, drvload F:\NETPE\xxxxx.inf 명령어를 통해 드라이버를 로드하세요. (xxxxx.inf, xxxxx.cat, xxxxx.sys 등 모든 드라이버 파일이 있어야 합니다) 1-2분간 IP 주소가 할당 되기를 기다린 뒤, 다시 ipconfig /all 명령어를 통해 IP 주소가 올바르게 할당되었는지 확인합니다. 아직도 IP 주소가 할당 되지 않는다면 netcfg -winpe 명령어를 통해 네트워크 스택을 재시작시켜주셔도 됩니다.

4. ipconfig 명령어를 통해 Default Gateway와 DNS Suffix가 올바르게 할당되었는지 확인하세요.

5. 네트워크 공유 폴더에 접속하기 위해서 다음 명령어를 실행하세요.

net use N: \\FredsPC\sharedfld /U:mydomain\freddy

비밀번호를 요구한다면 입력해주세요.

6. 이제 마운트된 N: 드라이브를 이미지 백업/복원을 위한 드라이브로 활용하시면 됩니다.



복원 후 링크 확인


이미지 복원 후에는 링크가 잘 적용되었나 확인해 주셔야 합니다. 다음 명령어를 통해 링크가 잘 적용되었나 확인해 주세요.

dir C: /AL
dir C:\Users /AL

심볼링 링크들이 C 드라이브를 가리키고 있지 않다면, 복원시 /norpfix 인자를 덧붙여 주셔야합니다.




Sysprep을 통해 복사용 이미지 만들기


ImageX를 통해 생성한 이미지 파일을 다른 컴퓨터에서도 사용하고자 한다면, 윈도우를 설치할 때 복사를 염두에 두고 작업을 해야합니다. 컴퓨터 이름이나 도메인 보안 ID가 이미지에 포함되기 때문인데요, Sysprep 도구를 사용하면 이를 제외한 이미지 파일을 만들 수 있습니다.

XP 환경에서는 먼저 XP 설치 CD로부터 알맞은 버전의 Sysprep를 복사해야 합니다. (http://support.microsoft.com/kb/302577를 참고하세요)

C:\Sysprep\sysprep.inf 가 첫번째 부팅때 실행될 정보를 담고 있습니다.

윈도우 비스타나 7 시스템에는 이미 Sysprep가 포함되어 있습니다. C:\Windows\System32\Panther\Unattend\Unattend.xml 와 C:\Windows\System32\Oobe\Oobe.xml 가 첫번째 부팅때 실행될 정보를 담고 있습니다. 이 때, 시스템에 연결된 모든 드라이브에서 Unattend.xml을 삭제하는 것을 잊지 마세요. Sysprep에 대한 자세한 정보는 인터넷에서 검색해보세요 (...)

윈도우가 설치된 뒤, 처음 윈도우로 부팅하면 Welcome 화면이 출력됩니다. 이때, CTRL+SHIFT+F3를 입력하시면 감사 모드 (Audit Mode)로 진입되는데, 이 상태에서 별도의 계정을 만들지 않고 프로그램 등의 설치가 가능합니다. 모든 프로그램들을 설치하시고 시스템 설정을 마치신 뒤, Sysprep 윈도우의 Reseal/OOBE 버튼 (Vista/7에서는 OOBE+Generalize) 을 클릭해서 컴퓨터를 종료합니다. 이 상태에서 ImageX로 백업 이미지를 생성하시면 됩니다.

백업이 종료 된 뒤, 시스템을 부팅해서 모든것이 올바르게 작동하나 확인하신뒤, 문제가 발견된다면 다시 CTRL+SHIFT+F3을 통해 감사모드로 들어가셔서 문제를 수정하시면 됩니다.



WIM 파일 내용 수정하기


WAIK를 사용하면 백업된 이미지 파일을 특정 폴더에 마운트 한 뒤 백업된 내용을 수정하는 것도 가능합니다. 이를 통해 다시 시스템을 백업하는 과정 없이 백업된 이미지의 내용을 수정하실 수 있습니다.


1. 시작 - 모든 프로그램 - Microsoft Windows AIK - Deployment Tools Command Prompt을 관리자 권한으로 실행합니다.

2-3. 다음 명령어들을 실행해 빈 폴더를 생성하고 그 폴더에 이미지 파일을 마운트 합니다.

mkdir C:\mount
dism /Mount-Wim /wimfile:C:\mybackup.wim /index:1 /Mountdir:C:\mount

4. 이제 파일 탐색기를 사용, C:\mount에 마운트된 백업 파일을 수정하시면 됩니다.

5. 작업이 완료되면 다음 명령어를 실행해 이미지를 언마운트하고 변경사항을 적용하세요.

dism /Unmount-Wim /MountDir:C:\mount /commit

변경 사항을 적용하고 싶지 않다면, /commit 대신에 /discard를 사용하세요.



팁: 몇몇 BIOS에는 백업/복원된 이미지 파일을 손상시킬 수 있는 버그가 존재합니다. ImageX를 사용할 때 항상 /check /verify 인자를 통해 완성된 이미지의 무결성을 확인하는 것을 권장합니다.