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

2014.07.22 10:23

CraXicS 조회:5941 추천: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 - - -
2498 소프트웨어| 크롬에서 YouTubeCenter 다운로드 기능 사용하기 [2] Curvature 3772 3 08-01
2497 소프트웨어| 국내 ISP의 횡포와 DNS, 그리고 F-Secure 소개 [7] 캇떼니시로 6536 4 08-01
2496 하드웨어| 노트북 CPU교체하기.(엑박수정) [16] 테미스 9774 2 07-28
2495 윈 도 우| W8.1 File Explorer Jump List Recent & Pinned 추가,... osc 3866 1 07-27
2494 소프트웨어| Win8PEL.iso와 Win7PEL.iso 멀티부팅하기 [16] suk 12454 10 07-27
2493 소프트웨어| 8.1 에어로글래스 성능향상팁.. [7] bleach 7305 4 07-27
2492 윈 도 우| 윈도우 7, 8, 8.1 토큰 위치 입니다. [8] 머니텍 8369 2 07-25
2491 윈 도 우| World`s Best Enterprise PE- Bootice으로 PAE패치 인식방법 [8] 치돌이 6463 4 07-23
2490 윈 도 우| 이 인터넷 바로 가기를 열 수 없을때 DOS 5403 2 07-23
2489 윈 도 우| WIndows 8.1 Fax Issue [3] osc-member 4416 1 07-22
» 윈 도 우| Windows 설치 시 다중 응답 파일 선택하기 [9] CraXicS 5941 5 07-22
2487 소프트웨어| POWER ISO로 WIM파일 불러 지네요.. [3] 오야먹 4827 2 07-21
2486 윈 도 우| 윈도 설치 iso - 해부하기 [16] suk 11061 14 07-20
2485 윈 도 우| Windows 8.1 및 Windows 8에서 "새로 설치됨" 강... 메트로작전 5527 2 07-20
2484 하드웨어| usb 3.0 허브에 대해서 팁이라면 팁을 드립니다. [11] 필립 7242 1 07-16
2483 소프트웨어| 한/글 파일 안 열릴 때 [3] asklee 5074 5 07-15
2482 윈 도 우| Windows 7에서 배경화면 슬라이드쇼 적용하는 방법 [1] 조남식 4448 1 07-14
2481 소프트웨어| 여름철.. PC 사용중 묻지마 전원 강제 OFF 증상일 경우 해... [8] 은주얌 6885 2 07-10
2480 윈 도 우| Windows의 전원설정을 통해 배터리 상태 체크하기 [7] 조남식 4940 3 07-09
2479 소프트웨어| 어느 귀차니스트의 윈도image 생성방법 [7] suk 6227 3 07-05
XE1.11.6 Layout1.4.8