강좌 / 팁

윈 도 우 Windows 설치 시 다중 응답 파일 선택하기

2014.07.22 10:23

CraXicS 조회:6089 추천:5


답 파일이란 Windows를 설치 하는 중 나타나는 설정들을 미리 파일로 저장하여 Windows 설치 프로그램이 이 파일을 바탕으로 Windows 설치를 자동으로 진행하게 하는 파일입니다. 

이 응답 파일을 사용하여 완전 자동, 무인 설치 등이 가능합니다. 일반적인 GUI 방식에서 응답 파일의 적용은 설치 ISO 이미지의 루트의 Autounattend.xml이나 설치용 PE(boot.wim)의 레지스트리에 등록된 경로 등이 있는데요.


단 하나의 응답파일만 자동으로 선택하게 되어서 사용자가 수동으로 선택하려 하면 setup.exe의 명령줄 옵션을 이용해야 합니다. 번거롭죠. 그래서 응답 파일을 사용자가 GUI 방식으로 선택할 수 있도록 시도해 봤습니다.


아 참. 여러 응답 파일을 ISO 이미지에 넣어두면 어떤 효과를 얻을 수 있을까요?

OOBE 과정을 건너 뛰고 바로 Administrator 계정으로 로그인하는 응답 파일
무인 설치 응답 파일
파티션 설정 부분만 제외한 반무인 설치 응답 파일
인덱스 1번에 최적화된 응답 파일

.... 등등의 자신에 입맛에 맞게 짠 응답 파일을 사용자가 선택하여 Windows를 설치 할 수 있답니다.


그래서 고민한 결과, boot.wim 속 setup.exe와 sources 폴더가 바로 Windows 설치 프로그램 인데요. 이 루트의 setup.exe를 다른 파일로 교체하는 방법을 선택했습니다. 외국 포럼같은 데서 구할 수 있겠으나 전 제가 직접 만들어 보고 싶어서 직접 프로그래밍 했습니다. 이것 만들려고 다 까먹은 C언어 다시 복습하고 C++은 발로 배우고 Win32 API를 동영상 강의로 배우고 코드 최적화, 메모리 최적화 이딴거는 개나 줘버리고 만들었답니다. ^^; 노하우 없이 이론과 구글링, 복사 붙여넣기로 배운터라 부족하지만 한번 올려봅니다.









이미지 01.png
[↑이미지 01] – CodeName Sector 첫 화면



Sector 적용 방법
Windows 설치 용 PE(일반적으로 boot.wim의 2번 인덱스)를 Mount 한 뒤 루트에 보이는 setup.exe를 Sector(setup.exe)로 덮어씁니다.

Windows 설치 프로그램이 들어있는 PE나 또는 ISO 파일의 sources 폴더 속에 unattend 이름의 폴더를 만든 후 그 안에 Unattend_Info.xml 파일 및 여러 응답 파일들을 넣습니다. 응답 파일은 최대 30개 까지 권장됩니다.

참고:
Windows PE 3.1(Windows 7 SP1)에서 Windows 8.1 용 설치 프로그램을 실행할 시 일반적인 실행 및 Windows 설치는 잘 되나 무인 설치는 오류가 나더라구요.
Windows 8.1 용 boot.wim의 System32 폴더 내 아래와 같은 파일들을 Windows 3.1 PE의 System32 폴더에 넣어주세요. (당연히 플랫폼 버전이 같아야겠죠 x86은 x86 끼리~)
api*.dll (덮어 씀) – x86: 262개, x64: 263개

위 파일들은 첨부 파일에 포함되어 있습니다.

[↓이미지 02] - Sector의 런타임 초기화 프로세스

이미지 02.png

Unattend_Info.xml 파일명은 Sector가 각 응답 파일에 대한 설명을 표시하기 위한 예약 상수 문자열입니다. Sector를 시작하기 위한 필수 파일은 아닙니다.
\sources\unattend\ 폴더 안에 위치해야 하며, 대소문자는 구분하지 않습니다.
아래와 같은 XML 포맷을 사용해야 합니다.

[↓이미지 03] - Unattend_Info.xml 포맷 구조
이미지 03.png

XMLFile 속성 노드에 대한 권장 최대 문자 수: 63자 (ANSI) - 영문만 지원
Description 속성 노드에 대한 권장 최대 문자 수: 127자 (UNICODE) - 다국어 지원

참고: 설명 문자열이 127자까지 가버리면 Sector의 콤보 박스안에 모두 다 못 들어가니, 리소스 해커 등의 리소스 편집 툴로 크기를 줄여보시는 것도 좋겠네요.
아 배경화면은 가운데 로고 이미지가 투명을 지원하지 않아서(구현하질 못해서) 단색이 아닌 이미지를 넣을 땐 합성해서 넣어야 해요. ;;

참고: 권장 최대 문자 수를 초과할 시 버퍼 오버플로우가 발생할 수 있습니다. 기본적으로 초과 문자는 잘리게 끔 했습니다.

샘플 응답 파일인 SkipOOBEasAdmin.xml 파일은 Windows 설치 마지막 단계인 OOBE 단계를 건너뛰고 Administrator 계정으로 자동 로그온하는 응답 파일입니다.
전체 자동 설치 무인 응답 파일도 만들어 보려 했는데 파티션 설정 부분에서 자꾸 오류가 나서 그만 뒀어요…… ㅠㅠ 구글링을 더 해봐야겠어요.

다운로드


버전 히스토리
-Beta 2
Visual C Runtime Library 정적 링킹
Copyleft 선언
소스 오픈

-Beta 1
최초 배포


나름 몇 번 테스트 해봤는데 워낙 단순한 프로그램이니 심각한 버그는 없지 않나 싶어요.

참고로 Windows 설치 시 업그레이드 할 것이냐, 사용자 지정할 것이냐 묻는데 전 업그레이드는 하지 않아서 업그레이드에 관한 테스트는 하지 않았어요. 뭐.. 거의 똑같지 않을까 생각해요.

다음은 Windows PE 3.1 x64 기반의 Windows 8.1 용 설치 프로그램 x64 및 Sector x64로 Windows 7 x64를 샘플 응답 파일을 이용해 설치하는 스크린 샷 입니다.



ScrShot0.png 

ScrShot1.png

ScrShot2.png

ScrShot3.png

ScrShot4.png

ScrShot5.png

ScrShot6.png

ScrShot7.png

ScrShot8.png


번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
3241 고스트 자동 복원 시스템 구축 종합 - 자동 설치 [1] 제민상 10283 0 11-01
3240 윈 도 우| 윈도우8 핫픽스 사이트 a12434 10279 3 10-28
3239 하드웨어| 파이어폭스에서 구버전 부가기능 호환성 문제 해결하기 [5] Prototype 10277 0 01-25
3238 라이트스크라이브 DVD라벨인쇄 무작정따라하기 [9] 목도리 10275 0 10-26
3237 윈 도 우| Windows Sysprep 팁 [25] CraXicS 10270 15 01-18
3236 기 타| 무료 팩스 수신 서비스 [5] asklee 10267 9 01-01
3235 윈 도 우| 윈도우 8 업그레이드 키로 클린 설치한 윈도우 8 인증하기 DOS 10266 0 08-30
3234 윈 도 우| 윈도우 10 최적화 설정 하기 [31] gooddew 10263 44 02-02
3233 소프트웨어| 윈도우7 USER-PE 제작 방법_4 [3] 세리아 10261 2 08-23
3232 윈도7 스타크레프트 색상이상현상고치기 [8] q12345 10259 0 08-31
3231 윈도우 미디어 센터 단축키 [1] 해미 10254 0 10-26
3230 윈 도 우| 윈도7 최대한 가볍게 사용하기 [12] ton3d 10249 5 02-13
3229 소프트웨어| IE9의 Tracking Protection 사용법 [4] YIU 10235 0 02-20
3228 윈 도 우| Win7 크롬에서 윈미플(WMP) 플러그인 실행 안될때.. [3] 드로리안 10231 2 05-10
3227 윈 도 우| 4. 복구 방법 - True Image 복원, 드라이버 설치 [2] 공피 10229 0 02-14
3226 하드웨어| B4작성된문서 A4로 인쇄하기 [4] 죠타로 10227 0 01-06
3225 우분투 11.10 에서 nvidia 드라이버 설치하기.. [8] 기리나 10224 0 03-11
3224 서버 / IT| KT가 자사 백본망에 유튜브 캐시 서버를 설치한 정황이 포... [11] 프로파간다 10217 5 10-24
3223 탐색기에서 파일이동 복사하기 메뉴만들기 [2] gg 10217 0 10-27
3222 윈 도 우| 사용중인 윈도를 Wimboot로 간단하게 하기 [14] suk 10215 2 10-05
XE1.11.6 Layout1.4.8