강좌 / 팁

윈 도 우 win7 설치 이미지 사용자 지정

2010.12.16 22:23

eunnano 조회:14031

이 글은 Windows 7 설치 이미지를 사전에 수정하여 설치 후에 해야 하는 작업들을 미리 적용시키는 방법에 대한 글입니다.
ImageX.exe 와 Dism.exe 명령을 읽어보시는 게 좋을 것 같습니다.
ImageX.exe 명령줄 참조: https://technet.microsoft.com/ko-kr/library/dd799302(WS.10).aspx
Dism.exe 명령줄 참조: https://technet.microsoft.com/ko-kr/library/dd744382(WS.10).aspx
Dism.exe 는 Windows 7 에 기본적으로 포함되어 있습니다. ImageX.exe, oscdimg.exe 를 Windows 폴더나 System32 폴더에 넣어둔 후 작업하세요.

 

1.Windows 7 이미지 풀어놓기
Windows 7 파일(.iso)을 UltraISO로 열어서 메뉴에서 작업- 내보내기를 클릭하여 임의의 폴더로 내보냅니다.
저는 D:\DVD 폴더에 내보냈습니다. Windows 7 이미지 파일은 D:\DVD\sources\install.wim 입니다.
WIM 은 '디스크 이미지 형식'입니다. 디스크를 이미지로 뜰 때는 ImageX.exe 의 /capture 옵션을 사용하고 이미지를 디스크로 풀어줄 때는 /apply 옵션을 사용합니다. 이미지를 /mountrw 옵션을 사용하여 폴더에 마운트 시켜서 작업해도 되는데 /apply 시켜서 작업하는 이유는 파일 수정작업을 쉽게 하기 위해서입니다. 다음의 명령으로 install.wim 파일을 풀어놓습니다.

 

ImageX.exe /apply D:\DVD\sources\install.wim 5 F:
- install.wim 5번 이미지를 F: 에 풀어 줍니다.
- install.wim 5번 이미지는 순정 x86 에서는 Ultimate 입니다. /info 명령으로 확인할 수 있습니다.
- (예, imagex /info d:\dvd\sources\install.wim )

 

2. 언어팩 추가하기
언어팩 추가는 업데이트 추가보다 먼저 합니다. 업데이트들 중에는 언어 부분에 적용되는 업데이트도 있는데 언어팩을 업데이
트 보다 나중에 적용하면 이러한 부분이 적용되지 않아 업데이트를 다시 설치해야 됩니다.
Windows 7 에서 다국어를 사용할 수 있는 버전은 Ultimate 와 Enterprise 버전입니다. 다른 버전도 언어 추가가 가능한데 설치 도중에 사용하기로 선택한 언어를 제외하고는 설치 후 어느 시점에서 다른 언어는 자동으로 제거됩니다.
언어팩 다운로드: https://windowsforum.kr/?mid=data&page=183&document_srl=163099
Dism 은 .exe 파일의 통합을 지원하지 않기 때문에 다운받은 후 exe2cab.exe 로 .cab 파일로 변환합니다.

 

Dism.exe /image:F: /add-package /packagepath:D:\windows6.1-kb972813-x86-ko-kr.cab
- F: 에 있는 오프라인 이미지에 패키지를 추가합니다. 패키지의 경로는 D:\windows6.1-kb972813-x86-ko-kr.cab 입니다.
- Windows 7 에서 오프라인 서비스 도구가  Dism.exe 하나로 통합되었습니다.
- 추가로 로컬팩도 위와 같은 방식으로 통합합니다. 로컬팩은 지역테마와 IE 즐겨찾기에서 지역 즐겨찾기를 포함하고 있는 파일입니다. 로컬팩 다운로드: https://windowsforum.kr/?mid=data&page=192&document_srl=80965

 

Dism.exe /image:F: /set-skuintldefaults:ko-kr
- 언어설정 기본값을 ko-kr 로 변경합니다.

 

3. 업데이트 추가하기
업데이트 다운로드:  https://forums.mydigitallife.info/threads/19461-Windows-Hotfix-repository
다운 받은 업데이트를 D:\x86 폴더에 풀어놓았습니다.

 

Dism.exe /image:F: /add-package /packagepath:D:\x86
- 몇몇 종속적인 업데이트는 통합되지 않을 수 있습니다.

 

4. 드라이버 추가하기
오프라인 드라이버 추가는 .INF 파일 형식만 지원합니다. 드라이버와 같이 제공되는 응용프로그램까지 설치하려면 온라인상에서 설치합니다. 저는 메인보드 드라이버를 D:\Intel 폴더에 넣어두었습니다.

 

Dism.exe /image:F: /add-driver /driver:D:\Intel /recurse
- F: 에 있는 오프라인 이미지에 드라이버를 추가합니다. 드라이버는 D:\Intel 폴더입니다.
- .INF 파일을 정확하게 지정하지 않고 폴더를 지정한 경우 폴더 안의 모든 .INF 파일을 통합합니다.
- /recurse 옵션은 서브 폴더까지 검색해서 추가하는 옵션입니다.
- 자신에게 맞는 드라이버인지 장치관리자에서 수동으로 추가해보시고 확인하신 다음 작업하시는 게 좋을 것 같습니다.

 

언어, 업데이트, 드라이버를 추가하는 작업을 했는데, 한가지 알아두셔야 할 점은 추가한 만큼 이미지 용량이 늘어납니다.
이 점은 윈도우즈상에서 설치를 하더라도 마찬가지 입니다. 대신에 오프라인에서 추가해 놓으면 설치시간이 단축된다는 이점이 있습니다. 윈도우의 기본 패키지와 드라이버를 제외하고 새로 추가한 패키지와 드라이버는 /remove-package, /remove-driver 옵션을 통해 제거할 수 있습니다.

 

5. 기능 사용하기
온라인상에서 '제어판- 프로그램 및 기능- Windows 기능 사용/사용 안함'에서 추가로 기능을 사용하는 작업을 오프라인에서 하는 작업입니다.

 Dism.exe /image:F: /get-features -이 명령으로 기능 목록(이름, 상태)이 표시됩니다.
Dism.exe /image:F: /get-features > D:\feature.txt  -텍스트로 출력합니다.
/get-featureinfo 옵션으로 기능에 대한 정보를 볼 수 있습니다.

(예: Dism.exe /image:F: /get-featureInfo /featureName:SNMP )
기능 목록 참조: https://technet.microsoft.com/en-us/library/ff716257(WS.10).aspx
기능의 상태는 사용, 사용 보류중, 사용 안함의 세 가지 상태가 있습니다. '사용 보류중'은 사용자의 환경이나 선택에 따라 설치 혹은 사용되는 기능 같습니다. '사용 안함' 상태의 기능을 다음의 명령으로 설치합니다.

 

Dism /image:F: /enable-feature /featureName:SNMP
- 이 기능은 이미지가 부팅된 후 설치됩니다.(아직은 '사용 보류중'으로 나타납니다.)
- 일부 기능은 다른 기능을 먼저 설치해야 합니다. (예: Server 2008R2 에서 '데스크톱 경험' 기능은 잉크서비스가 먼저 설치되어야 합니다.)
- 반대로 '사용' 상태의 기능을 /disable-feature 옵션으로 '사용 안함'으로도 할 수 있습니다.

 

6. 사용자 지정 스크립트 추가하기
설치가 완료된 후 사용자 정보를 입력하는 단계인 OOBE가 실행되기 전에 배치파일을 실행할 수 있습니다.
SetupComplete.cmd란 이름으로 %Windir%\Setup\Scripts 경로에 넣어 두면 실행됩니다.
OEM 인증 DVD를 만들기: https://snoopybox.co.kr/940
OEM 소스 폴더: https://forums.mydigitallife.info/threads/12785-7-Oem-Sources-Folder-Project
카.조님의 새로운 버전: https://windowsforum.kr/osdata/1592579
다운 받은 후 경로에 맞게 복사해 둡니다.( $oem$\$$ 폴더 안의 내용을 F:\Windows 폴더로 복사합니다.)
Setupcomplete.cmd 파일의 명령은 로컬 시스템 권한을 사용하여 실행됩니다.

 

7. 사용자 지정 스크립트 추가하기 2
'시작 프로그램' 폴더에 등록하여 설치가 모두 끝나고 바탕화면이 표시될 때 배치파일이 실행되도록 할 수 있습니다.
'시작 프로그램' 폴더의 경로는 F:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup 입니다.
배치파일의 '바로 가기(.lnk)'나 배치파일 자체를 넣어 둡니다.
SetupComplete.cmd가 아닌 로그온 후에 배치파일을 통해서 레지 파일(.reg)을 병합하거나 시스템 변경작업을 하면
'사용자 계정 컨트롤(UAC)' 경고문구가 표시됩니다. 경고 문구가 표시되지 않게 하려면 다음의 작업을 추가로 해줍니다.

 

reg load HKLM\temp F:\Windows\System32\config\SOFTWARE
reg add HKLM\temp\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
reg unload HKLM\temp
- F: 에 있는 이미지의 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 키에 있는 "EnableLUA" 값을 0(사용안함)으로 수정하는 내용입니다.-> UAC 사용 안함.(UAC 사용은 1 입니다.)
- reg.exe 명령줄 참조: https://technet.microsoft.com/ko-kr/library/cc755813(WS.10).aspx
- UAC 를 되돌리려면 배치파일에 다음 명령줄을 추가합니다.

- reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t EG_DWORD /d 1 /f
- '시작 프로그램' 폴더에 등록된 것을 삭제하는 명령:

   del /f /q %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup\파일이름

 

'시작 프로그램' 폴더에 등록하지 않고 레지스트리에 등록하여 바탕화면이 표시될 때 실행되게 하는 방법도 있습니다.
예를 들어, Windows\MyApp 폴더에 있는 Start.cmd란 이름의 배치 파일을 설치 완료 후 실행되게 하려면 다음의 작업을 해줍니다.

reg load HKLM\temp  F:\Windows\System32\config\SOFTWARE
reg add HKLM\temp\Microsoft\Windows\CurrentVersion\RunOnceEX\0001 /v Entry1 /t REG_SZ /d "%windir%\MyApp\start.cmd" /f
reg unload HKLM\temp
- RunOnceEx 키 참조: https://support.microsoft.com/kb/310593/en-us

 

8. winRE.wim 파일 교체하기
winRE.wim 은 복구 패키지가 들어 있는 PE 파일입니다.
트윅 PE의 boot.wim 파일을 F:\Windows\System32\Recovery\winRE.wim 파일과 교체하면 나중에 '복구모드'에 들어가서 유용하게 사용할 수 있습니다. 트윅 PE를 UltraISO로 열어서 sources 폴더에서 boot.wim 파일을 빼냅니다. (파일명이 winpe.wim 혹은 tweak.wim 기타 등등 다른 이름일 수 있습니다.)

 

ImageX /info D:\boot.wim
- D:\boot.wim(트윅 PE)의 파일 정보를 봅니다. IMAGE INDEX가 2번까지 있는 경우는 다음의 명령으로 2번 이미지만 추출합니다.
ImageX /export D:\boot.wim 2 D:\winRE.wim "Microsoft Windows Recovery Environment (x86)"
- D:\boot.wim 2번 이미지를 D:\winRE.wim으로 추출하는데 이미지 Name은 "Microsoft Windows Recovery Environment (x86)"입니다. Name은 임의대로 설정합니다.
- IMAGE INDEX가 1번 밖에 없는 경우는 파일명만 winRE.wim으로 바꾸면 됩니다.
xcopy D:\winRE.wim F:\Windows\System32\Recovery /h /r /y
- 추출한 winRE.wim 을 F:\Windows\System32\Recovery 폴더에 있는 순정 winRE.wim 과 바꿉니다.

 

9. 가젯, 바탕화면, 테마
윈도우즈 상에서 가젯을 설치하면 C:\Users\사용자이름\AppData\Local\Microsoft\Windows Sidebar\Gadgets 폴더에 추가됩니다. 통합시킬 가젯을 복사하여 F:\Program Files\Windows Sidebar\Gadgets 폴더에 넣어 줍니다.

 

Windows 7 기본 바탕화면은

F:\Windows\Web\Wallpaper\Windows\img0.jpg
F:\Windows\winsxs\x86_microsoft-windows-s..l-wallpaper-windows_31bf3856ad364e35_6.1.7600.16385_none_dae87c5811c55450\img0.jpg
입니다. 원하는 배경화면을 img0.jpg 로 변경한 뒤 원본과 바꿉니다.(권한 문제가 해결이 안 되면 PE로 부팅하여 작업해 보세요.)


테마파일에 대하여- https://msdn.microsoft.com/en-us/library/bb773190%28VS.85%29.aspx
.themepack 만들기: https://windowsforum.kr/766798#comment_767483
- .themepack 은 expand.exe 를 사용하여 압축을 풉니다. (예, expand.exe my.themepack -f:* d:\mytheme)
-  압축을 푼 폴더 안의 .theme 파일을 메모장으로 열어서 wallpaper, cursor, .wav 부분을 수정합니다.
-  F:\Windows\Resources\Themes 폴더에 .theme 파일을 넣어줍니다.( 적용시킬 파일도 해당 경로로 넣어둡니다.)

 

10. 테마 2- 시스템 파일 변경.
UxTheme 패치: https://windowsforum.kr/?mid=lecture&page=36&document_srl=59706
- 패치를 실행하면 System32 폴더에 생성되는  themeservice.dll, themeui.dll, uxtheme.dll 파일을 복사해서 F:\Windows\System32 폴더에  있는 파일과 바꾸어 줍니다.

로그온 배경화면 변경 : https://snoopybox.co.kr/906
시작 버튼 변경: https://www.sevenforums.com/tutorials/23024-start-menu-button-change.html
Windows 7 테마에서, 폰트 변경하기: https://windowsforum.kr/?mid=lecture&page=17&document_srl=864625
PE 배경화면 변경: https://www.msfn.org/board/topic/140340-win-7-replace-boot-login-shutdown-screens/
종합: https://forums.mydigitallife.info/threads/12713-Windows-7-Theme-amp-Resource-Mods
        https://www.askvg.com/list-of-windows-7-system-files-to-be-hacked-using-resource-hacker/
Tool: https://www.thewindowsclub.com/windows-themes-installer-install-windows-7-vista-themes-easily
        https://www.thewindowsclub.com/windows-7-folder-background-changer-released
      
11. 기타
바탕화면: F:\Users\Public\Desktop
시작- 모든 프로그램: F:\ProgramData\Microsoft\Windows\Start Menu\Programs

 

파일이나 폴더를 Program Files, Windows, System32 폴더에 넣어 두고 필요한 경우 바로가기를 위 경로에 둡니다.
바로가기를 만들 때는 C: (운영체제가 부팅한 드라이브)의 해당 경로에 파일을 복사한 뒤 바로가기(.lnk)를 만든 후 우클릭-속성에서 경로를 환경변수로 바꾸어 줍니다.(DVD 부팅 설치가 아닌 윈도우즈 상에서 설치할 경우 C: 가 아닌 다른 드라이브로 잡히기 때문에)
C: -> %SystemDrive%, C:\ProgramData -> %ProgramData%, C:\Program Files -> %ProgramFiles%
C:\Program Files (x86) -> %ProgramFiles(x86)%, C:\Windows -> %SystemRoot%, C:\Users\Public -> %PUBLIC%

 

12. 이미지 캡처 & 테스트
ImageX.exe /capture /flags "ULTIMATE" F: D:\install.wim "Windows 7 ULTIMATE"
- F: 를 D:\install.wim 으로 캡춰합니다. flags는 ULTIMAT 이고 NAME은 'Windows 7 ULTIMATE'입니다.
- /flags "EditionID" : 캡처할 Windows 버전을 지정합니다.
  Windows 설치 프로그램을 사용하여 사용자 지정 Install.wim을 다시 배포하려는 경우 /flags 값이 필요합니다.
- 캡처 작업은 PE로 부팅해서 작업하는 것이 정석인 것 같습니다.(윈도우즈 상에서 작업해도 문제 되는 점은 없습니다.??)
- 작업 중간에 캡처 작업으로 백업해 두는 것이 좋습니다.

 

bcdboot F:\window /l ko-kr
- F: 에 있는 이미지를 bcd 에 등록합니다. F: 이미지로 부팅 후 작업의 결과를 확인합니다.

 

캡처한 install.wim 을 D:\DVD\sources\install.wim 과 교체합니다.

 

13. CD 이미지 만들기.
DVD/USB로 부팅할 때 구슬화면이 나타나게 하려면 D:\DVD\boot\bcd 의 locale 을 수정해 줍니다.
bcdedit.exe /store D:\DVD\boot\bcd /set {default} locale ko-KR
- 기본값은 en-US 로 되어 있습니다. boot.wim 2번 이미지 System32\en-US에는 bootres.dll.mui 가 없습니다.

 

DVD/USB 로 부팅할 때 'CD 또는 DVD에서 부팅하려면 아무 키나 누르십시오.' 표시가 나오지 않게 하려면 D:\DVD\boot\bootfix.bin 파일을 제거합니다.

 

D:\DVD\sources\ei.cfg 파일을 제거합니다. ei.cfg는 설치할 Edition 을 지정하는 파일입니다.

 

USB를 사용할 때는 부팅 가능한 USB를 만든 후, D:\DVD 폴더안의 내용물을 USB로 복사합니다.
- 부팅 가능한 USB 만들기(diskpart): https://windowsforum.kr/lecture/1596098

 

DVD를 사용할 때는 CD 이미지(.iso)를 만듭니다.
oscdimg.exe -bD:\DVD\boot\etfsboot.com -lMyWin7 -o -u2 -udfver102 D:\DVD Tweak_Win7.iso
- D:\DVD 폴더를 Tweak_Win7.iso 파일로 만듭니다. -b 부팅 섹터 파일은 D:\DVD\boot\etfsboot.com 입니다.
  -lMyWin7:  label은 MyWin7 입니다. ( -l 다음에 공백을 넣지 않습니다.)
- Oscdimg 명령줄 참조: https://technet.microsoft.com/ko-kr/library/cc749036(WS.10).aspx
iso 파일을 DVD로 굽기 툴( win7 전용): https://windowsforum.kr/?mid=data&page=168&document_srl=415038

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
862 소프트웨어| '센스부족'을 통한 인터넷 광고 막기 v110107 [6] 티티 14263 0 01-06
861 서버 / IT| [강좌]이중화기술 - 가용성과 경제성 [3] 우금티 14517 0 01-06
860 윈 도 우| 점프 리스트 목록이 날아갔을 때 해결법 [2] 김윈도 10709 0 01-05
859 소프트웨어| Windows 버전에 따른 .NET Framework 버전 [5] Lucky 7 9520 0 12-30
858 소프트웨어| .NET Framework product version Lucky 7 6060 0 12-30
857 소프트웨어| 구글 크롬 펌 방지 해제 방법 올려봅니다. [8] 찐옥수수 13358 0 12-29
856 소프트웨어| PC를 쾌적하게 사용하는 상식 13가지 [19] wmy100 12819 0 12-27
855 소프트웨어| 블루스크린 숫자별 문제점 찾기 [9] wmy100 8525 0 12-27
854 윈 도 우| 작업관리자에서 프로세스종료가 안될시에는? [6] 철부지영수 44546 0 12-27
853 윈 도 우| God Mode 만들기 [5] 적광 55465 0 12-26
852 소프트웨어| 개발자 도구 마음대로 다운받기! 드림스파크 [11] 스폰지s 8094 0 12-25
851 서버 / IT| [팁:정보_수정] 미친 알약(ALyac) [12] 우금티 14906 0 12-21
850 소프트웨어| 초보도 하는 유튜브 동영상 다운 받기 [8] gooddew 7982 0 12-19
849 소프트웨어| 광고 주소 찾는 초~~~~ 허접한 팁 [1] ever 5743 0 12-19
848 소프트웨어| 프로그램 설치 없이 구글 광고 차단하기 [7] YIU 8141 1 12-19
847 소프트웨어| 그리드 컴퓨팅 - 미확인 우주 생명체 프로젝트 [2] Native 64 8122 0 12-19
» 윈 도 우| win7 설치 이미지 사용자 지정 [21] eunnano 14031 0 12-16
845 윈 도 우| [팁] : 명령창 풀스크린 [7] 우금티 7334 0 12-16
844 소프트웨어| [초보용] MS OFFICE 2010 시디키 변경 방법 [1] gooddew 30595 0 12-15
843 하드웨어| AMD 레이드 구성시 "NCQ" 과연 효과 있을까? [13] 윈포촙오 12073 0 12-13
XE1.11.6 Layout1.4.8